Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Bewertungen und Benutzerkonten folgen in einem späteren Schritt.
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

Netwright

von ricfaninVersion 2.1.0i★ –iLäuft auf deinem Computer
Name in der Registryio.github.ricfanin/netwright

Installieren

Überblick

Beschreibung vom Entwickler (englisches Original)

Playwright-style automation of .NET desktop apps (WPF, WinForms, WinUI) for AI agents.

Die drei Säulen von PopNx MCP

Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.

Was du damit machen kannst

Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.

  • Verbindung: Läuft auf deinem Computer
  • Transport: stdio
  • Kategorie: Web & Browser

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

Bevor du installierst

  • Basischecks: 1 von 1 bestanden
  • Läuft auf deinem Computer mit den Rechten deines Benutzerkontos (Dateien, Netzwerk, Apps).
  • Das trägst du selbst ein: NETWRIGHT_ALLOW

Welche App nutzt du?

Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.

Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein

{
  "mcpServers": {
    "netwright": {
      "command": "dnx",
      "args": [
        "Netwright",
        "--yes"
      ],
      "env": {
        "NETWRIGHT_ALLOW": "your-value"
      }
    }
  }
}

Führe das in deinem Terminal aus

claude mcp add netwright --env NETWRIGHT_ALLOW=your-value -- dnx Netwright --yes

Trag die leeren Werte ein, bevor du ihn startest.

In Cursor öffnen

Oder kopier die Einstellungen selbst

In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen

