GDB MCP Server

Un servidor MCP que permite a los clientes LLM interactuar con GDB para depuración y análisis binario.

Documentación

MseeP.ai Security Assessment Badge

Multi-Debugger MCP Server (LLDB and GDB)

Un servidor de Protocolo de Contexto de Modelo que proporciona funcionalidad de depuración para los depuradores GDB y LLDB, para usar con Claude Desktop, VSCode Copilot u otros asistentes de IA.

GDB MCP Server

Inicio Rápido

uv sync
uv venv
uv run server.py

Integración

Ten en cuenta que puedes usar uv run para ejecutar el script server.py o puedes usar uv venv para crear un entorno virtual y luego ejecutar /home/youruser/dev/personal/GDB-MCP/.venv/bin/python /home/youruser/dev/personal/GDB-MCP/server.py.

Claude Desktop

Añade a tu claude_desktop_config.json:

{
  "mcpServers": {
    "gdb": {
      "command": "uv",
      "args": ["run", "/home/youruser/dev/personal/GDB-MCP/server.py"],
      "disabled": false
    }
  }
}

VSCode Copilot

Si estás usando 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"
        ]
      }
    }
  }

Si no estás usando 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"]
      }
    }
  }

Windsurf

{
  "mcpServers": {
    "debugger-mcp": {
      "command": "python3",
      "args": ["/Users/youruser/dev/GDB-MCP/server.py"]
    }
  }
}

Soporte Experimental de LLDB (macOS)

Este proyecto incluye soporte nativo experimental de LLDB junto con GDB, con selección automática del depurador.

Multi-Debugger MCP Server

Instalación

Para habilitar el soporte de LLDB en macOS, instala LLVM (que incluye LLDB) y python mediante Homebrew:

# Install LLDB for supporting python3.14 bindings
brew install llvm python3

# Install MCP and debugging dependencies
pip3 install mcp pygdbmi --break-system-packages

Herramientas Disponibles

Herramientas Unificadas

  • debugger_status(): Muestra los depuradores disponibles y su estado
  • debugger_start(): Inicia una sesión de depuración con detección automática del depurador
  • debugger_terminate(session_id): Termina la sesión de depuración
  • debugger_list_sessions(): Lista todas las sesiones de depuración activas
  • debugger_command(session_id, command): Ejecuta un comando del depurador

Herramientas LLDB

  • lldb_start(): Inicia una nueva sesión de depuración LLDB
  • lldb_terminate(session_id): Termina la sesión de depuración LLDB
  • lldb_list_sessions(): Lista todas las sesiones LLDB activas
  • lldb_command(session_id, command): Ejecuta cualquier comando LLDB

Herramientas GDB

  • gdb_start(gdb_path): Inicia una nueva sesión de depuración GDB
  • gdb_terminate(session_id): Termina la sesión de depuración GDB
  • gdb_list_sessions(): Lista todas las sesiones GDB activas
  • gdb_command(session_id, command): Ejecuta cualquier comando GDB

Usa las funciones *_command() para todas las operaciones avanzadas del depurador, tu cliente LLM ya debería saber cómo usarlas, pero no está de más mencionarlo.

Comprobación de Estado

Puedes verificar la disponibilidad del depurador:

from modules.lldb import LLDBSessionManager
from modules.gdb import GDBSessionManager

print("LLDB available:", LLDBSessionManager.is_available())
print("GDB available:", GDBSessionManager.is_available())

Pruebas

uv run python run-tests.py --check-deps
uv run python run-tests.py --type all

Ejemplos

Consulta el directorio examples para ver ejemplos de prompts.

Los binarios de ejemplo están compilados para arm64 y amd64, elige el que coincida con la arquitectura de tu sistema.

Licencia

Este proyecto está licenciado bajo la Licencia GNU Versión 3.0, consulta el archivo LICENSE para más detalles.