About mcp-gdbserver
mcp-gdbserver is an MCP server for developers debugging programs remotely with gdbserver. Its tools cover process and session management, execution control, breakpoints, and inspection.
Key features
- 01Start, attach, and manage sessions
- 02Set and delete breakpoints
- 03Continue, step, and interrupt execution
- 04Inspect threads, stack, and variables
- 05Read registers and memory
Use cases
- 01Debug a program through a gdbserver session
- 02Pause execution at a breakpoint
- 03Inspect stack frames, variables, or memory
MCP support
Exposes 19 debugging tools to MCP clients for managing gdbserver sessions, controlling execution, setting breakpoints, and inspecting program state.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEmcp-gdbserver
MCP server for remote debugging with gdbserver - provides full debugging capabilities including process management, breakpoint control, stepping, memory inspection, and more.
Install
pip install mcp-gdbserver
Usage
from mcp_gdbserver import GdbDebugger
# Create debugger instance
debugger = GdbDebugger()
# Start gdbserver to debug a program
session = debugger.start_gdbserver(port=2345, program="/bin/myapp", args=["--debug"])
# Get session info
sessions = debugger.list_sessions()
# Stop session
debugger.stop_session("session_1")
CLI
mcp-gdbserver --help
Tools
The MCP server provides 19 debugging tools organized into 4 categories:
Process Management
gdbserver_start- Start gdbserver to debug a program remotelygdbserver_start_multi- Start gdbserver in multi-process modegdbserver_attach- Attach to a running processgdbserver_list_sessions- List all active sessionsgdbserver_stop- Stop a debugging session
Breakpoint Control
gdbserver_set_breakpoint- Set a breakpoint at a locationgdbserver_delete_breakpoint- Delete a breakpoint
Execution Control
gdbserver_continue- Continue executiongdbserver_step- Step one instruction (into functions)gdbserver_next- Execute one instruction (over functions)gdbserver_interrupt- Interrupt execution
Inspection
gdbserver_stack_frames- Get call stack framesgdbserver_local_variables- Get local variablesgdbserver_list_threads- List all threadsgdbserver_select_thread- Switch to a threadgdbserver_read_register- Read CPU registersgdbserver_read_memory- Read memory contentsgdbserver_evaluate- Evaluate an expressiongdbserver_load_symbols- Load symbol file
MCP Configuration
Add to your MCP config:
{
"mcpServers": {
"mcp-gdbserver": {
"command": "mcp-gdbserver",
"env": {}
}
}
}
Development
git clone https://github.com/daedalus/mcp-gdbserver.git
cd mcp-gdbserver
pip install -e ".[test]"
# run tests
pytest
# format
ruff format src/ tests/
# lint
ruff check src/ tests/
# type check
mypy src/
mcp-name: io.github.daedalus/mcp-gdbserver
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.