
ghidra-mcp v6.0.0
Server MCP che collega il reverse engineering di Ghidra con strumenti AI: 256 strumenti per decompilazione, emulazione P-code, debugging live, analisi del flusso di dati, operazioni batch e applicazione delle convenzioni in modalità headless e GUI.
Ghidra MCP Server
Se lo trovi utile, lascia una ⭐ al repository — aiuta altri a scoprirlo!
Se Ghidra MCP ti fa risparmiare tempo, considera di sponsorizzare il progetto. Il supporto una tantum e quello ricorrente aiutano entrambi a finanziare aggiornamenti di compatibilità, hardening per la produzione, documentazione e nuovi strumenti.
Un server Model Context Protocol (MCP) pronto per la produzione che collega le potenti capacità di reverse engineering di Ghidra con i moderni strumenti di AI e i framework di automazione. 253 strumenti MCP, workflow AI collaudati e l'integrazione Ghidra-MCP più completa disponibile — ora include emulazione P-code, integrazione con debugger live e analisi del flusso di dati tramite grafo PCode.
Perché Ghidra MCP?
La maggior parte delle implementazioni Ghidra MCP ti offre una manciata di strumenti di sola lettura e finisce lì. Questo progetto è diverso — è stato creato da un reverse engineer che lo usa ogni giorno su binari reali, non come demo.
- 253 strumenti MCP — 3 volte più di qualsiasi implementazione concorrente. Non solo operazioni di lettura — accesso completo in scrittura per rinominare, tipizzare, commentare, creare strutture, eseguire script, emulazione P-code e debug live.
- Workflow AI collaudati — Workflow di documentazione comprovati (V5) perfezionati su centinaia di funzioni. Include prompt passo-passo, riferimento alla notazione ungherese, guide all'elaborazione batch e scoperta di codice orfano.
- Affidabilità di livello produttivo — Transazioni atomiche, operazioni batch (riduzione del 93% delle chiamate API), timeout configurabili e gestione degli errori senza interruzioni. Nessun fallimento silenzioso.
- Trasferimento di documentazione tra binari — Il matching degli hash di funzione SHA-256 propaga automaticamente la documentazione tra versioni del binario. Documenta una volta, applica ovunque.
- Integrazione completa con Ghidra Server — Connettiti a server Ghidra condivisi, gestisci repository, controllo di versione, workflow di checkout/checkin e collaborazione multiutente.
- Modalità headless e GUI — Esegui con o senza la GUI di Ghidra. Pronto per Docker per pipeline CI/CD e analisi automatizzata su larga scala.
- Opinionato per design — La v5.0 sposta convenzioni di denominazione, type safety e standard di documentazione nel livello degli strumenti. Agenti AI e ingegneri umani producono output coerenti senza dover incollare una guida di stile in ogni prompt.
Applicazione delle Convenzioni
Ci sei già passato: sei mesi dentro un progetto e trovi ProcessItem, process_items, handleItem e ItemProc nello stesso codebase — quattro funzioni che fanno la stessa cosa, denominate da quattro sessioni o ingegneri diversi senza un contratto condiviso. Sistemarlo richiede più tempo del dovuto, e il problema si ripresenterà.
La v5.0 sposta le convenzioni da "cose da ricordare" al livello degli strumenti, dove possono essere effettivamente applicate.
| Livello | Comportamento | Esempio |
|---|---|---|
| Auto-fix | Applicato silenziosamente | Campo count su un uint32 → prefisso automatico dwCount al salvataggio |
| Warn | La modifica passa, viene restituito un avviso | processData → "il nome dovrebbe essere PascalCase con un verbo: ProcessData" |
| Reject | Modifica bloccata con spiegazione | Cambio di tipo undefined → undefined → "no-op rifiutato, tipo invariato" |
Per gli agenti AI, questo significa output coerente in ogni sessione, ogni modello, ogni esecuzione — senza incollare una guida di stile in ogni prompt. Lo strumento conosce le regole; il modello deve solo prendere la decisione.
Per i team, elimina l'intera classe di commenti in revisione che dicono "questa non è la nostra convenzione di denominazione". L'arbitrato delle convenzioni resta nello strumento, non nella code review.
Per il lavoro individuale su larga scala, analyze_function_completeness ti fornisce un punteggio da 0 a 100% che misura onestamente: le deduzioni strutturali (artefatti del compilatore non correggibili) vengono perdonate nel tuo punteggio effettivo, la scala logaritmica impedisce che una singola categoria negativa seppellisca tutto il resto, e la qualità dei commenti a piastrella a livelli ti fa sapere esattamente cosa manca e perché.
🌟 Funzionalità
Integrazione MCP Principale
- Piena Compatibilità MCP — Implementazione completa del Model Context Protocol
- 253 strumenti MCP — Superficie API completa che copre ogni aspetto dell'analisi dei binari
- Affidabilità Pronta per la Produzione — Transazioni atomiche, operazioni batch, timeout configurabili
- Analisi in Tempo Reale — Integrazione live con il motore di analisi di Ghidra
Nota sulla compatibilità: i nomi degli strumenti MCP sono normalizzati per GitHub Copilot CLI e la validazione CAPI. I nomi degli strumenti esposti usano solo lettere minuscole, cifre, underscore e trattini; i percorsi HTTP annidati come
/debugger/statusvengono pubblicizzati con nomi comedebugger_status_2quando necessario per evitare collisioni con gli strumenti bridge statici.