Plugin server MCP autonomo per IDA Pro.
[!IMPORTANT] Archiviazione pianificata: IDAssistMCP è pianificato per l'archiviazione poiché IDA Pro introduce un server MCP nativo integrato. Il supporto nativo elimina la necessità di mantenere un'integrazione MCP separata e lo mantiene allineato con IDA Pro stesso. Si prega di utilizzare il server MCP nativo di IDA Pro una volta disponibile nella versione installata. Questo repository rimarrà disponibile come riferimento.
Plugin server MCP (Model Context Protocol) standalone per IDA Pro 9.x che espone le capacità di analisi di IDA ai client LLM come Claude Desktop.

action/format/direction per commenti, variabili, tipi, xref, segnalibri e codiceexecute_on_main_thread()IDASSISTMCP_)hcli plugin install idassistmcp
Questo installa automaticamente il plugin e le sue dipendenze Python.
Scarica l'ultimo zip di release da GitHub Releases ed estrailo nella tua directory dei plugin di IDA:
Linux / macOS:
unzip IDAssistMCP-*.zip -d ~/.idapro/plugins/
Windows:
Estrai lo zip in %APPDATA%\Hex-Rays\IDA Pro\plugins\.
Poi installa le dipendenze usando il Python incluso in IDA (non il Python di sistema):
Linux / macOS:
<IDA_INSTALL_DIR>/python3/bin/pip3 install -r ~/.idapro/plugins/IDAssistMCP/requirements.txt
Windows:
"<IDA_INSTALL_DIR>\python3\python.exe" -m pip install -r "%APPDATA%\Hex-Rays\IDA Pro\plugins\IDAssistMCP\requirements.txt"
Sostituisci
<IDA_INSTALL_DIR>con il percorso di installazione di IDA Pro.Suggerimento: Puoi anche usare la variabile d'ambiente
IDAUSRper specificare una directory dei plugin personalizzata.
Aggiungi al tuo claude_desktop_config.json di Claude Desktop:
{
"mcpServers": {
"idassistmcp": {
"url": "http://localhost:9080/mcp"
}
}
}
Configura tramite variabili d'ambiente con il prefisso IDASSISTMCP_:
| Variabile | Predefinito | Descrizione |
|---|---|---|
IDASSISTMCP_SERVER__HOST | localhost | Indirizzo di bind del server |
IDASSISTMCP_SERVER__PORT | 9080 | Porta del server |
IDASSISTMCP_SERVER__TRANSPORT | streamablehttp | Tipo di trasporto (sse o streamablehttp) |
IDASSISTMCP_DEBUG | false | Abilita modalità debug |
IDASSISTMCP_LOG_LEVEL | INFO | Livello di log |
| Strumento | Descrizione |
|---|---|
list_binaries | Elenca il binario attualmente caricato |
get_binary_info | Metadati dettagliati del binario (arch, hash, segmenti) |
| Strumento | Descrizione |
|---|---|
get_code | Ottieni il codice della funzione — format: 'decompile' (pseudo-C) o 'disasm' (assembly) |
analyze_function | Analisi completa: metadati, CFG, chiamanti/chiamati, decompilazione |
get_basic_blocks | Blocchi base del CFG con successori/predecessori |
get_function_stack_layout | Layout dello stack frame (locali, argomenti, registri salvati) |
| Strumento | Azioni | Descrizione |
|---|---|---|
xrefs | direction: to/from/both, include_calls: bool | Xref e chiamanti/chiamati opzionali per un indirizzo |
| Strumento | Azioni | Descrizione |
|---|---|---|
comments | action: get, set, list, remove | Gestisci commenti (regolari, ripetibili, di funzione) |
| Strumento | Azioni | Descrizione |
|---|---|---|
variables | action: list, rename | Elenca locali, o rinomina variabili locali/globali con scope: auto, local, global |
| Strumento | Azioni / Descrizione |
|---|---|
types | action: list, set, create_struct, create_enum — gestisci i tipi IDB |
get_classes | Elenca tipi struct/class dalla libreria dei tipi |
| Strumento | Descrizione |
|---|---|
get_functions | Tutte le funzioni con filtraggio e paginazione |
search_functions_by_name | Cerca per pattern di nome e filtri di dimensione |
get_function_by_name | Ricerca per nome esatto |
get_function_by_address | Ricerca per indirizzo |
get_function_statistics | Statistiche aggregate (conteggi, dimensioni, top-10) |
| Strumento | Descrizione |
|---|---|
rename_symbol | Rinomina qualsiasi simbolo (funzione o dato) |
batch_rename | Rinomina in batch più simboli |
| Strumento | Descrizione |
|---|---|
get_imports | Tabella delle importazioni raggruppata per modulo |
get_exports | Tabella delle esportazioni |
get_strings | Tabella delle stringhe con paginazione |
get_segments | Segmenti di memoria con permessi |
get_entry_points | Tutti i punti di ingresso del binario |
| Strumento | Descrizione |
|---|---|
read_memory | Leggi byte grezzi all'indirizzo |
get_data_at | Ottieni dati tipizzati all'indirizzo |
search_bytes | Ricerca di pattern di byte binari |
search_strings | Ricerca di stringhe con paginazione |
create_data_var | Definisci una variabile dati all'indirizzo (byte/word/dword/qword/float/ascii/tipo C) |
get_data_vars | Elenca le variabili dati definite (elementi non di codice) |
| Strumento | Descrizione |
|---|---|
patch_bytes | Applica patch ai byte grezzi nell'IDB |
assemble_code | Assembla il testo dell'istruzione a un indirizzo e opzionalmente applica la patch |
export_program | Esporta il binario modificato o il database IDA su disco |
| Strumento | Descrizione |
|---|---|
navigate_to | Sposta il cursore di IDA all'indirizzo |
bookmarks | Gestione consolidata dei segnalibri - azioni: list, set, remove |
get_current_address | Ottieni indirizzo e contesto alla posizione del cursore |
get_current_function | Ottieni info sulla funzione alla posizione del cursore |