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.
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.
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.
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é.
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.