README
🚀 Go Delve 调试器 MCP 服务器
本项目是一个 MCP 服务器,可让大语言模型(LLMs)与 Delve Go 调试器进行交互,助力 AI 助手调试 Go 应用程序。
🚀 快速开始
该项目实现了一个 Model Context Protocol (MCP) 服务器,此服务器集成了 Delve Go 调试器,使得 AI 助手能够对 Go 应用程序进行调试。服务器提供了一组工具,允许 LLMs 启动、控制并参与调试会话。
您可以在 EXAMPLE.md 中查看示例实现。
✨ 主要特性
- 开启 Go 程序的调试会话
- 在代码里设置断点
- 单步执行代码(下一步、步入选入、步出退出)
- 评估调试会话上下文中的表达式
- 查看变量和堆栈跟踪
- 管理多个调试会话
📦 安装指南
先决条件
- Go 1.21 或更高版本
- 已安装 Delve 调试器 (
go install github.com/go-delve/delve/cmd/dlv@latest)
安装
go install github.com/xhd2015/dlv-mcp/cmd/dlv-mcp@latest
💻 使用示例
基础用法
启动 MCP 服务器:
dlv-mcp --listen :9097
然后在 Cursor 或任何 MCP 客户端配置 http://localhost:9097/sse。
高级用法
检查 MCP 服务器:
bunx @modelcontextprotocol/inspector dlv-mcp
📚 详细文档
可用工具
调试会话管理
| 工具 | 参数 | 详情 |
|------|------|------|
| start_debug | program:要调试的 Go 程序路径args:程序的命令行参数(可选)mode:调试模式 (debug, test, 或 exec,默认为 debug) | 启动新的调试会话 |
| terminate_debug | session_id:要终止的调试会话 ID | 终止调试会话 |
| list_debug_sessions | 无 | 列出活动调试会话 |
断点管理
| 工具 | 参数 | 详情 |
|------|------|------|
| set_breakpoint | session_id:要操作的调试会话 IDline:断点所在的代码行号message:断点消息(可选) | 在调试会话中设置断点 |
执行控制
| 工具 | 参数 | 详情 |
|------|------|------|
| step_in | session_id:要操作的调试会话 ID | 步入选入到方法或函数调用中 |
| step_out | session_id:要操作的调试会话 ID | 步出退出当前方法或函数 |
表达式评估
| 工具 | 参数 | 详情 |
|------|------|------|
| evaluate_expression | session_id:要操作的调试会话 IDexpression:要评估的表达式字符串 | 在当前调试会话上下文中评估表达式 |
📄 许可证
MIT License
微信扫一扫