← 返回目录
M

MCP Server for WinDbg Crash Analysis

社区
让 AI 用自然语言驱动 WinDbg 分析 Windows 崩溃转储与内核调试
分类
开发工具 第 26 / 438
Stars
★ 1.6k 非常热门
传输方式
stdio(本地进程) · Streamable HTTP
运行环境
Python 3.10+ · 预编译二进制
凭据
无需凭据
许可证
MIT
最近提交
工具数
10
67FMRS · C

该服务器由个人开发者维护(仓库 svnscha/mcp-windbg,MIT 许可),不属于 Microsoft 或 MCP 协议的官方项目。它把 cdb.exe / kd.exe 封装成十个 MCP 工具,覆盖转储分析、用户态远程调试、内核调试、批量分类与输出过滤,支持 stdio 与 streamable-HTTP 两种传输,并提供 Claude Code 插件与 VS Code 等客户端配置。它适合在 Windows 上做崩溃与驱动问题排查、并已使用 MCP 客户端的开发者;不适合非 Windows 环境或期望自动修复的用户。使用前应确认调试工具已安装、理解实时与内核会话会中断目标、并通过过滤脚本控制敏感数据外泄。

最强项 · 文档质量 17/20 最弱项 · 可靠性 11/20

可靠性
11/20
安全与权限
12/20
维护活跃度
13/20
文档质量
17/20
安装易用性
14/20
查看各项评分依据
可靠性 11/20
证据:server.json 声明 io.github.svnscha/mcp-windbg 1.3.0,两种传输(stdio、streamable-http),PyPI 包 mcp-windbg,uvx 运行,环境变量 CDB_PATH 与 _NT_SYMBOL_PATH 均非必需。README 列出十个工具(list_dumps、open_cdb_dump、open_cdb_remote、open_kd_session、run_cdb_command、run_kd_command、close_cdb_session、close_kd_session、send_ctrl_break、wait_for_break),并说明 session_id 机制与超时后以 CTRL+BREAK 重新同步的行为,工具描述与清单一致,未发现自相矛盾。扣分:本次为纯静态审查,未执行任何命令,仓库中可见的只是 README 徽章指向的 CI 工作流(ci.yml 与 GitHub Pages 部署),但未在所提供的源材料中看到已提交的测试文件或具体 CI 步骤内容,因此无法验证 MCP 初始化握手、工具清单实际返回、错误路径与依赖控制(如 cdb.exe/kd.exe 自动探测失败时的表现)。超时、CTRL+BREAK、live session 重同步等关键可靠性主张全部只有 README 文字,无测试证据。依静态校准上限 12,取 11。
安全与权限 12/20
证据:该服务器本质是本地 Windows 调试器包装器,通过 stdio 本地运行或 streamable-http 在 http://localhost:{port}/mcp 暴露;权限面主要是本机 cdb.exe/kd.exe 进程与会话,环境变量仅两个非机密可选项(CDB_PATH、_NT_SYMBOL_PATH),无硬编码令牌或密钥。README 明确提供 --filter-script 钩子,可在工具参数与输出离开本机前脱敏 PII/秘密,并单列“Redact sensitive data”场景与内核会话关闭即恢复目标机的说明,数据边界与副作用有一定披露。扣分:streamable-http 传输默认监听端口且 README 明示“从另一台机器驱动”,但材料中未见任何鉴权、绑定地址限制或 TLS 说明,若照默认部署存在暴露风险;kernel/remote 附加与 send_ctrl_break、close_kd_session(会恢复目标机)、run_*_command 属于对真实系统的高影响操作,未见默认确认或范围限制(例如只读命令白名单)。这些属于“主要风险可见但权限/确认/作用域不完整”,未触及恶意软件、凭据窃取、隐蔽外传等红线,故不判 0-4。
维护活跃度 13/20
证据:server.json 版本 1.3.0 与 PyPI 标识符/版本一致,仓库 topics 含 mcp-server,MIT 许可在 README 与仓库信息中一致,README 有 CI 与 docs 部署徽章、独立文档站点、插件市场入口、博客与社区讨论链接,说明项目处于持续维护并有明确归属(svnscha)。open issues 为 0 与 1564 stars(仅作发现信号,不计分)。扣分:提供材料中看不到具体提交历史、发布节奏、依赖更新策略或安全响应渠道(无 SECURITY.md 或漏洞报告说明);清单与 README 之间存在版本/发布治理的说明但缺少可核验的更新路径证据。属“活跃但治理/版本化存在空白”,取 13。
文档质量 17/20
证据:文档层次完整——README 给出概览、功能、用例表、工具表、三条安装路线(Claude Code 插件、自行注册、其他客户端)、VS Code/Copilot 的 JSON 配置示例、启动调试的自然语言示例,并链接到独立文档站点的 getting-started、crash-dump、remote-debugging、kernel-debugging、triage、http-service、redaction、reference、troubleshooting、development 页面,以及工具参考与 CLI 参考。前置条件明确(Windows + Debugging Tools for Windows 或商店版 WinDbg,含 cdb.exe/kd.exe 自动探测;Python 3.10+ 或 uv)。限制也有披露(“不是魔法自动修复”、企业策略提示、平台仅 Windows)。扣分:本轮证据仅为 README + manifest,无法核对文档站点内容是否与工具参数、超时、提示词保持一致,且关键限制(HTTP 鉴权、确认流程、端口暴露)在 README 中未展开。
安装易用性 14/20
证据:安装路径清晰且分档——插件两行命令(/plugin marketplace add、/plugin install)依赖 uv/uvx,或 pip install mcp-windbg 后 claude mcp add 一条命令,或对其他客户端指向 python -m mcp_windbg 并附 VS Code 完整 JSON 示例;server.json 同时声明 uvx runtimeHint 与 stdio/streamable-http 两种传输及端口参数,便于一键拉取。扣分:平台强绑定 Windows 且需另装调试工具链(Debugging Tools for Windows / WinDbg),无法在主流 Linux/macOS 环境落地;HTTP 路线要求用户自行决定端口、网络可达与(缺失的)鉴权;插件路线额外引入 uv 与市场机制。因源文件未包含可核验的执行证据(真实 CI 工作流加覆盖关键路径的已提交测试),依静态校准上限 15,取 14。

