中文文档 | English
A Model Context Protocol (MCP) server for Windows debugging — crash dump analysis, remote debugging, and direct program debugging via CDB.
Built with Rust and Tokio for async I/O. Ships as a single executable with no runtime dependencies.
- Crash dump analysis — Open
.dmpfiles, auto-run!analyze -v, inspect threads, modules, and stack traces - Remote debugging — Connect to remote debug sessions via connection strings
- Direct program debugging — Launch executables under CDB, set breakpoints, step through code, inspect variables
- Session management — Multiple concurrent debug sessions with automatic reuse
- Configurable timeouts — Separate timeouts for initialization (symbol loading) and command execution
- Windows 10+
- Debugging Tools for Windows (provides
cdb.exe)
If CDB is not installed, you can get it via:
winget install Microsoft.WinDbgThe server auto-discovers CDB from Windows SDK default paths, WinDbg Preview (Microsoft Store), and PATH.
cargo build --releaseBinary: target/release/mcp-windbg-rs.exe
.vscode/mcp.json:
{
"servers": {
"mcp-windbg": {
"type": "stdio",
"command": "/path/to/mcp-windbg-rs.exe",
"args": [],
"env": {
"_NT_SYMBOL_PATH": "SRV*C:\\Symbols*https://msdl.microsoft.com/download/symbols"
}
}
}
}{
"mcpServers": {
"mcp-windbg-rs": {
"command": "mcp-windbg-rs",
"args": [],
"env": {
"_NT_SYMBOL_PATH": "SRV*C:\\Symbols*https://msdl.microsoft.com/download/symbols"
}
}
}
}| Variable | Description | Default |
|---|---|---|
CDB_PATH |
Custom path to cdb.exe |
Auto-discovered |
_NT_SYMBOL_PATH |
Debug symbol search path | — |
_NT_SOURCE_PATH |
Source file search path | — |
MCP_WINDBG_TIMEOUT |
Command timeout (seconds) | 30 |
MCP_WINDBG_INIT_TIMEOUT |
Init timeout for dump/symbol loading (seconds) | 120 |
MCP_WINDBG_VERBOSE |
Verbose logging (true/false) |
false |
mcp-windbg-rs [OPTIONS]
--timeout <SECONDS> Command execution timeout (default: 30)
--init-timeout <SECONDS> Initialization timeout (default: 120)
--verbose Enable verbose logging
| Tool | Description |
|---|---|
open_windbg_dump |
Open and analyze a crash dump file |
open_windbg_remote |
Connect to a remote debugging session |
launch_debug |
Launch a program under CDB for debugging |
run_windbg_cmd |
Execute any WinDbg/CDB command in a session |
close_windbg_dump |
Close a dump file session |
close_windbg_remote |
Close a remote debugging session |
close_debug |
Close a launch debug session and terminate the program |
list_windbg_dumps |
List .dmp files in a directory |
Analyze the crash dump at C:\dumps\app.dmp
Connect to tcp:Port=5005,Server=192.168.0.100 and show the current state
Launch a program, set breakpoints, step through code:
Launch C:\MyApp\app.exe for debugging
Then use run_windbg_cmd to control execution:
bp main — Set breakpoint at main
g — Continue execution
p — Step over
t — Step into
k — Stack trace
dv — View local variables
lsa . — Show source at current location
The launch_debug tool supports optional parameters:
| Parameter | Type | Description |
|---|---|---|
program_path |
string | Path to the target program (required) |
arguments |
string[] | Command line arguments |
working_directory |
string | Working directory |
symbols_path |
string | PDB symbol search path |
source_path |
string | Source file path for source-level debugging |
include_stack_trace |
boolean | Include initial stack trace |
include_modules |
boolean | Include loaded modules list |
Close the debug session for C:\MyApp\app.exe
CDB not found — Install via winget install Microsoft.WinDbg or set CDB_PATH to your cdb.exe location.
Symbols not loading — Set _NT_SYMBOL_PATH. Recommended: SRV*C:\Symbols*https://msdl.microsoft.com/download/symbols
Command timeout — Increase with --timeout 60 or MCP_WINDBG_TIMEOUT=60. Large dumps and symbol downloads may need higher MCP_WINDBG_INIT_TIMEOUT.
- mcp-windbg (Python) — Original Python implementation
- Model Context Protocol
- WinDbg Documentation