windbg-ext-mcp
AI 辅助 Windows 内核调试工具,通过 MCP 协议让大模型接管 WinDbg 命令执行与输出解读
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI 辅助 Windows 内核调试工具,通过 MCP 协议让大模型接管 WinDbg 命令执行与输出解读
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

作者头像 | 项目作者:NadavLor | 许可证:MIT | 115 ★
软件开发中,程序崩溃、蓝屏、内存泄漏是最令人头疼的问题。尤其是当你需要深入 Windows 内核层面调试时,传统方式要求你熟记大量 WinDbg 命令——!process、!thread、!analyze、dt nt!_EPROCESS……一条条敲,一条条解读,效率极低。
更痛苦的是,WinDbg 的输出信息密度极高,夹杂着十六进制地址、内核数据结构字段,没有深厚的内核知识根本看不懂。当你面对一个内核级别的 rootkit 分析任务时,一边要操控调试器,一边要在脑中重建系统状态,注意力被严重分散。
WinDbg-ext-MCP 正是为了解决这一痛点而生——它将 WinDbg 接入大模型的能力,让 AI 帮你解读内核世界。
WinDbg-ext-MCP 是一个开源项目,它用两个核心组件架起了 AI 大模型与 WinDbg 之间的桥梁:
简单来说,它的工作链是这样的:
MCP 客户端(Cursor / Claude / VS Code)
↕ stdio 通信
Python MCP Server(FastMCP)
↕ 命名管道 \\ . \ pipe \ windbgmcp
C++ WinDbg 扩展(windbgmcpExt.dll)
↕
WinDbg 内核调试器 ↔ 目标系统
开发者可以在 Cursor、Claude Desktop、VS Code(Cline/Roo)等支持 MCP 的 AI 编程助手中,直接用自然语言提问:「当前进程堆栈是什么?」「内存地址 0x1000 处有什么数据?」「帮我分析这个崩溃转储」,AI 会将问题转化为正确的 WinDbg 命令执行,并解读结果返回给你。
项目提供 15 个 MCP 工具,分为五大门类:
| 类别 | 工具 |
|---|---|
| 会话管理 | debug_session、session_manager、connection_manager |
| 命令执行 | run_command、run_sequence、breakpoint_and_continue |
| 进程/线程分析 | analyze_process、analyze_thread |
| 内存/内核分析 | analyze_memory、analyze_kernel |
| 性能/异步 | performance_manager、async_manager |
| 支持工具 | troubleshoot、get_help、test_windbg_communication |
以 analyze_process 为例,支持 list(列出所有进程)、info(进程详情)、switch(切换上下文)、peb(查看进程环境块)等操作,每一步都有超时保护和网络调试场景的特殊处理。
配置系统也相当完善——超时参数按命令类型自动分级:快速命令 10 秒、内核分析 30 秒、大规模数据操作最长 15 分钟。调试模式支持本地、VM 网络、VM 串口、远程等多种场景。
扩展代码位于 extension/ 目录,是一个标准 Visual Studio C++ 项目(vcxproj + sln)。编译后会生成 windbgmcpExt.dll,在 WinDbg 中通过 .load 加载即可。
扩展本身做的事情不复杂:创建一个命名管道服务器 \\ . \ pipe \ windbgmcp,接收来自 Python 服务器的 WinDbg 命令字符串,执行后返回结果。这是整个系统的「翻译官」——Python 一侧完全不需要理解 WinDbg 的 C++ API,只需要通过管道发送文本命令即可。
mcp_server/ 是核心 Python 代码,基于 FastMCP 2.5.1 构建,依赖 Python 3.10+。模块结构清晰:
mcp_server/
├── server.py # 主入口,FastMCP 实例管理
├── config.py # 全局配置(超时、命名管道名、缓存策略)
├── core/
│ ├── communication.py # 命名管道通信
│ ├── execution/ # 命令执行(超时解析、重试逻辑)
│ ├── context.py # 调试上下文管理
│ ├── session_recovery.py # 会话快照与恢复
│ ├── validation.py # 参数验证
│ └── unified_cache.py # 统一缓存(TTL 1小时,100条上限)
└── tools/
├── analysis_tools.py # 进程/线程/内存/内核分析
├── execution_tools.py # 命令执行
├── session_tools.py # 会话管理
├── performance_tools.py # 性能监控
└── support_tools.py # 诊断和帮助
项目在代码质量上有较高追求:
test_command_validation、test_message_protocol、test_timeout_resolver、test_unified_execution、test_tools_registry 等模块,覆盖协议、验证、超时解析、执行流程等核心路径。覆盖率报告通过 --cov 输出typing.Dict、typing.List、FastMCP.Context 等类型注解validate_tool_parameters 校验第一步,编译 C++ 扩展(需要 Developer PowerShell for VS):
msbuild extension\windbgmcpExt.sln /p:Configuration=Release /p:Platform=x64
第二步,在 WinDbg 中加载扩展:
.load C:\path\to\windbgmcpExt.dll
第三步,安装 Python 依赖并启动 MCP 服务器:
poetry install
poetry run selftest # 验证安装
poetry run mcp # 启动服务器
第四步,将 MCP 服务器配置到 AI 客户端(Cursor、Claude Desktop、VS Code 等),项目提供了 install_client_config.py 脚本自动探测已安装的客户端并写入配置,一行命令完成。
使用场景受限:项目明确包含 rootkit 行为示例(如「隐藏进程」「挂钩系统调用」),虽然文档注明「仅用于合法防御性研究」,但这类功能说明极易被滥用。实际使用时需严格限制在受控实验环境中。
平台限制:项目仅支持 Windows,macOS 和 Linux 用户完全无法使用。
稳定性:项目版本 0.1.0(pyproject.toml),但已有 3 个 releases(v0.2.0-v0.2.2),开发活跃度尚可。fork 数 32,不算高,社区参与度有限。
调试门槛:虽然 AI 降低了命令学习成本,但理解 WinDbg 输出仍需要内核基础知识,AI 只能帮你「翻译」,不能替你「理解」。
WinDbg-ext-MCP 代表着 AI 辅助系统编程的一个新兴方向——用大模型充当调试器的「翻译层」。在它之前,开发者需要同时维护两个认知模型:程序状态模型和调试器命令模型。现在 AI 接管了命令翻译工作,开发者可以专注于程序状态本身。
这类项目在 AI + 工具类细分赛道中值得关注。类似的趋势还出现在数据库调试(用自然语言查询慢查询日志)、网络诊断(用自然语言分析抓包文件)等场景。随着 AI 编程助手(MCP 生态)的普及,这类「AI + 专业工具」的桥接层项目可能会越来越多。
对于安全研究者和内核开发者而言,这个项目值得一试——它能将调试效率提升一个数量级,尤其在分析 rootkit、分析崩溃转储(crash dump)等高复杂度场景中价值明显。