Skip to content

kanren3/windbg-mcp-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

windbg-mcp-rs

windbg-mcp-rs is a pure WinDbg extension DLL that exposes the current debugging session as an MCP server.

  • Read official WinDbg command documentation extracted from docs/debugger.chm
  • Execute WinDbg commands through dbgeng
  • Interrupt a running target from MCP
  • Use the server from any MCP client over Streamable HTTP

Screenshots

WinDbg MCP plugin screenshot 1

WinDbg MCP plugin screenshot 2

Quick Start

1. Build the DLL

cargo build --release

2. Load it in WinDbg

.load path\to\windbg_mcp_rs.dll

3. Start the MCP server

!mcp serve 127.0.0.1:50051

The MCP endpoint will be:

http://127.0.0.1:50051/mcp

4. Connect your MCP client

Point your client to:

http://127.0.0.1:50051/mcp

WinDbg Commands

Use !mcp help to list all plugin commands.

Common ones:

!mcp help
!mcp serve 127.0.0.1:50051
!mcp status
!mcp stop

What MCP Exposes

  • Resources: a low-context guide resource and compact/full WinDbg command documentation resources
  • Tools: a compact toolset for catalog search, execution-state query, command execution, and target interrupt

Pure UI shortcut topics remain available as documentation, and command execution is exposed through a single windbg_execute_command tool.

Recommended agent flow: call windbg_search_catalog, read windbg://command/{id}, fall back to windbg://command-full/{id} only when needed, call windbg_get_execution_state, and then call windbg_execute_command.

If the debugger is running or busy, call windbg_interrupt_target explicitly and verify state again before executing the command.

Development

cargo check
cargo test

Notes

  • This project was written entirely with a Vibe Coding workflow
  • The server runs inside the WinDbg process
  • The runtime does not parse docs/debugger.chm; it uses the prebuilt static catalog in src/catalog.json
  • The transport is Streamable HTTP
  • Set your MCP client timeout as high as possible, because some WinDbg operations can take a long time to finish

About

A WinDbg plugin that turns the current debugging session into an MCP server for command docs, debugger actions, and AI-assisted analysis.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages