使用说明
MCP调试服务器
⚠️ 实验项目 -这是一个实验性的实现。使用风险自负。
一种MCP(模型上下文协议)服务器,通过利用主要调试器中现有的调试适配器协议(DAP)实现,为Claude提供直接调试功能。
安装
全球安装
npm install -g mcp-debug-server
使用npx运行(无需安装)
npx mcp-debug-server
配置
添加到您的Claude Desktop配置(claude_desktop_config.json):
对于全局安装:
{
"mcpServers": {
"debug": {
"command": "mcp-debug-server",
"args": []
}
}
}
对于npx用法:
{
"mcpServers": {
"debug": {
"command": "npx",
"args": ["mcp-debug-server"]
}
}
}
特性
此MCP服务器为Claude提供了11个与本机调试器配合使用的调试工具:
- ✅ 开始调试:通过以下方式完成实施
dlv dap - 🚧 Python/Node.js支持:需要插件架构(计划中)
- 会话管理:通过自动清理启动/停止调试会话
- 断点控制:在源文件中设置条件断点
- 执行控制:继续,跨过,走进,走出
- 计量检验:检查局部和全局变量
- 表达式计算:在调试器上下文中计算表达式
- 堆栈跟踪分析:获取完整的调用堆栈
建筑
Claude → MCP Server → Direct TCP Connection → DAP Server (dlv/debugpy/node) → Debugger
服务器充当Claude和现有调试适配器协议实现之间的桥梁,消除了对自定义调试器集成的需要。
支持的调试器
✅ 目前已实施
- 去:用途
dlv dap --listen=:0-完整的调试工作流程
🚧 计划中(需要插件架构)
- python:用途
python -m debugpy --listen localhost:0 --wait-for-client - Node.js:用途
node --inspect=0.0.0.0:0
注意:Python和Node.js支持需要实现插件架构来处理特定语言的DAP行为。看 docs/PLAN.md 了解详情。
可用工具
- start_debug_session -生成DAP服务器并返回会话ID
- 设断点 -使用可选条件设置断点
- 启动执行 -设置断点后开始程序执行
- 继续执行 -继续程序执行
- 跨步 -跨过当前线路
- step_into -进入函数调用
- 退出 -退出当前功能
- get_stack_trace -获取完整的调用堆栈
- get_variables -获取当前作用域中的变量值
- 求值表达式 -在调试器上下文中计算表达式
- stop_debug_session -清理会话关闭
用法示例
配置后,Claude可以自主调试程序:
User: "Debug my Go HTTP server - it's returning 500 errors"
Claude workflow:
1. Starts debug session with the Go program
2. Sets breakpoint in error handler
3. Continues execution while user triggers HTTP request
4. Examines variables when breakpoint hits
5. Evaluates expressions to understand the issue
6. Provides fix and stops debug session
开发状态
✅ 执行调试完成
- 配备11个调试工具的完整MCP服务器
- 通过TCP通信实现完整的DAP协议
- Go调试器集成
dlv dap-所有功能均正常工作 - 全面的会话管理和错误处理
- 演示完整调试工作流程的集成测试
- 动态端口分配和进程清理
🚧 多语言支持
- 支持Python/Node.js所需的插件架构
- 每种语言都有独特的DAP实现怪癖
- 看 docs/PLAN.md 了解架构细节
先决条件
For Go调试(目前支持)
- 去:
go install github.com/go-delve/delve/cmd/dlv@latest
未来的语言支持
- python:
pip install debugpy(需要插件架构) - Node.js:内置(Node.js 8+) (需要插件架构)
许可证
麻省理工学院
贡献
此项目遵循调试适配器协议规范。所有DAP消息必须符合官方JSON模式:https://microsoft.github.io/debug-adapter-protocol/debugAdapterProtocol.json