静态评测 · 未实际运行收录于 2026-09-10

查看 FMRS 评分方法 →

选型与风险

能访问什么读取本地文件执行命令或代码访问网络

适合谁

  • 需要在 Windows 上做崩溃转储与驱动/内核问题分析的开发者与支持人员
  • 已经使用 MCP 客户端(Claude Code、GitHub Copilot、Claude Desktop、Cursor、Windsurf、Cline 等)并希望用自然语言驱动 WinDbg 的用户
  • 希望把 cdb/kd 会话(转储、远程、内核)并行管理并自动化分析的团队
  • 需要在调试输出离开本机前过滤敏感信息的环境

不适合谁

  • 非 Windows 平台:转储分析依赖 cdb.exe,内核调试依赖 kd.exe
  • 期望自动修复程序缺陷的用户:它只执行真实调试器命令并让模型推理输出
  • 未获得组织许可就希望在受管控企业环境中使用 AI 工具的用户
  • 尚未在系统中安装调试工具(cdb.exe / kd.exe)的用户

所需权限

  • 在 Windows 主机上执行本地进程(cdb.exe / kd.exe 及 Python 包)
  • 读取本地转储文件(.dmp/.mdmp/.hdmp)与目标目录
  • 在用户态远程调试时建立 TCP、命名管道或 COM 连接
  • 在内核调试时建立 KDNET、命名管道或串口连接(会等待并中断目标机器)
  • 可选:通过 --filter-script 过滤工具参数与输出;配置自定义 CDB_PATH 与符号路径 _NT_SYMBOL_PATH

风险与副作用

  • 内核会话关闭时会恢复目标机器运行,若目标正在处理关键状态可能带来影响
  • 附加到实时(远程或内核)会话会中断目标执行,可能影响生产或共享环境
  • 若未配置 --filter-script,转储中的敏感信息可能随工具输出发送给模型
  • 企业环境使用 MCP 与 AI 工具可能受到组织策略限制,需事先确认权限
  • 符号路径默认使用 Microsoft 符号服务器,意味着调试过程会访问外部网络

安装接入

准备工作

运行环境:Python 3.10+ · 预编译二进制

其他可选配置项(1 个)
CDB_PATH 可选 cdb.exe 的自定义路径(可选);当未安装 Debugging Tools for Windows 的默认位置时手动指定,无需申请任何凭据。
  1. 前置条件:Windows 上安装 Debugging Tools for Windows 或 Microsoft Store 的 WinDbg,以获得 cdb.exe 与 kd.exe(服务器会自动检测)。
  2. 在 Claude Code 中可用插件方式:先 /plugin marketplace add svnscha/mcp-windbg,再 /plugin install mcp-windbg-uvx@mcp-windbg,需要 uv(winget install astral-sh.uv)以提供 uvx。
  3. 或者手动注册:pip install mcp-windbg(需要 Python 3.10+),然后执行 claude mcp add mcp-windbg -s user -e _NT_SYMBOL_PATH="SRV*C:\Symbols*https://msdl.microsoft.com/download/symbols" -- python -m mcp_windbg。
  4. 其他客户端:安装后在配置中把命令指向 python -m mcp_windbg;VS Code(GitHub Copilot)按 F1 选择 MCP: Open User Configuration,填入示例中的 servers 配置。
  5. 重启客户端后即可用自然语言请求分析转储或连接调试目标。可选参数包括 --cdb-path、--kd-path、--symbols-path、--filter-script、--transport 等。
