深入研究mcp
用于Delve调试器集成的MCP服务器
这是一个基于TypeScript的MCP服务器,为Go程序的Delve调试器提供了一个完整的接口。它通过MCP工具实现所有主要的Delve命令和功能。
特性
资源
- 通过以下方式列出和访问调试会话
delve://URI - 每个会话都有关于其类型、目标和端口的元数据
- 会话详细信息和状态的JSON表示
工具
使用以下工具调试、跟踪和分析Go程序:
- 调试命令(
debug,attach,exec,test) - 岩芯倾倒分析
- 程序跟踪
- 使用重播调试
rr - DAP服务器支持
- 有条件的断点管理
- 执行控制(
continue,step,next) - 变量检查和评估
- 后端选择(
native,lldb,rr) - 日志记录配置
- 会话管理
环境设置
服务器需要:
- 使用Delve安装(
go install github.com/go-delve/delve/cmd/dlv@latest) - 重播功能:Mozilla
rr(https://github.com/mozilla/rr) - Node.js和npm
安装
要安装Delve MCP服务器,请执行以下操作:
npm install @dwisiswant0/delve-mcp发展
安装依赖项:
npm install构建服务器:
npm run build对于自动重建的开发:
npm run watch配置
要与Claude Desktop一起使用,请添加服务器配置:
- 在Linux上:
~/.config/Claude/claude_desktop_config.json. - 在MacOS上:
~/Library/Application Support/Claude/claude_desktop_config.json. - 在Windows上:
%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-配置调试日志记录组件
使用示例
启动调试会话
// Debug current package
{ name: "debug" }
// Debug with specific package and build flags
{
name: "debug",
arguments: {
package: "./cmd/myapp",
buildFlags: "-tags=integration"
}
}管理断点
// Set a breakpoint
{
name: "setBreakpoint",
arguments: {
sessionId: "abc123",
file: "main.go",
line: 42,
condition: "count > 5"
}
}检查状态
// List variables
{
name: "variables",
arguments: {
sessionId: "abc123"
}
}
// Evaluate expression
{
name: "evaluate",
arguments: {
sessionId: "abc123",
expr: "myVar.Field"
}
}许可证
MIT。

