Server facts
MCP Server for WinDbg Crash Analysis
Project
- Author
- svnscha
- Repository
- github.com/svnscha/mcp-windbg
- License
- MIT
- Category
- Security & Reverse Engineering
Tech
- Runtime / language
- pythonPython
- Transports
- stdio
- Remote available
- No
- Authentication
- Not specified
Activity
- GitHub stars
- 1,620
- Last commit
- Data as of
Tags
- Crash Analysis
- Python
- Remote Debugging
- Windbg
- Windows
Overview
MCP Server for WinDbg Crash Analysis bridges assistants to Microsoft's CDB debugger for Windows crash dumps and remote debugging targets. It is a Python wrapper that lets a model request debugger actions and interpret their output, not an automatic repair engine. Developers can ask for stack analysis, exception investigation, or thread-state interpretation while retaining access to specific WinDbg commands when deeper inspection is needed.
The tool surface covers finding dump files, opening and closing dump sessions, connecting and disconnecting remote sessions, executing commands, and interrupting a running target. Directory-oriented workflows support investigating several dumps for recurring patterns. These operations make the integration useful for both postmortem analysis and live debugging. Symbol paths, debugger executable location, command timeouts, and logging can be configured to fit the local debugging environment. The README includes setups for VS Code with Copilot and for Claude Code, while describing compatibility with other MCP clients.
Running the server requires Windows, Python 3.10 or later, and Microsoft's debugging tools or Store-installed WinDbg. Stdio is the default transport; streamable HTTP is available for network clients. An optional Python filter script can rewrite tool input and output text, for example to redact personal information, without handling the full protocol envelope. Because that script executes inside the server process, the README says it must be trusted. Enterprise users are also advised to check organizational rules before exposing debugging information to AI tooling.
Install & configure
Requirements
- Windows
- Python 3.10 or newer
- Debugging Tools for Windows or Microsoft Store WinDbg
- mcp-windbg package installed
- An MCP-compatible client
python -m mcp_windbgInstall with pip install mcp-windbg before using this documented client launch. Configure symbols for your environment. Streamable HTTP is a separate option; only trusted Python scripts should be supplied as text filters.
Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"mcp-windbg": {
"command": "python",
"args": [
"-m",
"mcp_windbg"
],
"env": {
"_NT_SYMBOL_PATH": "<debugger symbol search path>"
}
}
}
}Config file · Project: .cursor/mcp.json
User: ~/.cursor/mcp.json
The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"mcp-windbg": {
"command": "python",
"args": [
"-m",
"mcp_windbg"
],
"env": {
"_NT_SYMBOL_PATH": "<debugger symbol search path>"
}
}
}
}Config file · Workspace: .vscode/mcp.json
For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.
{
"servers": {
"mcp-windbg": {
"type": "stdio",
"command": "python",
"args": [
"-m",
"mcp_windbg"
],
"env": {
"_NT_SYMBOL_PATH": "<debugger symbol search path>"
}
}
}
}Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json
Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json
Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"mcp-windbg": {
"command": "python",
"args": [
"-m",
"mcp_windbg"
],
"env": {
"_NT_SYMBOL_PATH": "<debugger symbol search path>"
}
}
}
}Config file · Project scope: .mcp.json at the repository root
The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"mcp-windbg": {
"type": "stdio",
"command": "python",
"args": [
"-m",
"mcp_windbg"
],
"env": {
"_NT_SYMBOL_PATH": "<debugger symbol search path>"
}
}
}
}Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Tools
Source: repository README. Tool descriptions are a documented snapshot, not a live capability check.
| Tool | What it does |
|---|---|
| list_windbg_dumps | Find crash dump files for individual or batch investigation. |
| open_windbg_dump | Open a crash dump for debugger analysis. |
| close_windbg_dump | Release an active dump-analysis session. |
| open_windbg_remote | Connect the debugger to a remote live target. |
| close_windbg_remote | Disconnect and clean up a remote debugging session. |
| run_windbg_cmd | Execute a WinDbg command during an investigation. |
| send_ctrl_break | Interrupt a running debugging target for inspection. |
Names, permissions, and defaults can change. Check the current upstream documentation before granting access.
Use cases
- Interpret exception context and call stacks from a Windows crash dump.
- Compare several dumps for recurring failure patterns.
- Connect to a remote debugging target and inspect threads.
- Apply trusted text filters before passing debugger content to an assistant.
Strengths
- Supports both dump analysis and live remote debugging.
- Retains direct WinDbg command execution for detailed investigation.
- Offers stdio, streamable HTTP, and optional text-filter hooks.
Limitations
- Requires Windows and Microsoft's debugging tools.
- Assists investigation rather than automatically fixing crashes.
- Filter scripts execute in-process and must be trusted.
Frequently asked questions
Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.