Delve
About
Provides a complete interface to the Delve debugger for Go programs, enabling starting debug sessions, setting breakpoints, controlling execution flow, and inspecting program state
Details
- Author
- dwisiswant0
- Repository
- dwisiswant0/delve-mcp
- GitHub stars
- 19
- License
- MIT License
- Categories
- AI, Design, Developer Tools, Search, Infrastructure, Frontend
Jump to
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
DelveCommand (node, npx, python, etc.)nodeArguments-
Argument 1
/path/to/delve-mcp/build/index.js
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
To use with Claude Desktop, add the server config:
On Linux: ~/.config/Claude/claude_desktop_config.json.
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json.
- On Windows:
%APPDATA%/Claude/claude_desktop_config.json.
{
"mcpServers": {
"delve-mcp": {
"command": "/path/to/delve-mcp/build/index.js"
}
}
}
The server requires:
- Go installed with Delve (go install github.com/go-delve/delve/cmd/dlv@latest)
- For replay functionality: Mozilla rr (https://github.com/mozilla/rr)
- Node.js and npm
- version - Get Delve version information
- setBackend - Configure debug backend (native, lldb, rr)
- configureLogging - Configure debug logging components
debug
Debug a Go package in current directory or specified package.
attach
Attach to a running process by PID.
exec
Execute and debug a precompiled binary.
test
Debug tests in current package or specified package.
core
Examine a core dump file with associated executable.
dap
Start a Debug Adapter Protocol (DAP) server.
replay
Replay an rr trace recording.
trace
Trace program execution with function matching.
setBreakpoint
Set a breakpoint with optional condition.
removeBreakpoint
Remove an existing breakpoint.
continue
Continue program execution.
next
Step over to next line.
step
Step into function call.
stepout
Step out of current function.
variables
List local variables in current scope.
evaluate
Evaluate expression in current scope.
version
Get Delve version information.
setBackend
Configure debug backend (`native`, `lldb`, `rr`).
configureLogging
Configure debug logging components.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"delve": {
"cwd": "optional",
"env": {},
"args": [
"/path/to/delve-mcp/build/index.js"
],
"shell": false,
"command": "node"
}
}
}
Linux
{
"cwd": "optional",
"env": [],
"args": [
"/path/to/delve-mcp/build/index.js"
],
"shell": false,
"command": "node"
}
Macos
{
"cwd": "optional",
"env": [],
"args": [
"/path/to/delve-mcp/build/index.js"
],
"shell": false,
"command": "node"
}
Windows
{
"cwd": "optional",
"env": [],
"args": [
"/path/to/delve-mcp/build/index.js"
],
"shell": false,
"command": "node"
}
delve-mcp
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.
Features
Resources
- List and access debug sessions via delve:// URIs
- Each session has metadata about its type, target, and port
- JSON representation for session details and state
Tools
Debug, trace, and analyze Go programs with:
- Debug commands (debug, attach, exec, test)
- Core dump analysis
- Program tracing
- Replay debugging with rr
- DAP server support
- Breakpoint management with conditions
- Execution control (continue, step, next)
- Variable inspection and evaluation
- Backend selection (native, lldb, rr)
- Logging configuration
- Session management
Environment Setup
The server requires:
- Go installed with Delve (go install github.com/go-delve/delve/cmd/dlv@latest)
- For replay functionality: Mozilla rr (https://github.com/mozilla/rr)
- Node.js and npm
Installation
To install Delve MCP server:
npm install @dwisiswant0/delve-mcp
Development
Install dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild:
npm run watch
Configuration
To use with Claude Desktop, add the server config:
On Linux: ~/.config/Claude/claude_desktop_config.json.
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json.
- On Windows:
%APPDATA%/Claude/claude_desktop_config.json.
{
"mcpServers": {
"delve-mcp": {
"command": "/path/to/delve-mcp/build/index.js"
}
}
}
Available Tools
Debug Commands
- debug - Debug a Go package in current directory or specified package
- attach - Attach to a running process by PID
- exec - Execute and debug a precompiled binary
- test - Debug tests in current package or specified package
- core - Examine a core dump file with associated executable
- dap - Start a Debug Adapter Protocol (DAP) server
- replay - Replay an rr trace recording
- trace - Trace program execution with function matching
Control Commands
- setBreakpoint - Set a breakpoint with optional condition
- removeBreakpoint - Remove an existing breakpoint
- continue - Continue program execution
- next - Step over to next line
- step - Step into function call
- stepout - Step out of current function
- variables - List local variables in current scope
- evaluate - Evaluate expression in current scope
Configuration Commands
- version - Get Delve version information
- setBackend - Configure debug backend (native, lldb, rr)
- configureLogging - Configure debug logging components
Usage Examples
Starting a Debug Session
// Debug current package
{ name: "debug" }
// Debug with specific package and build flags
{
name: "debug",
arguments: {
package: "./cmd/myapp",
buildFlags: "-tags=integration"
}
}
Managing Breakpoints
// Set a breakpoint
{
name: "setBreakpoint",
arguments: {
sessionId: "abc123",
file: "main.go",
line: 42,
condition: "count > 5"
}
}
Inspecting State
// List variables
{
name: "variables",
arguments: {
sessionId: "abc123"
}
}
// Evaluate expression
{
name: "evaluate",
arguments: {
sessionId: "abc123",
expr: "myVar.Field"
}
}
License
MIT.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




