MCP Server for WinDbg Crash Analysis

io.github.svnschaPublished by GitHub account svnschav1.6.0Updated Oct 24, 2026

A Model Context Protocol server for Windows crash dump analysis using WinDbg/CDB

VerifiedSTDIODesktop onlyDeveloper ToolsSecurity & Monitoring

Overview

AI-generated overview

A local MCP server that drives WinDbg's cdb.exe and kd.exe so an assistant can analyze Windows crash dumps and debug live user-mode or kernel targets.

What you can do
List and open crash dumps in a directory, including kernel dumps, with automated triage such as !analyze -v, stacks, modules and threads, and compare many dumps at once. Attach to live user-mode remote debug servers or kernel targets over KDNET, named pipe or serial. Run arbitrary WinDbg/KD commands on an open session, break into a running target, wait for it to stop again, and close sessions. Keep several sessions open at once, each addressed by its own session id.
When to use it
Useful when you have a Windows .dmp or kernel dump and want an assistant to root-cause the exception or bugcheck, or when you need to break into a live user-mode or kernel target and inspect state in natural language. Also fits scripted triage across many dumps or driving a debugger host from another machine over HTTP.
Requirements
Windows with Debugging Tools for Windows or WinDbg from the Microsoft Store, which provide cdb.exe and kd.exe (auto-detected). Runs as a local stdio process via uvx or pip (Python 3.10 or higher), or as a signed standalone executable. Optional environment variables CDB_PATH and _NT_SYMBOL_PATH; symbol downloads default to the Microsoft symbol server, so network access may be needed.
Before you install
The server runs real debugger commands on your machine and can attach to live targets; closing a kernel session resumes the target machine. Debugger output can contain secrets or PII, so consider the optional filter script to redact data before it reaches the model. Symbol resolution may contact Microsoft's symbol server. This is an independent community project, not Microsoft's official WinDbg MCP.

Installation

In SourceWeft

  1. Open MCP Server for WinDbg Crash Analysis in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

MCP Server for WinDbg Crash Analysis

[CI] [Docs] [PyPI] [License: MIT] [Platform: Windows] [Python 3.10+]

A Model Context Protocol server that bridges AI models with WinDbg for crash dump analysis, user-mode remote debugging, and kernel debugging.

[!TIP] Looking for AI debugging built into WinDbg itself? Microsoft now ships an official WinDbg MCP, starting with WinDbg 1.2610.1001.0. You enable it in WinDbg's MCP service settings, and chat with your active debugging session from VS Code with GitHub Copilot or from the GitHub Copilot CLI. If that is what you want, start there:

This project is an independent, community-built alternative. It runs cdb.exe / kd.exe headless, so it fits when you want to use another MCP client, drive a debugger from another machine over HTTP, or script triage across many dumps without opening the WinDbg UI.

Overview

This server drives the Windows debuggers - CDB for user mode (dumps and -remote) and KD for kernel targets (-k) - so you can debug in natural language: "Show me the call stack and explain this access violation" or "Open a kernel session and tell me which driver bugchecked."

It is not a magical auto-fix. It is a Python wrapper around cdb.exe / kd.exe that lets an LLM run real debugger commands and reason about the output.

Features

  • Crash dump analysis - open a .dmp/.mdmp/.hdmp and get automated triage (!analyze -v, stacks, modules, threads) in a single call.
  • User-mode remote debugging - attach to a live cdb/WinDbg debug server (-remote) over TCP, a named pipe, or COM, and break in on demand.
  • Kernel debugging - attach to a kernel target (-k, driven by kd.exe) over KDNET, a named pipe, or serial; the server waits for the target and breaks in for you.
  • Run any WinDbg/KD command - drive an open session with arbitrary commands (kb, !process 0 0, !heap, lm, ...) described in natural language.
  • Session ids - every open returns a session id; several sessions (dumps, remote, kernel) can be open at once and are addressed independently.
  • Resilient live sessions - per-call timeouts, and a slow live command that outruns its timeout is broken into with CTRL+BREAK and the session resynchronized instead of wedging.
  • Multi-dump triage - discover and compare many dumps across a directory.
  • Text filter hooks - a --filter-script can redact PII/secrets from tool arguments and output before they leave the machine.
  • stdio or HTTP - run locally over stdio, or as a streamable-HTTP service you drive from another machine.

