mcp-gdb
Version:
MCP server for GDB debugging functionality
151 lines (114 loc) • 3.56 kB
Markdown
# MCP GDB Server
[](https://www.npmjs.com/package/mcp-gdb)
[](https://github.com/signal-slot/mcp-gdb/blob/main/LICENSE)
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
### Option 1: Install from NPM
```bash
npm install mcp-gdb
```
You can use the package in your Node.js project:
```javascript
import { startGdbServer } from 'mcp-gdb';
// Start the server programmatically
startGdbServer();
```
### Option 2: Install from Source
```bash
# Clone the repository
git clone https://github.com/signal-slot/mcp-gdb.git
cd mcp-gdb
npm install
npm run build
```
## Usage
### Using with Claude or other MCP-enabled assistants
1. Configure the MCP settings in the Claude desktop app or browser extension to include this server:
```json
{
"mcpServers": {
"gdb": {
"command": "node",
"args": ["/path/to/mcp-gdb/build/index.js"],
"disabled": false
}
}
}
```
If you installed via NPM, you can reference the package in node_modules:
```json
{
"mcpServers": {
"gdb": {
"command": "node",
"args": ["node_modules/mcp-gdb/build/index.js"],
"disabled": false
}
}
}
```
2. Restart Claude or refresh the page.
3. 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
```
## NPM Package Information
The `mcp-gdb` package is available on [npm](https://www.npmjs.com/package/mcp-gdb) and provides all the functionality needed to integrate GDB debugging with MCP-enabled AI assistants.
- **Current Version**: 0.1.0
- **Main**: build/index.js
- **Type**: ESM module
- **License**: MIT
- **Keywords**: gdb, debug, mcp
- **Repository**: [GitHub](https://github.com/signal-slot/mcp-gdb)
## Supported GDB Commands
- `gdb_start`: Start a new GDB session
- `gdb_load`: Load a program into GDB
- `gdb_command`: Execute an arbitrary GDB command
- `gdb_terminate`: Terminate a GDB session
- `gdb_list_sessions`: List all active GDB sessions
- `gdb_attach`: Attach to a running process
- `gdb_load_core`: Load a core dump file
- `gdb_set_breakpoint`: Set a breakpoint
- `gdb_continue`: Continue program execution
- `gdb_step`: Step program execution
- `gdb_next`: Step over function calls
- `gdb_finish`: Execute until the current function returns
- `gdb_backtrace`: Show call stack
- `gdb_print`: Print value of expression
- `gdb_examine`: Examine memory
- `gdb_info_registers`: Display registers
## License
MIT