WpfPilot MCP logo

WpfPilot MCP

Automates Windows WPF interfaces through UI Automation, semantic selectors, actions, waits, assertions, and test generation.

Install WpfPilot MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "wpfpilot-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@skuzadev/wpfpilot-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

We couldn’t confirm it starts correctly

The install command didn't complete successfully in our automated test.

npx -y @skuzadev/wpfpilot-mcp

n of npm available! 10.1.0 -> 12.2.1 npm notice Changelog: <https://github.com/npm/cli/releases/tag/v12.2.1> npm notice Run `npm install -g npm@12.2.1` to update! npm notice npm ERR! code EBADPLATFORM npm ERR! notsup Unsupported platform for @skuzadev/wpfpilot-mcp@0.2.0: wanted {"os":"win32"} (current: {"os":"linux"}) npm ERR! notsup Valid os: win32 npm ERR! notsup Actual os: linux npm ERR! A complete log of this run can be found in: /home/user/.npm/_logs/2026-10-22T12_03_55_109Z-debug-0.log

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 6d ago.

Overview

WpfPilot MCP MCP server connects local AI coding agents to Windows WPF applications through MCP stdio and UI Automation. It can inspect semantic UI trees, query state, perform actions, wait for conditions, assert results, capture screenshots, and record workflows for xUnit plus FlaUI test generation. Reach for it when testing or diagnosing a WPF desktop application without relying on screen coordinates. An optional in-process probe adds access to ViewModel, binding, command, validation, and dispatcher diagnostics.

Use cases

  • Inspect a running WPF application's UI tree
  • Automate semantic control interactions in desktop tests
  • Verify UI state after actions
  • Record workflows and generate FlaUI tests
  • Diagnose WPF bindings and ViewModels with the probe

Key features

  • Semantic UI Automation selectors
  • WPF UI queries and state inspection
  • Click, type, select, toggle, and drag actions
  • Wait and assertion tools
  • Workflow recording and xUnit plus FlaUI generation
  • Optional in-process WPF diagnostics probe

Tools5

What WpfPilot MCP lets your agent do. Expand a tool for its parameters.

Self-reported~43 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

8/8 checks healthy over the last 44d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 15d ago via OSV.dev · @skuzadev/wpfpilot-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars2Stargazers on the source repository.
npm downloads98Package downloads in the last 30 days.
Last commit4mo agoMost recent push to the default branch.
Install checkInconclusiveInstall command did not finish in our automated test.
Tools exposed5Callable tools this server registers over MCP.
Directory activity3 viewsConfig copies, upvotes, and views on AllMCPs.

How WpfPilot MCP works

What WpfPilot MCP MCP server does

WpfPilot MCP MCP server lets an MCP-compatible coding agent work with a running or launchable Windows WPF application. It uses Windows UI Automation and semantic selectors, so interactions can target controls and their accessible properties rather than fixed screen coordinates. This makes it suitable for local UI testing, workflow exploration, and diagnosing behavior in desktop applications.

The server can expose the application’s UI structure and state, including text, values, control state, bounds, patterns, child and ancestor relationships, sibling relationships, and selection. It also supports screenshots, workflow recording, and generation of xUnit tests that use FlaUI. The optional probe operates inside the target WPF process and can provide information that ordinary UI Automation does not expose, such as binding, ViewModel, command, validation, and dispatcher details.

How it works

Communication uses MCP over stdio. An MCP client starts the launcher, which downloads the latest Windows release binary on its first run and proxies stdio to that binary. The server then discovers or attaches to a WPF process and exposes structured tools for reading and changing its UI.

The five documented core tools divide responsibilities clearly:

  • wpf_capabilities reports available action verbs, query types, and wait conditions.
  • wpf_query reads UI state and relationships.
  • wpf_act performs operations such as clicking, setting values, selecting, toggling, expanding, collapsing, scrolling, and drag-and-drop.
  • wpf_wait waits for a specified UI condition.
  • wpf_assert checks UI state and returns structured errors when verification fails.

WpfPilot MCP MCP server is intended for local development and test automation. Mutating UI operations are audited under the user’s local application-data folder, and the process runs with the user account that starts it.

Setup and configuration

The supported platform is Windows 10 or Windows 11, with a WPF application available to automate. Node.js 18 or newer is needed when using the recommended npx launcher; the release binary and npm launcher do not require the .NET SDK.

A standard MCP configuration runs npx -y @skuzadev/wpfpilot-mcp as a stdio server. The same configuration pattern is documented for Claude Desktop, Cursor, Codex, Claude Code, and VS Code, with client-specific configuration locations or commands. After connecting, a useful first request is to list the WpfPilot tools and attach to a running WPF application.

The optional probe requires explicit installation in the target application. The application must call ProbeHost.Start(), after which the agent can use the probe connection and status operations described by the project documentation.

Tools and capabilities

WpfPilot MCP MCP server supports semantic inspection and interaction rather than coordinate-based automation. Queries can examine controls, values, text, state, patterns, hierarchy, bounds, and selection. Actions cover common WPF control operations and include drag-and-drop. Wait and assertion tools let an agent synchronize with UI changes and verify outcomes using structured results.

Beyond direct interaction, the project supports capturing screenshots, recording workflows, and producing xUnit plus FlaUI test code. The probe is useful when a visible UI symptom needs application-level context, including binding failures or command and validation information.

Limitations and notes

The server is Windows-specific and requires a WPF application. Attachment depends on the application running in the same user session and at a compatible privilege level; an administrator-run application may require the MCP client to run elevated as well.

The probe is not enabled automatically. It must be installed in the target application and configured to start there. The server does not provide general shell, registry, or arbitrary filesystem tools through MCP. Review and trust the local server code before enabling it in an agent, particularly because it can interact with UI visible to the current user account.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about WpfPilot MCP

WpfPilot MCP is an MCP server that connects AI coding agents to Windows WPF applications through local stdio, using UI Automation to inspect and manipulate interfaces. Its main tools are wpf_capabilities, wpf_query, wpf_act, wpf_wait, and wpf_assert for discovery, reading, actions, waiting, and verification.

Install it by configuring your MCP client to run `npx -y @skuzadev/wpfpilot-mcp` over stdio. Node.js 18 or newer is required for this launcher, which downloads the latest Windows release binary on its first run.

Yes, WpfPilot MCP works with Cursor through a stdio entry in Cursor’s MCP configuration. The documented command is `npx` with `-y @skuzadev/wpfpilot-mcp` as arguments, and the repository also describes adding it from Cursor Settings.

Ask the connected MCP client to list the WpfPilot tools and attach to the running WPF application. The target must run in the same Windows user session and at a compatible privilege level; administrator-run apps may require an elevated client.

Yes, it can inspect bindings and ViewModels through the optional in-process probe. The target WPF application must explicitly install and start the probe with `ProbeHost.Start()`, after which probe status and connection operations can be used.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewWpfPilot MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/wpfpilot-mcp?style=directory)](https://allmcps.com/mcp/wpfpilot-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/wpfpilot-mcp"><img src="https://allmcps.com/api/badge/wpfpilot-mcp?style=directory" alt="WpfPilot MCP on AllMCPs" /></a>