.mcp.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"
      }
    }
  }
}

以 Claude Code 为例。其他客户端的配置文件位置或字段可能不同(如 VS Code 使用 servers 字段),可用下方配置生成器转换。

.vscode/mcp.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"
      }
    }
  }
}

写入项目的 .vscode/mcp.json(VS Code 使用 servers 字段)。

Terminal
claude mcp add mcp_windbg -e '_NT_SYMBOL_PATH=SRV*C:\Symbols*https://msdl.microsoft.com/download/symbols' -- python -m mcp_windbg

在终端运行;先把 <…> 占位符换成你自己的值。

验证是否装好

重启客户端后,工具列表中应出现 open_cdb_dump、run_cdb_command 等 10 个工具;然后让它分析 C:\dumps\app.dmp,若能返回 !analyze -v 的分诊结果即说明连接成功。

常见排障

  1. 若提示找不到 cdb.exe/kd.exe,请确认已安装调试工具,或通过 CDB_PATH、--cdb-path、--kd-path 显式指定路径
  2. 符号解析失败或缺失时,检查 _NT_SYMBOL_PATH、--symbols-path 设置(默认指向 Microsoft 符号服务器)
  3. 实时会话命令超时会被 CTRL+BREAK 中断并重新同步;如仍无响应,可用 send_ctrl_break 手动中断
  4. 内核会话需要目标可被连接(KDNET/命名管道/串口),请确认连接参数与目标状态
  5. 远程调试连接失败时,检查 TCP、命名管道或 COM 的连接串与可达性
  6. HTTP 传输无响应时,确认已使用 --transport streamable-http 与正确的 --port(默认 8000),并访问 http://localhost:{port}/mcp

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 分析 C:\dumps\app.dmp 这个崩溃转储,告诉我异常和出错帧
  • 连接 tcp:Port=5005,Server=192.168.0.100 并显示当前线程状态
  • 在 net:port=50000,key=1.2.3.4 上打开内核会话,运行 !analyze -v,告诉我哪个驱动触发了 bugcheck
  • 列出 C:\dumps 目录下的所有崩溃转储文件

工具能力 10

list_dumps 只读
列出某个目录中的崩溃转储文件
open_cdb_dump 只读
打开并初步分析一个崩溃转储
open_cdb_remote 写入
附加到用户态远程调试服务器(-remote)
open_kd_session 写入
附加到内核目标(-k,KDNET / 命名管道 / 串口)
run_cdb_command 写入
在用户态会话上运行命令
run_kd_command 写入
在内核会话上运行命令
close_cdb_session 写入
关闭用户态会话
close_kd_session 写入
关闭内核会话(会恢复目标机器运行)
展开其余 2 个工具
send_ctrl_break 写入
中断到正在运行的实时会话
wait_for_break 只读
等待用 g 恢复运行的目标再次停止

使用场景

分析崩溃转储:定位异常、出错栈帧以及原因
通过 cdb -server 中断到正在运行的用户态进程,检查挂起或实时状态
调试启用了 KD 的机器或虚拟机上的驱动、蓝屏(bugcheck)与启动问题
批量分析一个目录中的多个转储,找出共同特征
在调试主机上运行 HTTP 服务,从另一台机器远程驱动
对包含 PII 或密钥的转储,在输出离开本机前进行脱敏

支持客户端

Claude Code
VS Code
Claude Desktop
Cursor
Windsurf
Cline

依据项目文档列出,未经本站实测。

详细介绍

这是一个把 AI 模型与 WinDbg 连接起来的 Model Context Protocol 服务器,用于 Windows 崩溃转储分析、用户态远程调试以及内核调试。它在底层调用 Windows 调试器:用户态(转储文件与 -remote)使用 CDB,内核目标(-k)使用 KD。它并不是自动修复工具,而是 cdb.exe / kd.exe 的 Python 封装,让 LLM 能够执行真实的调试器命令并对输出进行推理。每次 open_* 调用都会返回一个 session_id,可同时打开多个会话(转储、远程、内核)并分别寻址;每个调用都有超时,运行缓慢的实时命令会被 CTRL+BREAK 中断并重新同步。支持 stdio 本地运行,也支持以 streamable-HTTP 服务方式从其他机器驱动;可通过 --filter-script 在数据离开本机前对工具参数与输出进行脱敏。

同类可选方案

Context7 80 · B

Upstash 官方维护,为 AI 编码助手提供实时更新的第三方库文档

★ 63.3k · 工具数 2 与当前对比 →

源版本 48e4350d57c4 数据同步于 2026-10-19 查看 FMRS 评分方法