Servidor MCP que conecta a engenharia reversa do Ghidra com ferramentas de IA: 256 ferramentas para decompilação, emulação P-code, depuração ao vivo, análise de fluxo de dados, operações em lote e aplicação de convenções nos modos headless e GUI.
Se você achar isso útil, por favor ⭐ dê uma estrela no repositório — isso ajuda outros a descobri-lo!
Se o Ghidra MCP economiza seu tempo, considere patrocinar o projeto. Suporte único e recorrente ajudam a financiar atualizações de compatibilidade, robustez para produção, documentação e novas ferramentas.
Um servidor Model Context Protocol (MCP) pronto para produção que conecta as poderosas capacidades de engenharia reversa do Ghidra com ferramentas modernas de IA e frameworks de automação. 253 ferramentas MCP, fluxos de trabalho de IA testados em batalha e a integração Ghidra-MCP mais abrangente disponível — agora incluindo emulação P-code, integração com depurador ao vivo e análise de fluxo de dados por grafo PCode.
A maioria das implementações de Ghidra MCP oferece um punhado de ferramentas somente leitura e considera isso suficiente. Este projeto é diferente — foi construído por um engenheiro reverso que o usa diariamente em binários reais, não como uma demonstração.
Você já passou por isso: seis meses dentro de um projeto você encontra ProcessItem, process_items, handleItem e ItemProc na mesma base de código — quatro funções fazendo a mesma coisa, nomeadas por quatro sessões ou engenheiros diferentes sem um contrato compartilhado. Corrigir isso leva mais tempo do que deveria, e o problema vai acontecer de novo.
A v5.0 move convenções de "coisas para lembrar" para a camada de ferramentas, onde elas podem realmente ser aplicadas.
| Nível | Comportamento | Exemplo |
|---|---|---|
| Correção automática | Aplicada silenciosamente | Campo count em um uint32 → prefixado automaticamente como dwCount ao salvar |
| Aviso | A alteração passa, aviso retornado | processData → "o nome deve ser PascalCase com um verbo: ProcessData" |
| Rejeição | Alteração bloqueada com explicação | Mudança de tipo undefined → undefined → "no-op rejeitado, tipo inalterado" |
Para agentes de IA, isso significa saída consistente em cada sessão, cada modelo, cada execução — sem colar um guia de estilo em cada prompt. A ferramenta conhece as regras; o modelo só precisa tomar a decisão.
Para equipes, elimina toda a classe de comentário de revisão que diz "essa não é a nossa convenção de nomenclatura." A arbitragem de convenções fica na ferramenta, não na revisão de código.
Para trabalho solo em escala, analyze_function_completeness fornece uma pontuação de 0–100% que mede honestamente: deduções estruturais (artefatos de compilador não corrigíveis) são perdoadas na sua pontuação efetiva, escala logarítmica evita que uma categoria ruim enterre todo o resto, e qualidade de comentário de placa em níveis significa que você sabe exatamente o que está faltando e por quê.
Nota de compatibilidade: Os nomes das ferramentas MCP são normalizados para o GitHub Copilot CLI e validação CAPI. Os nomes de ferramentas expostos usam apenas letras minúsculas, dígitos, underscores e hífens; caminhos HTTP aninhados como
/debugger/statussão anunciados como nomes comodebugger_status_2quando necessário para evitar colisões com ferramentas de ponte estáticas.