MkDevForge.WpfPilot 0.1.0-preview.17

Suggested Alternatives

MkDevForge.WpfToolsMcp

Additional Details

Renamed

This is a prerelease version of MkDevForge.WpfPilot.
dotnet tool install --global MkDevForge.WpfPilot --version 0.1.0-preview.17
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local MkDevForge.WpfPilot --version 0.1.0-preview.17
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=MkDevForge.WpfPilot&version=0.1.0-preview.17&prerelease
                    
nuke :add-package MkDevForge.WpfPilot --version 0.1.0-preview.17
                    

WpfPilot

WpfPilot is an MCP server that gives AI assistants the ability to inspect and control running WPF applications.

  • Interaction (out-of-process): FlaUI (UIA3)
  • Deep WPF inspection (in-process): an injected agent powered by Snoop

Install (dotnet tool)

dotnet tool install -g MkDevForge.WpfPilot --version 0.1.0-preview.15
dotnet tool update -g MkDevForge.WpfPilot --version 0.1.0-preview.15

Run

wpfpilot

The server speaks MCP over stdio.

Debugging tools

  • list_displays: list connected displays and virtual screen bounds (helps with multi-monitor coordinate debugging).
  • trace_start / trace_stop: record MCP tool timings and write a JSON trace file (defaults to %TEMP%).
  • performance_start / performance_stop: lightweight UI-thread latency sampling.
  • set_window_bounds / set_window_state: resize/restore windows (useful for deterministic screenshots).
  • take_screenshot: supports optional annotation (rect/label) for debugging.

MCP client config

Example (generic MCP config):

{
  "mcpServers": {
    "wpfpilot": {
      "command": "wpfpilot"
    }
  }
}

Notes / limitations

  • Windows only.
  • inject_agent requires the target process to be running as the same user and not elevated above the server.
  • ARM64 target processes are not supported for injection (x86/x64 only).
  • Custom controls that do not expose meaningful UIA peers/patterns may not be interactable via UI Automation.
  • Multi-monitor setups are supported; tool coordinates are in virtual screen coordinates (which may be negative).

Licensing

  • WpfPilot source code is licensed under MIT (LICENSE).
  • The packaged Phase 2 payload redistributes Snoop components under Ms-PL.
  • See THIRD_PARTY_NOTICES.md and references/snoopwpf/License.txt.

Development

This repo uses a git submodule for Snoop:

  • references/snoopwpf

Build the injector payloads (required for Phase 2 injection tools):

pwsh scripts/build-snoop.ps1 -Configuration Debug
pwsh scripts/build-snoop.ps1 -Configuration Release
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.1.0-preview.17 144 2/28/2026 0.1.0-preview.17 is deprecated because it is no longer maintained.
0.1.0-preview.16 84 2/28/2026
0.1.0-preview.15 78 2/27/2026
0.1.0-preview.14 78 2/27/2026
0.1.0-preview.13 76 2/23/2026
0.1.0-preview.12 85 2/22/2026
0.1.0-preview.11 79 2/22/2026
0.1.0-preview.9 80 2/22/2026
0.1.0-preview.8 83 2/21/2026
0.1.0-preview.7 86 2/21/2026
0.1.0-preview.6 89 2/21/2026
0.1.0-preview.5 103 2/18/2026
0.1.0-preview.4 80 2/17/2026
0.1.0-preview.3 87 2/17/2026
0.1.0-preview.2 87 2/17/2026
0.1.0-preview.1 85 2/17/2026