GDB MCP Server

Um servidor MCP que permite que clientes LLM interajam com o GDB para depuração e análise binária.

Documentação

MseeP.ai Security Assessment Badge

Servidor MCP Multi-Depurador (LLDB e GDB)

Um servidor Model Context Protocol que fornece funcionalidade de depuração para os depuradores GDB e LLDB, para uso com Claude Desktop, VSCode Copilot ou outros assistentes de IA.

GDB MCP Server

Início Rápido

uv sync
uv venv
uv run server.py

Integração

Observe que você pode usar uv run para executar o script server.py ou pode usar uv venv para criar um ambiente virtual e depois executar /home/youruser/dev/personal/GDB-MCP/.venv/bin/python /home/youruser/dev/personal/GDB-MCP/server.py.

Claude Desktop

Adicione ao seu claude_desktop_config.json:

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

VSCode Copilot

Se você estiver 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"
        ]
      }
    }
  }

Se você não estiver 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"]
    }
  }
}

Suporte Experimental a LLDB (macOS)

Este projeto inclui suporte nativo experimental a LLDB juntamente com GDB, com seleção automática de depurador.

Multi-Debugger MCP Server

Instalação

Para habilitar o suporte a LLDB no macOS, instale LLVM (que inclui LLDB) e python via Homebrew:

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

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

Ferramentas Disponíveis

Ferramentas Unificadas

  • debugger_status(): Mostrar depuradores disponíveis e seu status
  • debugger_start(): Iniciar sessão de depuração com depurador auto-detectado
  • debugger_terminate(session_id): Encerrar sessão de depuração
  • debugger_list_sessions(): Listar todas as sessões de depuração ativas
  • debugger_command(session_id, command): Executar comando do depurador

Ferramentas LLDB

  • lldb_start(): Iniciar nova sessão de depuração LLDB
  • lldb_terminate(session_id): Encerrar sessão de depuração LLDB
  • lldb_list_sessions(): Listar todas as sessões LLDB ativas
  • lldb_command(session_id, command): Executar comando LLDB arbitrário

Ferramentas GDB

  • gdb_start(gdb_path): Iniciar nova sessão de depuração GDB
  • gdb_terminate(session_id): Encerrar sessão de depuração GDB
  • gdb_list_sessions(): Listar todas as sessões GDB ativas
  • gdb_command(session_id, command): Executar qualquer comando GDB

Use as funções *_command() para todas as operações avançadas do depurador, seu cliente LLM já deve saber como usá-las, mas não custa mencionar.

Verificando o Status

Você pode verificar a disponibilidade do depurador:

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

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

Testes

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

Exemplos

Verifique o diretório examples para exemplos de prompts.

Os binários de exemplo são compilados para arm64 e amd64, escolha o que corresponde à arquitetura do seu sistema.

Licença

Este projeto é licenciado sob a Licença GNU Versão 3.0, consulte o arquivo LICENSE para obter detalhes.