- Explore MCP Servers
- dlv-mcp
Dlv Mcp
What is Dlv Mcp
dlv-mcp is an MCP Server that integrates with Golang’s Delve Debugger, enabling AI assistants to debug Go applications effectively.
Use cases
Use cases for dlv-mcp include debugging Go applications, automating debugging tasks with AI, and providing interactive debugging capabilities for development teams.
How to use
To use dlv-mcp, start the MCP server with the command ‘dlv-mcp --listen :9097’. Configure your MCP client to connect to ‘http://localhost:9097/sse’ and utilize the available tools for debugging.
Key features
Key features include starting debug sessions, setting breakpoints, stepping through code, evaluating expressions, inspecting variables and stack traces, and managing multiple debug sessions.
Where to use
dlv-mcp can be used in software development environments where Go applications are being developed, particularly for debugging and testing purposes.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Overview
What is Dlv Mcp
dlv-mcp is an MCP Server that integrates with Golang’s Delve Debugger, enabling AI assistants to debug Go applications effectively.
Use cases
Use cases for dlv-mcp include debugging Go applications, automating debugging tasks with AI, and providing interactive debugging capabilities for development teams.
How to use
To use dlv-mcp, start the MCP server with the command ‘dlv-mcp --listen :9097’. Configure your MCP client to connect to ‘http://localhost:9097/sse’ and utilize the available tools for debugging.
Key features
Key features include starting debug sessions, setting breakpoints, stepping through code, evaluating expressions, inspecting variables and stack traces, and managing multiple debug sessions.
Where to use
dlv-mcp can be used in software development environments where Go applications are being developed, particularly for debugging and testing purposes.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Content
Go Delve Debugger MCP Server
An MCP server that allows LLMs to interact with the Delve Go debugger.
Description
This project implements a Model Context Protocol (MCP) server that integrates with the Delve Go debugger to enable AI assistants to debug Go applications. The server exposes a set of tools that allow LLMs to start, control, and interact with debug sessions.
You can find a working example at EXAMPLE.md.
Features
- Start debug sessions for Go programs
- Set breakpoints in code
- Step through code (next, step in, step out)
- Evaluate expressions in the context of a debug session
- Inspect variables and stack traces
- Manage multiple debug sessions
Installation
Prerequisites
- Go 1.21 or higher
- Delve debugger installed (
go install github.com/go-delve/delve/cmd/dlv@latest)
Install
go install github.com/xhd2015/dlv-mcp/cmd/dlv-mcp@latest
Usage
Start the MCP server:
dlv-mcp --listen :9097
Then configure MCP Server at http://localhost:9097/sse, in Cursor or any MCP client.
Inspect the MCP Server
bunx @modelcontextprotocol/inspector dlv-mcp
Available Tools
Debug Session Management
-
start_debug: Start a new debug sessionprogram: Path to Go program to debugargs: Command line arguments for the program (optional)mode: Debug mode (debug,test, orexec, default:debug)
-
terminate_debug: Terminate a debug sessionsession_id: ID of the debug session to terminate
-
list_debug_sessions: List active debug sessions
Breakpoint Management
set_breakpoint: Set a breakpoint in a debug sessionsession_id: ID of the debug sessionfile: Source file to set breakpoint in (absolute path)line: Line number to set breakpoint at
Execution Control
-
continue: Continue execution in a debug sessionsession_id: ID of the debug session
-
next: Step over current line in a debug sessionsession_id: ID of the debug session
-
step_in: Step into function in a debug sessionsession_id: ID of the debug session
-
step_out: Step out of function in a debug sessionsession_id: ID of the debug session
Inspection
evaluate: Evaluate an expression in a debug sessionsession_id: ID of the debug sessionexpression: Expression to evaluateframe_id: Stack frame ID (optional, default: 0)
Example Workflow
-
Start a debug session:
start_debug program=/path/to/program.go -
Set a breakpoint:
set_breakpoint session_id=session-123456 file=/path/to/program.go line=15 -
Continue to breakpoint:
continue session_id=session-123456 -
Evaluate an expression:
evaluate session_id=session-123456 expression="myVariable" -
Step over a line:
next session_id=session-123456 -
Terminate the session:
terminate_debug session_id=session-123456
Architecture
The server is built using the following components:
- MCP Server Layer: Implements the Model Context Protocol using mark3labs/mcp-go
- DAP Client Layer: Communicates with Delve’s DAP server
- Session Management: Maintains and manages debug sessions
Inspect The MCP Server
bunx @modelcontextprotocol/inspector go run ./cmd/dlv-mcp
Using the Demo Client
We’ve created a demo client that shows how to use the debugger-mcp server programmatically. The demo:
- Starts the MCP server
- Launches a debug session for
./testdata/hello.go - Tries to set a breakpoint and execute debugging commands
- Properly terminates the session and server
To run the demo:
go run ./demo/main.go
The demo client showcases how to:
- Start and communicate with the MCP server using JSON-RPC
- Send tool calls using the correct format
- Parse and handle responses
- Deal with errors gracefully
Check out demo/main.go and demo/README.md for more details on the implementation.
License
MIT License
Dev Tools Supporting MCP
The following are the main code editors that support the Model Context Protocol. Click the link to visit the official website for more information.










