Cursor, VS Code, and Visual Studio Setup
Install WPF DevTools with 5-Minute Setup, then copy the generated editor JSON for the client you use.
Generated artifacts
<InstallRoot>\<arch>\client-registration\cursor.global.json
<InstallRoot>\<arch>\client-registration\cursor.project.json
<InstallRoot>\<arch>\client-registration\vscode.json
<InstallRoot>\<arch>\client-registration\visual-studio.json
Cursor uses mcpServers:
{
"mcpServers": {
"wpf-devtools": {
"type": "stdio",
"command": "C:\\Users\\<you>\\AppData\\Roaming\\WpfDevToolsMcp\\<arch>\\current\\bin\\wpf-devtools-<arch>.exe",
"args": []
}
}
}
VS Code and Visual Studio use servers:
{
"servers": {
"wpf-devtools": {
"type": "stdio",
"command": "C:\\Users\\<you>\\AppData\\Roaming\\WpfDevToolsMcp\\<arch>\\current\\bin\\wpf-devtools-<arch>.exe",
"args": []
}
}
}
Use the generated artifacts as the source of truth instead of the sample paths.
Verify
Set the reviewed target allowlist before starting the editor client:
$env:WPFDEVTOOLS_MCP_ALLOWED_TARGETS = 'C:\Path\To\YourApp.exe'
First workflow:
connectget_active_processget_ui_summary(depthMode: "semantic")- a focused diagnostic from
navigation.recommended
Notes
- Cursor global and project registrations can coexist, but keep only one active
wpf-devtoolsentry per scope. - Cursor project registration maps to
.cursor\mcp.json; usecursor.project.jsonas the generated source. - Re-register after changing architecture.
- Keep editor wrappers from writing to stdout.