jtang613/gdb-mcp
If you are the rightful owner of gdb-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
A lightweight MCP server that runs inside GDB, allowing direct command execution and output retrieval.
GDB MCP Server (FastMCP)
A lightweight MCP server that runs inside GDB. It exposes a single tool, gdb-command, which proxies input directly to GDB’s command interpreter and returns the textual output. The server runs over SSE and is started from within GDB via the mcp-server command.
Features
gdb-command: pass any GDB command, get back its output.- Minimal, self-contained script:
gdb-mcp(loaded viasource).
Requirements
- GDB with Python support enabled.
- Python 3.x and the
fastmcplibrary available to GDB’s embedded Python.
Check Python support: gdb -q -ex "python print('ok')" -ex quit
Install FastMCP: python3 -m pip install fastmcp
If import fails in GDB, ensure fastmcp is installed to the same Python environment GDB uses.
Quick Start
- Start GDB with the MCP extension loaded
gdb -q -ex 'source ./gdb-mcp'- Alternatively, load from within gdb
source ./gdb-mcp
- Launch the SSE server from within GDB
mcp-server 127.0.0.1 3333
- Connect an MCP client to the server
- Configure your MCP client to connect to the SSE server at the host/port selected above and call tool
gdb-command.
Tool: gdb-command
- Parameters:
command(string): the exact GDB command to run (e.g.,info registers).
- Returns: string (captured GDB output or an error message).
Notes & Tips
- No timeout or stop control is provided by this script. To interrupt long-running target execution, issue the
interruptcommand. - Do not bind publicly unless you trust clients; this endpoint can execute arbitrary GDB commands.
- To auto-load, add a line to your
~/.gdbinit:source /absolute/path/to/gdb-mcp. - There is no builtin 'stop server' functionality. To teardown the server, exit GDB.
License
MIT — see LICENSE.
Acknowledgements
- Built on top of the excellent
fastmcplibrary.