Client configuration¶
mcp-windbg works with any MCP client. Below are ready-to-paste snippets for the common
ones. They all use uvx, which fetches and runs the server on demand, so there is no
separate install step. For pip and from-source alternatives, see
Other install methods.
All snippets set _NT_SYMBOL_PATH so stack traces resolve against the Microsoft symbol
server. Adjust the path or add more locations as needed.
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": "uvx",
"args": [
"--from",
"git+https://github.com/svnscha/mcp-windbg",
"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": ["--from", "git+https://github.com/svnscha/mcp-windbg", "mcp-windbg",
"--cdb-path", "C:\\Program Files (x86)\\Windows Kits\\10\\Debuggers\\x64\\cdb.exe"]
Claude Desktop¶
Add to claude_desktop_config.json (at %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"mcp-windbg": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/svnscha/mcp-windbg",
"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.
Claude Code¶
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" -- uvx --from git+https://github.com/svnscha/mcp-windbg mcp-windbg
If you installed the package with pip or from source, run the module directly instead of
uvx:
claude mcp add mcp-windbg -s user -e _NT_SYMBOL_PATH="SRV*C:\Symbols*https://msdl.microsoft.com/download/symbols" -- python -m mcp_windbg
Either way 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.
GitHub Copilot CLI¶
Edit C:\Users\{username}\.copilot\mcp-config.json:
{
"mcpServers": {
"mcp-windbg": {
"type": "local",
"command": "uvx",
"args": [
"--from",
"git+https://github.com/svnscha/mcp-windbg",
"mcp-windbg"
],
"tools": ["*"],
"env": {
"_NT_SYMBOL_PATH": "SRV*C:\\Symbols*https://msdl.microsoft.com/download/symbols"
}
}
}
}
Use uvx, not pip, with Copilot CLI
Copilot CLI has had issues launching pip-installed MCP servers, see
copilot-cli#191. uvx is reliable.
"tools": ["*"] enables all of the server's tools.
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¶
uvx is recommended, but you can also install the package directly.
With pip:
{
"servers": {
"mcp_windbg": {
"type": "stdio",
"command": "python",
"args": ["-m", "mcp_windbg"],
"env": {
"_NT_SYMBOL_PATH": "SRV*C:\\Symbols*https://msdl.microsoft.com/download/symbols"
}
}
}
}
From source (development):