AgentStack
MCP verified MIT Self-run

Gdb Mcp

mcp-datobena-gdb-mcp · by datobena

MCP server from datobena/gdb-mcp.

No reviews yet
0 installs
9 views
0.0% view→install

Install

$ agentstack add mcp-datobena-gdb-mcp

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Gdb Mcp? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

gdb-mcp

Model Context Protocol server that wraps gdb so an LLM can drive live debugging sessions. The server exposes tools for starting a session on a binary, attaching to an existing PID, running ad-hoc commands, batching commands, checking status, and shutting sessions down.

> Requires gdb on the host and the mcp python package (v1+).

Setup

Install from PyPI (preferred):

pip install gdb-mcp

You can also install from source, inside a virtualenv (recommended) or directly:

# optional but recommended
python -m venv .venv
. .venv/bin/activate

pip install -e .
# or: pip install .

Running the MCP server

You can start the server directly:

gdb-mcp
# or
python -m gdb_mcp.server

The server uses stdio for transport (the default for most MCP clients). Point your MCP client configuration at the command above.

One-shot client configuration

Run gdb-mcp --install to add the server to any detected MCP-aware clients without editing config files by hand. The installer currently knows how to update:

  • Codex CLI (~/.codex/config.toml)
  • Claude Desktop configs (common Linux/macOS paths)
  • Cursor / Windsurf MCP config files (if present)

Use --install-command /custom/path/to/gdb-mcp or --install-args ... if you need to override what gets written.

Exposed tools

  • start_binary(binary_path, args=None, cwd=None, load_init=True, start_timeout=30.0, prompt=None, force_prompt=True) – launch gdb

against a target binary (with optional args) and return a session id and the initial banner. Set load_init=False to skip user gdbinit (default is to load it so helpers like GEF/pwndbg remain enabled). Increase start_timeout if loading extensions takes longer to reach the first prompt. Use prompt to force a specific prompt string (defaults cover (gdb), (pwndbg), and gef>). force_prompt sets the prompt to the chosen value after startup to avoid timeouts from customized prompts (e.g., pwndbg); set force_prompt=False if you need to keep your custom prompt unchanged.

  • attach_to_pid(pid, cwd=None, load_init=True, start_timeout=30.0, prompt=None, force_prompt=True) – start gdb and attach to a

running process (same load_init/timeout/prompt behavior as above).

  • gdb_command(session_id, command, timeout_seconds=15.0) – execute a single

gdb command in the given session and return the output.

  • batch_commands(session_id, commands, timeout_seconds=15.0) – run a list of

commands sequentially.

  • list_sessions() – get a snapshot of all active sessions.
  • session_status(session_id) – check if the gdb process is still alive.
  • stop_session(session_id) – shut down the gdb process and remove it.

Each tool returns simple JSON so it is easy to route back into your LLM prompt.

Notes and tips

  • The server automatically disables pagination and confirmation prompts and

enables pending breakpoints to keep interactions non-blocking.

  • timeout_seconds applies per command. If you expect a program to run for a

long time, pass a larger timeout or None.

  • Output is captured from gdb stdout/stderr until the next (gdb) prompt. If

you spawn a program that never returns to the prompt (e.g., it blocks on input), the call will time out.

  • Common debugger prompts are detected automatically ((gdb), (pwndbg),

gef>), even with ANSI colors. You can still pass a custom prompt if you use something nonstandard. By default the server forces the prompt to a stable value (force_prompt=True) so gdbinit customizations (like pwndbg) don’t prevent the initial prompt from being detected.

Demo

Auto-playing preview:

Source video: docs/media/demo.mp4

Credits

  • This project was built for my CSE 598 class, which emphasized using AI/LLMs in

our workflow. I leaned on AI to write the entire project—including this README.

  • Inspired by https://github.com/mrexodia/ida-pro-mcp, and their server logic

was used as a starting point.

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.