返回 MCP 目录
public公开dns本地运行

dlv-mcp

一个基于MCP协议的Go语言调试服务,允许AI助手通过Delve调试器交互式调试Go程序。

article

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:要操作的调试会话 ID
line:断点所在的代码行号
message:断点消息(可选) | 在调试会话中设置断点 |

执行控制

| 工具 | 参数 | 详情 | |------|------|------| | step_in | session_id:要操作的调试会话 ID | 步入选入到方法或函数调用中 | | step_out | session_id:要操作的调试会话 ID | 步出退出当前方法或函数 |

表达式评估

| 工具 | 参数 | 详情 | |------|------|------| | evaluate_expression | session_id:要操作的调试会话 ID
expression:要评估的表达式字符串 | 在当前调试会话上下文中评估表达式 |

📄 许可证

MIT License

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端