MCP GDB Server
A Model Context Protocol (MCP) server that provides GDB debugging functionality for use with Claude or other AI assistants.
Features
- Start and manage GDB debugging sessions
- Load programs and core dumps for analysis
- Set breakpoints, step through code, and examine memory
- View call stacks, variables, and registers
- Execute arbitrary GDB commands
Installation
# Clone the repository
git clone https://github.com/signal-slot/mcp-gdb.git
cd mcp-gdb
# Install dependencies
npm install
# Build the project
npm run build
Usage
Using with Claude or other MCP-enabled assistants
- Configure the MCP settings in the Claude desktop app or browser extension to include this server:
{
"mcpServers": {
"gdb": {
"command": "node",
"args": ["/path/to/mcp-gdb/build/index.js"],
"disabled": false
}
}
}
- Restart Claude or refresh the page.
- Now you can use the GDB tools in your conversations with Claude.
Example Commands
Here are some examples of using the GDB MCP server through Claude:
Starting a GDB session
Use gdb_start to start a new debugging session
Loading a program
Use gdb_load to load /path/to/my/program with the sessionId that was returned from gdb_start
Setting a breakpoint
Use gdb_set_breakpoint to set a breakpoint at main in the active GDB session
Running the program
Use gdb_continue to start execution
Examining variables
Use gdb_print to evaluate the expression "my_variable" in the current context
Getting a backtrace
Use gdb_backtrace to see the current call stack
Terminating the session
Use gdb_terminate to end the debugging session
Supported GDB Commands
gdb_start
: Start a new GDB sessiongdb_load
: Load a program into GDBgdb_command
: Execute an arbitrary GDB commandgdb_terminate
: Terminate a GDB sessiongdb_list_sessions
: List all active GDB sessionsgdb_attach
: Attach to a running processgdb_load_core
: Load a core dump filegdb_set_breakpoint
: Set a breakpointgdb_continue
: Continue program executiongdb_step
: Step program executiongdb_next
: Step over function callsgdb_finish
: Execute until the current function returnsgdb_backtrace
: Show call stackgdb_print
: Print value of expressiongdb_examine
: Examine memorygdb_info_registers
: Display registers
License
MIT