Playwright-style automation of .NET desktop apps (WPF, WinForms, WinUI) for AI agents.
MCPpedia last refreshed this data
io.github.ricfanin/netwright is an MCP server that playwright-style automation of .NET desktop apps (WPF, WinForms, WinUI) for AI agents. Its tool list has not been published yet over stdio and sse, requires no API key, and scores 41/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"netwright": {
"args": [
"Netwright",
"--yes"
],
"command": "dnx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Playwright-style automation of .NET desktop apps (WPF, WinForms, WinUI) for AI agents.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in browser / ai-ml
Open-source web scraper for AI agents with scrape, crawl, and map tools
A cross-platform desktop application for managing AI Agents and MCP Servers. 一款用于管理AI智能体与MCP服务器的跨平台桌面应用程序。
Extract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡
Search-first MCP server for JavaScript reverse engineering: 735 tools across 36 domains.
MCP Security Weekly
Get CVE alerts and security updates for io.github.ricfanin/netwright and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
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.
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]
.csproj, captures stdout/stderr and Trace output, and reports crashes with the exception and stack trace.e12) stay valid across snapshots.desktop_expect verifies state, and desktop_export_test turns the session into a C# test on Netwright.Testing (xUnit, NUnit or MSTest).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 runs | WPF-MCP 1.0 | FlaUI-MCP | Windows-MCP | Netwright 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,023 | 785 | 1,956¹ | 385 |
| Snapshot of a 1000-row grid (tokens) | 3,988 | 6,234 | 1,897¹ | 627 |
| Fill and submit a form: calls / tokens | 10 / 2,463 | 10 / 3,469 | –² | 6 / 549 |
| Same form on WinForms: success | 0/5 | 0/5 | –² | 5/5 |
| Wait for an async load: calls / tokens | 5 / 3,337 | 5 / 2,484 | –² | 3 / 405 |
| Screenshot (tokens) | 25 |