Client configuration¶
mcp-windbg works with any MCP client. Below are ready-to-paste snippets for the common
ones. Install the server first, then point the client at it:
All snippets set _NT_SYMBOL_PATH so stack traces resolve against the Microsoft symbol
server. Adjust the path or add more locations as needed. For running from a checkout, see
Development; for uvx, see Other install methods.
Claude Code¶
Server with uvx¶
The uvx plugin is the shortest
path. It needs no pip install and no MCP configuration:
This plugin provides the eleven tools. Skills and
agents are optional separate installs.
The plugin runs the server with uvx, so it needs
uv on PATH; it pins the server version so the plugin and the
server it drives stay in step.
Symbols work out of the box: the plugin supplies the Microsoft symbol server as a default
for _NT_SYMBOL_PATH. If you already have that variable set, your value wins and the default is
ignored, so a symbol path you tuned yourself is never overwritten.
Registering the server directly¶
Register the server with claude mcp add. The -s user scope makes it available in every
project; drop it to scope the server to the current project only. Everything after -- is
the command Claude Code runs:
claude mcp add mcp-windbg -s user -e _NT_SYMBOL_PATH="SRV*C:\Symbols*https://msdl.microsoft.com/download/symbols" -- python -m mcp_windbg
Claude Code records the server in .claude.json:
{
"mcpServers": {
"mcp-windbg": {
"type": "stdio",
"command": "python",
"args": ["-m", "mcp_windbg"],
"env": {
"_NT_SYMBOL_PATH": "SRV*C:\\Symbols*https://msdl.microsoft.com/download/symbols"
}
}
}
}
Add server options such as a filter script after the command,
for example -- python -m mcp_windbg --filter-script C:\filters\pii_redaction.py. Run
claude mcp list to confirm it connected.
Skills for an existing server¶
After installing the uvx plugin or registering your server, optionally add the four workflows with the skills-only plugin:
Use /mcp-windbg-skills:analyze-dump to start. The plugin uses your existing
connection, including an HTTP service, and does not require uv or change the
server's launch command, symbol settings, or version.
Agents for an existing server¶
Ask for mcp-windbg-agents:crash-analyst to investigate a dump through your
existing connection. This agents plugin
works independently of the skills plugin and does not install a server.
Claude Desktop¶
Add to claude_desktop_config.json (at %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"mcp-windbg": {
"command": "python",
"args": ["-m", "mcp_windbg"],
"env": {
"_NT_SYMBOL_PATH": "SRV*C:\\Symbols*https://msdl.microsoft.com/download/symbols"
}
}
}
}
Restart Claude Desktop completely after saving. For background, see Connect local MCP servers.
VS Code (GitHub Copilot)¶
Create .vscode/mcp.json in your workspace, or use MCP: Open User Configuration (press
F1) to make it available everywhere:
{
"servers": {
"mcp_windbg": {
"type": "stdio",
"command": "python",
"args": ["-m", "mcp_windbg"],
"env": {
"_NT_SYMBOL_PATH": "SRV*C:\\Symbols*https://msdl.microsoft.com/download/symbols"
}
}
}
}
Then enable MCP: settings (Ctrl+,) -> search MCP -> enable Model Context Protocol in Copilot Chat, and restart VS Code.
To pass server options such as a filter script or a custom CDB
path, add them to args:
"args": ["-m", "mcp_windbg",
"--cdb-path", "C:\\Program Files (x86)\\Windows Kits\\10\\Debuggers\\x64\\cdb.exe"]
GitHub Copilot CLI¶
Edit C:\Users\{username}\.copilot\mcp-config.json. "tools": ["*"] enables all of the
server's tools:
{
"mcpServers": {
"mcp-windbg": {
"type": "local",
"command": "python",
"args": ["-m", "mcp_windbg"],
"tools": ["*"],
"env": {
"_NT_SYMBOL_PATH": "SRV*C:\\Symbols*https://msdl.microsoft.com/download/symbols"
}
}
}
}
Autohand Code¶
Autohand Code registers stdio servers with
autohand mcp add <name> <command>. Add --scope project to keep the registration in the
current workspace instead of the user profile:
Autohand has no flag for a per-server _NT_SYMBOL_PATH; the server inherits the environment
that launched Autohand. Set _NT_SYMBOL_PATH in that shell (or system-wide) before starting
Autohand so stack traces resolve.
HTTP transport¶
To run the server separately and connect over HTTP, start it with the streamable-http transport:
Then point the client at the endpoint:
This transport has no authentication, so keep it on localhost or a trusted network. See Debug from another machine for the full workflow.
Other install methods¶
The snippets above use a pip install, which is the simplest path. Two alternatives:
With uvx, which fetches and runs the server on demand with nothing installed first. Swap the
command and args of any snippet above for:
From source (development):