GDB
STDIOMCP server enabling LLM clients to interact with GDB for debugging and binary analysis
MCP server enabling LLM clients to interact with GDB for debugging and binary analysis
A Model Context Protocol (MCP) server that enables LLM clients to interact with GDB for debugging and binary analysis.
  
uv sync uv venv uv run server.py
Note that you can use uv run to run the server.py script or you can use uv venv to create a virtual environment and then run /home/youruser/dev/personal/GDB-MCP/.venv/bin/python /home/youruser/dev/personal/GDB-MCP/server.py.
Add to your claude_desktop_config.json:
{ "mcpServers": { "gdb": { "command": "uv", "args": ["run", "/home/youruser/dev/personal/GDB-MCP/server.py"], "disabled": false } } }
If you're using WSL:
"mcp": { "servers": { "my-mcp-server-4dc36648": { "type": "stdio", "command": "wsl", "args": [ "/home/youruser/dev/personal/GDB-MCP/.venv/bin/python", "/home/youruser/dev/personal/GDB-MCP/server.py" ] } } }
If you're not using WSL:
"mcp": { "servers": { "my-mcp-server-db89eee1": { "type": "stdio", "command": "/home/youruser/dev/personal/GDB-MCP/.venv/bin/python", "args": ["/home/youruser/dev/personal/GDB-MCP/server.py"] } } }
gdb_start(): Start new GDB sessiongdb_terminate(session_id): Terminate sessiongdb_list_sessions(): List active sessionsgdb_load(session_id, program_path): Load programgdb_attach(session_id, pid): Attach to processgdb_load_core(session_id, core_file): Load core dumpgdb_continue(session_id): Continue executiongdb_step(session_id): Step into functionsgdb_next(session_id): Step over functionsgdb_finish(session_id): Finish current functiongdb_set_breakpoint(session_id, location): Set breakpointgdb_backtrace(session_id): Show call stackgdb_print(session_id, expression): Print expressiongdb_examine(session_id, address): Examine memorygdb_info_registers(session_id): Show registersgdb_disassemble_function(session_id, function_name): Disassemble functiongdb_disassemble_around_pc(session_id, count): Disassemble around PCgdb_get_local_variables(session_id): Get local variablesgdb_get_stack_frames(session_id): Get stack informationgdb_get_register_values(session_id): Get register valuesgdb_read_memory_bytes(session_id, address, count): Read memorygdb_get_thread_info(session_id): Get thread informationgdb_get_breakpoint_list(session_id): List breakpointsgdb_set_watchpoint(session_id, expression): Set watchpointgdb_get_symbol_info(session_id, symbol): Get symbol infogdb_command(session_id, command): Execute any GDB commanduv run python run-tests.py --check-deps uv run python run-tests.py --type all
Check the examples directory for example prompts.
This project is licensed under the GNU Version 3.0 License, see the LICENSE file for details.