windbg-mcp
gengstah/windbg-mcp加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你的 Windows C++ 程序在生产环境崩溃了,生成了一份 2GB 的 .dmp 崩溃转储文件。传统调试流程是手动打开 WinDbg、附加进程、一条一条命令敲符号路径、追踪调用栈——没有半小时出不了门。
而现在,你可以在 Cursor 编辑器里直接问 AI:"帮我分析一下这个崩溃转储,看看第 3 帧的寄存器状态和内存上下文",Cursor 通过 MCP 协议调用 WinDbg MCP 工具,直接拿到结构化的调试数据,AI 能精准告诉你崩溃原因。
这就是 WinDbg MCP——一个将 Windows 调试器能力接入了 AI 编程工具的 MCP 服务器。
WinDbg(Windows Debugger)是微软官方的调试工具,也是 Windows 平台内核级调试的事实标准。它能调试用户态进程、内核会话和崩溃转储文件,是 Windows 工程师解决疑难杂症的瑞士军刀。
但 WinDbg 有两个显著痛点:
MCP(Model Context Protocol)是由 Anthropic 主导的 AI 工具协议,让大模型可以调用外部工具。WinDbg MCP 的作者 Gengstah 敏锐地看到了这个机会——如果把 pybag(Python WinDbg 封装库)的所有能力通过 MCP 暴露出来,AI 就能"长出"调试 Windows 程序的能力。
WinDbg MCP 提供 47 个 MCP 工具,分为 11 个功能组:
| 功能组 | 工具数 | 典型工具 | 用途 |
|---|---|---|---|
| 会话管理 | 9 | create, attach, kernel_attach, load_dump | 连接/创建调试会话,包括内核调试和崩溃转储加载 |
| 执行控制 | 6 | go, step_into, step_over, goto, trace | 控制程序执行流,单步/运行/跳转 |
| 断点管理 | 6 | bp, hw_bp, list_bps, remove_bp | 设置软件/硬件断点,启用/禁用断点 |
| 内存操作 | 8 | read_mem, write_mem, dump_mem, mem_info | 读写进程内存,搜索内存区域 |
| 寄存器操作 | 5 | get_regs, get_pc, get_sp, set_reg | 读取/修改 CPU 寄存器 |
| 符号解析 | 5 | resolve, find_symbols, disasm, whereami | 解析函数符号,反汇编代码 |
| 模块查询 | 4 | list_modules, module_info, get_exports | 列出加载的 DLL/EXE,查看导出函数 |
| 线程分析 | 5 | list_threads, get_stack, get_teb, get_peb | 线程栈追踪,TEB/PEB 结构查询 |
| 进程信息 | 2 | get_handles, get_bitness | 获取句柄表,判断进程位数 |
| 状态捕获 | 3 | get_captures, clear_captures, capture_state | 快照调试状态 |
| 底层工具 | 1 | raw | 直接发送原始调试命令 |
所有工具通过标准 MCP stdio 协议通信,无需 HTTP 服务器,天然适合集成到 AI 编程工具中。
项目代码极简,仅 3 个文件:
windbg_mcp/
├── manifest.json # MCP 清单,定义工具和入口点
├── windbg_mcp.py # 核心服务器(~47KB),约 900 行
└── README.md # 详细使用文档(~24KB)
核心依赖只有两个:
@mcp.tool 装饰器和 stdio 通信代码使用 FastMCP 框架,通过 @mcp.tool() 装饰器将 pybag 的调试方法逐个暴露为 MCP 工具。值得注意的是,作者对 pybag 进行了 monkey-patch——修复了 CrashDbg.load_dump() 崩溃转储加载的一个上游 bug,这体现了作者的深度技术积累。
前提条件(必须满足):
安装步骤:
pip install pybag mcp
在 Claude Desktop 中配置:
在 claude_desktop_config.json 中添加:
{
"mcpServers": {
"windbg-mcp": {
"command": "python",
"args": ["C:\path\to\windbg-mcp\windbg_mcp.py"]
}
}
}
在 Cursor 中配置:
claude mcp add windbg-mcp python C:\path o\windbg-mcp\windbg_mcp.py
配置完成后,AI 助手会自动感知 47 个可用调试工具,可以直接用自然语言发起调试指令。
WinDbg MCP 有几个必须正视的局限:
平台限制:pybag 和 WinDbg dbgeng 仅限 Windows,macOS 和 Linux 用户完全无法使用。这是底层 Windows API 的固有限制,无法绕开。
调试工具链笨重:pybag 需要独立安装 Microsoft Debugging Tools for Windows,完整安装包超过 1GB,环境配置成本较高,远不如 LLDB/GDB 那样开箱即用。
文档门槛高:README 长达 24KB,涵盖了大量调试器专业知识(断点类型、寄存器结构、符号路径),对没有 Windows 调试经验的开发者而言仍有较大上手难度。
License 未知:作者在 manifest.json 中声明了 MIT License,但 GitHub API 未返回 license 字段,存在许可证不明确的风险。
不支持 Docker 部署:项目没有提供 Dockerfile 或 docker-compose,无法容器化——这对于一个 Windows 原生工具来说几乎是必然的。
WinDbg MCP 代表了一个重要趋势:AI 编程工具正在从"代码补全"向"系统级推理"演进。
过去一年,我们看到了各种 MCP 服务器将 AI 与文件系统、数据库、API 连接。但 WinDbg MCP 是首个将 AI 与操作系统内核调试能力连接的案例。它意味着 AI 助手理论上可以:
这个方向的想象空间远不止于"调试"本身——它是 AI 走向系统级自主推理的重要一步。
项目链接:gengstah/windbg-mcp
License: MIT(待确认)
Stars: 86
最后更新: 2026-07-28