Delve调试器
STDIOGo语言Delve调试器集成服务
Go语言Delve调试器集成服务
MCP server for Delve debugger integration
This is a TypeScript-based MCP server that provides a complete interface to the Delve debugger for Go programs. It implements all major Delve commands and capabilities through MCP tools.
delve:// URIsDebug, trace, and analyze Go programs with:
debug, attach, exec, test)rrcontinue, step, next)native, lldb, rr)The server requires:
go install github.com/go-delve/delve/cmd/dlv@latest)rr (https://github.com/mozilla/rr)To install Delve MCP server:
npm install @dwisiswant0/delve-mcp
Install dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild:
npm run watch
To use with Claude Desktop, add the server config:
~/.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 - Debug a Go package in current directory or specified packageattach - Attach to a running process by PIDexec - Execute and debug a precompiled binarytest - Debug tests in current package or specified packagecore - Examine a core dump file with associated executabledap - Start a Debug Adapter Protocol (DAP) serverreplay - Replay an rr trace recordingtrace - Trace program execution with function matchingsetBreakpoint - Set a breakpoint with optional conditionremoveBreakpoint - Remove an existing breakpointcontinue - Continue program executionnext - Step over to next linestep - Step into function callstepout - Step out of current functionvariables - List local variables in current scopeevaluate - Evaluate expression in current scopeversion - Get Delve version informationsetBackend - Configure debug backend (native, lldb, rr)configureLogging - Configure debug logging components// 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.