A side-by-side look at the WPFVisualTreeMcp and Native DevTools MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose WPFVisualTreeMcp for os automation work; choose Native DevTools for os automation as a local process. You can also run both side by side in one mcpServers block.
wpf_list_processes, wpf_attach, wpf_get_visual_tree.android_list_devices, android_connect, android_disconnect.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | OS Automation | OS Automation |
| Quality signal | 56/100 · Good | 61/100 · Good |
| Install command | Not confirmed yet | Confirmed |
| Transport | — | Local subprocess (stdio) |
| Auth | No auth required | Not declared |
| Pricing | Free | Not declared |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 20 | 139 |
| Directory activity | 4 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 35 | 13 |
| Full listing | View WPFVisualTreeMcp | View Native DevTools |
wpf_list_processesList all running WPF applicationswpf_attachAttach to a WPF application (supports `auto_inject` for DLL injection)wpf_get_visual_treeGet the visual tree hierarchy (default depth: 25, max: 100)wpf_get_element_propertiesGet all dependency properties of an elementwpf_find_elementsQuery elements by type, x:Name, **visible text**, property values and visibility; results include text, automation id, enabled/visible state and screen boundswpf_find_elements_deepSame query filters without result limit, across all windows including adorners/popupswpf_capture_screenshotCapture a screenshot of the window or element (returns image); `mode='screen'` includes popups and menus; `full_content=true` with render mode captures scrollable contentwpf_reportAggregate current binding/validation errors, UI state counts and recent binding traces, with explicit scan limits and coveragewpf_recordStart, stop, inspect or clear a workflow recording with stable selectorswpf_assertAssert a dependency-property value; successful assertions are included in active recordingswpf_replayReplay a workflow against a fresh app, stopping at the first failed stepwpf_export_testExport a stopped recording as a runnable xUnit project or workflow JSONandroid_list_devicesList all ADB-connected devices (always available)android_connectConnect to a device by serial number (always available)android_disconnectDisconnect from the current deviceandroid_screenshotCapture the device screenandroid_find_textFind UI elements by text (via uiautomator)android_clickTap at screen coordinatesandroid_swipeSwipe between two pointsandroid_type_textType text on the deviceandroid_press_keyPress a key (e.g., `KEYCODE_HOME`, `KEYCODE_BACK`)android_launch_appLaunch an app by package nameandroid_list_appsList installed packagesandroid_get_display_infoGet screen resolution and densityPaste 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.
No confirmed install command for WPFVisualTreeMcp yet — follow the setup steps linked from its listing page rather than a guessed package name.
{
"mcpServers": {
"native-devtools": {
"command": "npx",
"args": [
"-y",
"native-devtools-mcp"
]
}
}
}