Use cases

You haveYou want toGuide
A .dmp from a crash or a blue screenRoot-cause it: exception or bugcheck, faulting frame, why it happenedAnalyze a crash dump
A live user-mode process (via cdb -server)Break in and inspect a hang or live stateDebug a remote target
A KD-enabled machine or VMDebug drivers, bugchecks, and boot-time issuesDebug a kernel target
A folder full of dumpsTriage the batch and find the common signatureTriage multiple dumps
A debugging host, but you work elsewhereDrive it over HTTP from another machineDebug from another machine
Dumps with secrets or PIIScrub tool output before it leaves the boxRedact sensitive data

Tools

Every open_* tool returns an opaque session_id (e.g. cdb-1a2b3c4d); pass it to the matching run_*, close_*, send_ctrl_break, and wait_for_break calls. User-mode targets (dumps and -remote) run under cdb.exe; kernel targets and kernel dumps run under kd.exe.

ToolPurpose
list_dumpsList crash dump files in a directory
open_cdb_dumpOpen and triage a crash dump
open_cdb_remoteAttach to a user-mode remote debug server (-remote)
open_kd_sessionAttach to a kernel target (-k, KDNET / named pipe / serial)
open_kd_dumpOpen and triage a kernel crash dump (MEMORY.DMP, minidump)
run_cdb_commandRun a command on a user-mode session
run_kd_commandRun a command on a kernel session
close_cdb_sessionClose a user-mode session
close_kd_sessionClose a kernel session (resumes the target machine)
send_ctrl_breakBreak into a running live session
wait_for_breakWait for a target you resumed with g to stop again

Parameters, timeouts, and the built-in triage prompts are in the tools reference.

Quick start

