用于Delve调试器集成的MCP服务器
这是一个基于TypeScript的MCP服务器,它提供了与Go程序的Delve调试器完全交互的接口。通过MCP工具实现了所有主要的Delve命令和功能。
delve://URI列表并访问调试会话使用以下工具对Go程序进行调试、跟踪和分析:
debug,attach,exec,test)rr进行回放调试continue,step,next)native,lldb,rr)该服务器需要:
go install github.com/go-delve/delve/cmd/dlv@latest)rr(https://github.com/mozilla/rr)要安装Delve MCP服务器:
npm install @dwisiswant0/delve-mcp
安装依赖项:
npm install
构建服务器:
npm run build
开发时自动重建:
npm run watch
要在Claude Desktop中使用,请添加服务器配置:
~/.config/Claude/claude_desktop_config.json。~/Library/Application Support/Claude/claude_desktop_config.json。%APPDATA%/Claude/claude_desktop_config.json。{
"mcpServers": {
"delve-mcp": {
"command": "/path/to/delve-mcp/build/index.js"
}
}
}
debug - 调试当前目录或指定包中的Go包attach - 通过PID附加到正在运行的进程exec - 执行并调试预编译的二进制文件test - 调试当前包或指定包中的测试core - 使用关联的可执行文件检查核心转储文件dap - 启动调试适配器协议(DAP)服务器replay - 回放rr跟踪记录trace - 使用函数匹配跟踪程序执行setBreakpoint - 设置带可选条件的断点removeBreakpoint - 移除现有断点continue - 继续程序执行next - 跳过到下一行step- 进入函数调用stepout - 退出当前函数variables - 列出当前作用域内的局部变量evaluate - 在当前作用域内求值表达式version - 获取Delve版本信息setBackend - 配置调试后端(native,lldb,rr)configureLogging - 配置调试日志组件// 调试当前包
{ name: "debug" }
// 使用特定包和构建标志进行调试
{
name: "debug",
arguments: {
package: "./cmd/myapp",
buildFlags: "-tags=integration"
}
}
// 设置断点
{
name: "setBreakpoint",
arguments: {
sessionId: "abc123",
file: "main.go",
line: 42,
condition: "count > 5"
}
}
// 列出变量
{
name: "variables",
arguments: {
sessionId: "abc123"
}
}
// 求值表达式
{
name: "evaluate",
arguments: {
sessionId: "abc123",
expr: "myVar.Field"
}
}
MIT。