{
  "mcpServers": {
    "netwright": {
      "command": "dnx",
      "args": [
        "Netwright",
        "--yes"
      ],
      "env": {
        "NETWRIGHT_ALLOW": "your-value"
      }
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

In VS Code öffnen

Oder kopier die Einstellungen selbst

In .vscode/mcp.json in deinem Projekt einfügen

{
  "servers": {
    "netwright": {
      "type": "stdio",
      "command": "dnx",
      "args": [
        "Netwright",
        "--yes"
      ],
      "env": {
        "NETWRIGHT_ALLOW": "your-value"
      }
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.

Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.

Werte, die du selbst einträgst

  • NETWRIGHT_ALLOW env
    Optional ';'-separated wildcard patterns of apps the agent may launch or attach to.

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Was er kann

Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 6. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde mit dem GitHub-Konto ricfanin bestätigt, dem das Repo gehört

  • … Noch nicht geprüft

    Wird noch gepflegt

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • … Noch nicht geprüft

    Hat eine Lizenz

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • – Nicht zutreffend

    Endpunkt antwortet

    Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet

  • – Nicht zutreffend

    Anmeldung mit OAuth

    Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen

  • … Noch nicht geprüft

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen

Im Vergleich mit anderen in Web & Browseri

  • Mehr Sterne als 0 % der anderen 878 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 56 % der anderen 878 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 878 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist Netwright sicher?

Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.

Läuft er auf meinem Computer oder in der Cloud?

Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (2.1.0) kam vor 28 Tagen in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du .NET auf deinem Computer.

Was kann ich stattdessen nutzen?

In derselben Kategorie: Browser Use, Chrome DevTools MCP, MCP Server Browser

Alternativen

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

Browser Use

von browser-use

Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.

Computer oder Cloud★ 120.087MITAktualisiert vor 17 Tagen
Installieren

Chrome DevTools MCP

von ChromeDevTools

MCP server for Chrome DevTools

Läuft auf deinem Computer★ 54.821Apache-2.0Aktualisiert vor 15 Tagen
Installieren

MCP Server Browser

von bytedance

MCP server for browser use access

Läuft auf deinem Computer★ 39.550Apache-2.0Aktualisiert vor 14 Monaten
Installieren

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

Netwright

Playwright-style automation for .NET desktop apps. Netwright is an MCP server that lets AI agents see and operate WPF, WinForms and WinUI apps: they launch your project, read the UI as compact text, act without stealing your mouse, verify the result, and turn the verified flow into a regression test.

▶ Watch it with sound

Formerly WPF-MCP. Version 2.0 is a rewrite; see Migrating from WPF-MCP 1.x.

> desktop_app action=launch project=src/Orders/Orders.csproj

Launched Orders.exe (pid 9120, WPF, launched by Netwright)

  • window "Orders" [e1]

desktop_snapshot

  • window "Orders" [e1]
  • textbox "Customer" [e4] #txtCustomer
  • combobox "Country" [e5] #cmbCountry collapsed
  • checkbox "Accept terms" [e6] #chkTerms unchecked
  • button "Save" [e7] #btnSave disabled

desktop_set_state target=#chkTerms checked=true

checked checkbox "Accept terms" [e6] #chkTerms ~ checkbox "Accept terms" [e6] #chkTerms checked ~ button "Save" [e7] #btnSave

desktop_click target=#btnSave

clicked button "Save" [e7] #btnSave

  • window "Confirm" [e9] modal
  • text "Save order 42?"
  • button "Yes" [e10]

Why Netwright

  • Made for .NET apps. Works with WPF, WinForms (.NET and .NET Framework 4.x) and WinUI/MAUI through UI Automation. It launches straight from a .csproj, captures stdout/stderr and Trace output, and reports crashes with the exception and stack trace.
  • Cheap in tokens.
  • Snapshots are filtered to what an agent needs: unnamed layout panes are collapsed, and grids are summarized row by row.
  • Actions answer with a Change Report of what appeared, disappeared or changed, so the agent rarely needs another snapshot.
  • Refs (e12) stay valid across snapshots.
  • Stays out of your way. Actions run in the background: in apps Netwright launches, a small companion performs them inside the app, so it never takes the foreground and bound fields commit like a real edit. You keep working while the agent tests. Key presses and right-clicks are explicit, briefly take focus, and give it back.
  • Reliable by default.
  • Every action waits until its target is enabled and on screen.
  • It then waits for the UI to settle, so async screens don't need sleeps.
  • Failures come back as error codes with a hint about what to do next.
  • From exploration to regression tests. desktop_expect verifies state, and desktop_export_test turns the session into a C# test on Netwright.Testing (xUnit, NUnit or MSTest).

Benchmark

Same scenarios, same Fixture App, same token encoding for every server (full methodology and all numbers in benchmarks/results):

WPF Fixture App, median of 5 runsWPF-MCP 1.0FlaUI-MCPWindows-MCPNetwright 2.0
Tool definitions, sent every turn (tokens)2,023 (24 tools)1,418 (12)3,984 (20)1,387 (15)
Snapshot of a form (tokens)1,0237851,956¹385
Snapshot of a 1000-row grid (tokens)3,9886,2341,897¹627
Fill and submit a form: calls / tokens10 / 2,46310 / 3,469–²6 / 549
Same form on WinForms: success0/50/5–²5/5
Wait for an async load: calls / tokens5 / 3,3375 / 2,484–²3 / 405
Screenshot (tokens)25,0731,0001,9441,020
WinForms grid with 1000 non-virtualized rows: snapshot time9.2 s12.9 s0.3 s¹1.5 s

¹ Windows-MCP summarizes the whole desktop instead of the app's UI tree; its grid snapshot does not include the rows. ² Its actions work at screen coordinates with the real mouse, so scripted flows were not run.

Tokens are counted with o200k_base as a proxy for Claude's tokenizer. Netwright's actions are slower per call: the form flow takes ~1.8 s against ~0.6 s, because each action waits for the UI to settle. In exchange the response already contains the result, so the agent needs fewer calls and far fewer tokens.

Install

Requires Windows 10/11 and the .NET 10 SDK. Your apps can target any .NET or .NET Framework version.

Claude Code

claude mcp add netwright -- dnx Netwright --yes

Any MCP client (Claude Desktop, Cursor, VS Code, Copilot…)

{

"mcpServers": { "netwright": { "command": "dnx", "args": ["Netwright", "--yes"] } } }

Prefer a global tool? Run dotnet tool install -g Netwright and use "command": "netwright". To restrict which apps an agent may touch, add "--", "--allow", "MyApp*" to the args. See the Integration Guide for all options.

Tools

ToolWhat it does
desktop_appLaunch an .exe or build and launch a project, attach, close, status
desktop_snapshotThe UI as compact text with Refs
desktop_findElements matching a Selector (#id, role "name", a >> b)
desktop_inspectProperties, patterns and a stable Selector of one element
desktop_clickClick (background; right/double click with foreground)
desktop_typeSet text (background) or type real keys
desktop_set_stateCheck, select, expand, set a value, or pick an item by name
desktop_press_keyKey presses and shortcuts (foreground)
desktop_scrollScroll by direction, to an edge, or into view
desktop_windowList, activate, minimize, maximize, restore, close windows
desktop_screenshotImage of a window or element, even when covered
desktop_waitWait for an element state or for text; reports what changed
desktop_expectRetrying assertions: text, value, enabled, checked, count…
desktop_logsApp output: stdout, stderr, debug/trace
desktop_export_testTurn the session into a C# regression test

Full reference: docs/TOOLS_REFERENCE.md.

Supported UI technologies

TierTechnologyWhat that means
1WPF, WinForms (.NET 6+ and .NET Framework 4.x)A Fixture App, integration tests on every change, benchmarked
2WinUI 3, .NET MAUI on WindowsA Fixture App and integration tests
3Avalonia, Uno PlatformBest effort through UI Automation

Other Windows apps (Win32, Qt, Electron…) often work because Netwright speaks plain UI Automation, but they are not supported.

Automation works best when your app sets AutomationProperties.AutomationId (WPF/WinUI) or Name (WinForms) on the controls you care about. See Making your app automation-friendly.

Regression tests without an agent

[Fact]

public async Task Saving_an_order_asks_for_confirmation() { await using var app = await DesktopApp.LaunchProjectAsync(@"..\..\..\..\src\Orders\Orders.csproj");

await app.TypeAsync("#txtCustomer", "Rossi"); await app.CheckAsync("#chkTerms"); await app.ClickAsync("#btnSave");

await app.Expect("window \"Confirm\"").ToBeVisibleAsync(); }

dotnet add package Netwright.Testing. This is the code desktop_export_test writes for you.

How it works

Netwright captures each window with one cached UI Automation query. Windows are found with Win32, only about 20 properties are requested, and offscreen elements are filtered inside the provider. From that capture it renders filtered text, resolves Selectors in memory, and diffs trees by RuntimeId to build Change Reports. Details and measurements: docs/ARCHITECTURE.md. Vocabulary: CONTEXT.md. Decisions: docs/adr.

Migrating from WPF-MCP 1.x

1.x2.0
wpf_launch_application, wpf_attach_application, wpf_close_application`desktop_app action=launch\attach\close`
wpf_snapshot (refs reset on every snapshot)desktop_snapshot (refs are stable)
wpf_find_element, wpf_get_element_propertiesdesktop_find, desktop_inspect
wpf_click, wpf_typedesktop_click, desktop_type; both accept a Ref or a Selector
wpf_set_value, wpf_toggle, wpf_select, wpf_expand_collapsedesktop_set_state (value, checked, item, expanded)
wpf_press_keydesktop_press_key foreground=true
wpf_scroll, wpf_scroll_into_view, wpf_focusdesktop_scroll (direction, to, into_view)
wpf_list_windows, wpf_switch_window, wpf_window_actiondesktop_window
wpf_take_screenshot (base64 text)desktop_screenshot (image content)
wpf_wait_fordesktop_wait (also waits for text)
wpf_console_messagesdesktop_logs
wpf_set_background_modeBackground is the default; pass foreground=true per call when needed
JSON envelopes (success, data, metadata)Compact text; errors are isError results with code and hint

The package is now Netwright (command netwright), replacing WpfMcp.Server (wpf-mcp).

Contributing

Issues and PRs are welcome. See CONTRIBUTING.md. Build and test with .\scripts\build.ps1 -Integration, and measure with .\scripts\benchmark.ps1.

License

MIT

PopNx fragen