[!NOTE] Claude Code in enterprise environments: when managed settings define allowedMcpServers, plugin-bundled MCP servers may be silently skipped (Claude Code issue #32882). I recommend installing and registering the server manually, then optionally adding the skills or agents plugin. The server must still be permitted by your organization's MCP policy.

Prerequisites

Python is not a prerequisite in itself. Each route below states what it needs.

Install in Claude Code

Install the server plugin if needed, then optionally add skills, agents, or both:

PluginServerIncluded workflows
mcp-windbg-uvxLaunched by the plugin with uvxMCP tools only
mcp-windbg-skillsUses the uvx plugin or your own MCP connectionFour optional skills
mcp-windbg-agentsUses the uvx plugin or your own MCP connectionOptional crash-analyst agent

Server with uvx

The shortest path: two lines, no pip install, no MCP configuration to edit. Adds the eleven tools, with symbols preconfigured. Skills and agents are installed separately.

/plugin marketplace add svnscha/mcp-windbg/plugin install mcp-windbg-uvx@mcp-windbg

Needs uv, which supplies uvx: winget install astral-sh.uv. The plugin uses it to fetch the pinned server from PyPI on first use, so there is nothing else to install. See the plugin README for symbols and options.

Registering the server yourself

If you would rather not use the plugin, or you already run the package:

bash
pip install mcp-windbgclaude mcp add mcp-windbg -s user -e _NT_SYMBOL_PATH="SRV*C:\Symbols*https://msdl.microsoft.com/download/symbols" -- python -m mcp_windbg

Needs Python 3.10 or higher. Add either optional plugin below for guided workflows or an agent.

Skills for an existing server

After installing the uvx plugin or registering mcp-windbg yourself, optionally add the four skills:

text
/plugin marketplace add svnscha/mcp-windbg/plugin install mcp-windbg-skills@mcp-windbg

Invoke /mcp-windbg-skills:analyze-dump, /mcp-windbg-skills:debug-remote, /mcp-windbg-skills:kernel-debug, or /mcp-windbg-skills:windbg-doctor. This plugin uses your configured MCP connection and adds no server, runtime, symbol settings, or crash-analyst agent. It works with a native executable, Python installation, or HTTP service exposing the mcp-windbg tools. Install this plugin alongside uvx for the server and skills together, or omit it to use just the tools. When upgrading from a version that bundled skills, install this plugin to keep the workflows; their invocation prefix changes from /mcp-windbg: to /mcp-windbg-skills:. The server's built-in MCP prompts remain available independently of these plugins. See the plugin guide for updating or switching plugins.

Agents for an existing server

text
/plugin marketplace add svnscha/mcp-windbg/plugin install mcp-windbg-agents@mcp-windbg

Ask: "Use the mcp-windbg-agents:crash-analyst agent on C:\dumps\app.dmp". It investigates the dump and returns a verdict, evidence, and next steps through your existing MCP connection. It requires neither uvx nor the skills plugin. When upgrading from a version that bundled the agent, install this plugin to keep it.

Install without Python

Every release attaches mcp-windbg.exe: one signed executable carrying its own interpreter and every dependency. cdb.exe is still required. Point your client's command at the file and give it no args.

The release also publishes SHA256SUMS, and the binary is code signed, so both are checkable:

powershell
(Get-FileHash .\mcp-windbg.exe -Algorithm SHA256).HashGet-AuthenticodeSignature .\mcp-windbg.exe | Format-List Status, SignerCertificate

Status should read Valid. The signer is Liasoft GmbH, which sponsors the signing certificate; the project is written by Sven Scharmentke.

Install in another client

bash
pip install mcp-windbg

Needs Python 3.10 or higher. Then point the client at python -m mcp_windbg. For VS Code (GitHub Copilot), press F1 and select MCP: Open User Configuration to enable it in every workspace:

json
{    "servers": {        "mcp_windbg": {            "type": "stdio",            "command": "python",            "args": ["-m", "mcp_windbg"],            "env": {                "_NT_SYMBOL_PATH": "SRV*C:\\Symbols*https://msdl.microsoft.com/download/symbols"            }        }    }}

See the client configuration guide for Claude Desktop, Copilot CLI, Autohand Code, HTTP, and from-source setups.

Start debugging

Restart your client, then ask for what you want:

text
Analyze the crash dump at C:\dumps\app.dmpConnect to tcp:Port=5005,Server=192.168.0.100 and show me the current thread stateOpen a kernel session on net:port=50000,key=1.2.3.4, run !analyze -v, and tell me which driver bugchecked

Server options (--cdb-path, --kd-path, --symbols-path, --filter-script, --transport, ...) are documented in the command-line reference.

Documentation

svnscha.github.io/mcp-windbg

TopicDescription
Getting startedSetup and your first crash dump analysis
Analyze a crash dumpRoot-cause an exception: faulting frame, why it happened
Debug a remote targetBreak into a live user-mode process and inspect a hang
Debug a kernel targetDrivers, bugchecks, and boot-time issues over KDNET or a pipe
Triage multiple dumpsScan a folder and find the common signature
Debug from another machineRun the server over HTTP and drive it remotely
Redact sensitive dataScrub secrets from tool output before it leaves the box
ReferenceTools, prompts, CLI options, and client configuration
TroubleshootingCommon issues and solutions
DevelopmentRun from a local checkout and point a client at the dev build

Blog

Read about the development journey: The Future of Crash Analysis: AI Meets WinDbg

License

MIT

Source: README.md at commit 48e4350

Tools

0
SourceWeft started this package once in an isolated sandbox, without credentials, to list its tools. That failed: the server did not start.

Version history

6
  1. v1.6.0LatestOct 24, 2026
  2. v1.5.1Oct 10, 2026
  3. v1.5.0Oct 9, 2026
  4. v1.4.0Oct 1, 2026
  5. v1.3.1Sep 30, 2026
  6. v0.12.2Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts