mcp-gdb
23
The MCP GDB Server is designed to provide GDB debugging capabilities for AI assistants like Claude. It allows users to manage debugging sessions, execute commands, and examine code using various GDB functions integrated with MCP.
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