Rhombus.WinFormsMcp 1.5.12

dotnet add package Rhombus.WinFormsMcp --version 1.5.12
                    
NuGet\Install-Package Rhombus.WinFormsMcp -Version 1.5.12
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Rhombus.WinFormsMcp" Version="1.5.12" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Rhombus.WinFormsMcp" Version="1.5.12" />
                    
Directory.Packages.props
<PackageReference Include="Rhombus.WinFormsMcp" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Rhombus.WinFormsMcp --version 1.5.12
                    
#r "nuget: Rhombus.WinFormsMcp, 1.5.12"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Rhombus.WinFormsMcp@1.5.12
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Rhombus.WinFormsMcp&version=1.5.12
                    
Install as a Cake Addin
#tool nuget:?package=Rhombus.WinFormsMcp&version=1.5.12
                    
Install as a Cake Tool

<p align="center"> <h1 align="center">Rhombus.WinFormsMcp</h1> <p align="center"><strong>Give AI agents eyes and hands for Windows Forms apps</strong></p> </p>

<p align="center"> <a href="https://github.com/fnrhombus/winforms-mcp/actions/workflows/ci.yml"><img src="https://github.com/fnrhombus/winforms-mcp/actions/workflows/ci.yml/badge.svg" alt="CI Status"></a> <a href="https://www.nuget.org/packages/Rhombus.WinFormsMcp"><img src="https://img.shields.io/nuget/v/Rhombus.WinFormsMcp" alt="NuGet Version"></a> <a href="https://www.npmjs.com/package/@fnrhombus/winforms-mcp"><img src="https://img.shields.io/npm/v/@fnrhombus/winforms-mcp" alt="NPM Version"></a> <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a> </p>

<p align="center"> An <a href="https://modelcontextprotocol.io">MCP server</a> that lets Claude (and any MCP-compatible agent) launch, automate, screenshot, and preview WinForms applications — without touching a mouse. </p>


The problem

You're building a WinForms app with an AI coding agent. The agent can read and write your code, but it's blind — it can't see what the form looks like, can't click a button to test a workflow, and can't tell if the UI it just generated actually renders correctly.

The fix

One line in your MCP config. Now the agent can:

See forms without building render_form gives the agent a designer — the exact same rendering pipeline Visual Studio uses. Edit, re-render, iterate with no build and no human in the loop
Drive running apps Launch processes, find elements by name/type/ID, click, type, drag-drop, take screenshots
Work in the background Headless mode runs apps on a hidden desktop — zero focus stealing, zero disruption
Target any framework .NET Framework 4.x, .NET Core 3.x, .NET 5–9+. Auto-detected from your .csproj

Quick start

Claude Code plugin (easiest):

/plugin marketplace add fnrhombus/claude-plugins
/plugin install winforms-mcp@claude-plugins

MCP config with npx (requires Node.js):

{
  "mcpServers": {
    "winforms-mcp": {
      "command": "npx",
      "args": ["-y", "@fnrhombus/winforms-mcp"]
    }
  }
}

Standalone (no Node required) — download the zip from Releases, extract it, and point to the exe:

{
  "mcpServers": {
    "winforms-mcp": {
      "command": "C:/path/to/winformsmcp/winformsmcp.exe"
    }
  }
}

Note: Keep the extracted folder structure intact — render_form needs the rendererhost/ subdirectory alongside the exe.

That's it. The agent can now see and interact with any WinForms application on your machine.

Tools

Category Tools Description
Process launch_app attach_to_process close_app get_process_status Start, attach to, and manage Windows processes
Discovery find_element element_exists wait_for_element get_element_tree Locate UI elements by AutomationId, name, class, or control type
Interaction click_element type_text set_value select_item click_menu_item drag_drop send_keys Click buttons, fill text boxes, select combo items, navigate menus
Visual take_screenshot render_form Capture running apps or render .Designer.cs to PNG

Cross-framework rendering

render_form detects your project's target framework and dispatches to a matching out-of-process host — the same rendering pipeline Visual Studio uses, so custom controls and third-party components resolve correctly.

Your project targets Renderer host
.NET Framework 4.0–4.8.x net48
.NET Core 3.x netcoreapp3.1
.NET 5, 6, 7, 8, 9+ net8.0-windows

Framework-specific APIs resolve correctly too. Override with the TFM environment variable if needed.

Headless mode

Set HEADLESS=true to launch apps on a hidden Windows desktop (CreateDesktop API):

  • Zero focus stealing — apps can't steal focus, show TopMost windows, or flash in the taskbar
  • Full automation — element discovery, clicking, typing, and screenshots all work through UIA patterns and PrintWindow
  • Mixed mode — headless and visible apps in the same session, each automatically routed to its correct desktop
{
  "mcpServers": {
    "winforms-mcp": {
      "command": "npx",
      "args": ["-y", "@fnrhombus/winforms-mcp"],
      "env": { "HEADLESS": "true" }
    }
  }
}

Note: send_keys and drag_drop require input simulation and only work on the visible desktop. Use type_text/set_value and click_element for headless processes.

Environment variables

Variable Default Description
HEADLESS false Run launched apps on a hidden desktop
TFM auto Lock rendering to a specific framework (net48, netcoreapp3.1, net8.0-windows)
TELEMETRY_OPTOUT false Disable all Application Insights telemetry (matches .NET CLI conventions)

Documentation

  • Examples — common workflows and patterns
  • Headless Mode — hidden desktop architecture and tool compatibility

Contributing

Contributions welcome — see issues for open items. Git hooks for commit validation and code formatting are configured automatically on first build.

Support

If you find this project useful, consider supporting its development:

Your support helps maintain and improve this project!

License

MIT

Product Compatible and additional computed target framework versions.
.NET net8.0-windows7.0 is compatible.  net9.0-windows 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.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.5.12 106 4/13/2026
1.5.12-beta 89 4/13/2026
1.5.11 91 4/13/2026
1.5.11-beta 89 4/13/2026
1.5.10-beta 92 4/13/2026
1.5.9 100 4/13/2026
1.5.9-beta 93 4/13/2026
1.5.8 113 4/12/2026
1.5.8-beta 100 4/12/2026
1.5.7-beta 93 4/12/2026
1.5.6 95 4/12/2026
1.5.6-beta 92 4/12/2026
1.5.5-beta 101 4/12/2026
1.5.4-beta 95 4/12/2026
1.5.3 100 4/12/2026
1.5.3-beta 97 4/12/2026
1.5.2-beta 91 4/12/2026
1.5.1-beta 89 4/12/2026
1.5.0 104 4/12/2026
1.5.0-beta 93 4/12/2026
Loading failed