A side-by-side look at the WinCtl and WpfPilot MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose WinCtl for os automation work as a local process; choose WpfPilot MCP for os automation as a local process. You can also run both side by side in one mcpServers block.
screen_list_monitors, screen_capture, screen_capture_region.wpf_capabilities, wpf_query, wpf_act.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | OS Automation | OS Automation |
| Quality signal | 49/100 · Fair | 52/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 2 |
| Directory activity | 1 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 40 | 5 |
| Full listing | View WinCtl | View WpfPilot MCP |
screen_list_monitorsDisplays with position, resolution and DPI scalescreen_captureScreenshot a monitor or the whole virtual desktopscreen_capture_regionScreenshot a rectangular regionscreen_capture_windowScreenshot one window, even if overlappedscreen_list_capturable_windowsWindows available for individual capturewindow_listVisible top-level windows with stable ids and boundswindow_get_activeThe window with keyboard focuswindow_get_desktop_infoVirtual desktop bounds and cursor positionwindow_focusRaise and focus a window, with verificationwindow_set_stateMinimize, maximize, restore, hide, showwindow_moveMove and resize (un-maximizes first)window_closeAsk a window to closewpf_capabilitiesList supported verbs, query kinds, and wait conditions.wpf_queryRead UI state.wpf_actPerform UI actions.wpf_waitWait for UI state.wpf_assertVerify UI state.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"winctl": {
"command": "npx",
"args": [
"-y",
"@sitharaj88/winctl"
]
}
}
}
{
"mcpServers": {
"wpfpilot-mcp": {
"command": "npx",
"args": [
"-y",
"@skuzadev/wpfpilot-mcp"
]
}
}
}