GDB
Um servidor de protocolo GDB/MI baseado no protocolo MCP, fornecendo capacidades de depuração remota de aplicações com assistentes de IA.
GitHub
68
Experimente este MCPPatrocinadoDocumentação
Servidor MCP GDB
Um servidor de protocolo GDB/MI baseado no protocolo MCP, fornecendo capacidades de depuração remota de aplicações com assistentes de IA.
Recursos
- Criar e gerenciar sessões de depuração GDB
- Definir e gerenciar breakpoints
- Visualizar informações de pilha e variáveis
- Controlar a execução do programa (executar, pausar, avançar passo a passo, etc.)
- Suporte à depuração concorrente de múltiplas sessões
- Um TUI integrado para inspecionar comportamentos dos agentes, permitindo melhorar seu prompt (WIP)
Instalação
Binários Pré-compilados
Encontre os binários na página de releases, escolha um de acordo com sua plataforma de trabalho e execute-o diretamente.
Compilar a partir do Código-Fonte
Clone o repositório e compile-o com cargo
cargo build --release
cargo run
Usando Nix
Se você tiver o Nix instalado, pode executar o projeto sem clonar:
Executar localmente (após clonar)
nix run .
Executar remotamente a partir do GitHub
nix run "git+https://github.com/pansila/mcp_server_gdb.git" -- --help
Ambiente de desenvolvimento
Para entrar em um shell de desenvolvimento com todas as dependências:
nix develop
Uso
- Basta executá-lo diretamente:
./mcp-server-gdb - O servidor suporta dois modos de transporte:
- Stdio (padrão): transporte de entrada/saída padrão
- SSE: transporte Server-Sent Events, padrão em
http://127.0.0.1:8080
Configuração
Você pode ajustar a configuração do servidor modificando o arquivo src/config.rs ou por meio de variáveis de ambiente:
- Endereço IP do servidor
- Porta do servidor
- Tempo limite de timeout do comando GDB (em segundos)
Ferramentas MCP Suportadas
Gerenciamento de Sessões
create_session- Criar uma nova sessão de depuração GDBget_session- Obter informações de uma sessão específicaget_all_sessions- Obter todas as sessõesclose_session- Fechar sessão
Controle de Depuração
start_debugging- Iniciar depuraçãostop_debugging- Parar depuraçãocontinue_execution- Continuar execuçãostep_execution- Avançar para a próxima linha (step into)next_execution- Avançar sobre a próxima linha (step over)
Gerenciamento de Breakpoints
get_breakpoints- Obter lista de breakpointsset_breakpoint- Definir breakpointdelete_breakpoint- Excluir breakpoint
Informações de Depuração
get_stack_frames- Obter informações do quadro de pilhaget_local_variables- Obter variáveis locaisget_registers- Obter registradoresread_memory- Ler conteúdo da memória
Licença
MIT