Serveur MCP local-first et déterministe pour IDA Pro/Home : 109 opérations de reverse engineering à schéma strict, des conclusions étayées par des preuves et des modifications d'IDB contrôlées par des politiques.
⚠️ Archivé — remplacé par le serveur MCP officiel de Hex-Rays pour IDA
Ce projet n'est plus maintenu. Le 2026-09-27, Hex-Rays SA a publié le Serveur MCP officiel pour IDA et IDA Nexus. Le développement s'est arrêté le même jour à la version
1.0.0a4.Pour une utilisation actuelle, installez le leur :
uvx ida-hcli mcp install. Il nécessite IDA 9.4+ avecidalibet fonctionne entièrement en mode headless ; le plugin GUI est facultatif.Ce dépôt est conservé pour sa suite de tests, sa documentation et son historique architectural. Consultez ARCHIVE.md pour le compte rendu complet de clôture : ce que le projet était, pourquoi il a échoué, quelles parties étaient de l'échafaudage et quelles parties ont encore de la valeur. Le reste de ce README décrit un système qui n'est plus recommandé pour utilisation.

IDA Pro MCP est un serveur local Model Context Protocol pour IDA Pro. Il permet à un client MCP d'inspecter un IDB, de demander à IDA des résultats d'analyse déterministes et, lorsque cela est explicitement autorisé, d'écrire des annotations ou d'autres modifications dans l'IDB. Le processus hôte s'exécute en dehors d'IDA et démarre un processus IDA headless séparé pour chaque session par défaut.
ida_* à schéma strict avec
découverte en direct via tools/list et ida_help.La version actuelle est 1.0.0a4. Il s'agit d'un logiciel alpha. Les noms
d'opérations ida_* publics, les schémas et le format d'espace de travail peuvent changer avant une
version stable 1.0.0. La surface client par défaut contient 102 opérations à schéma exact.
Utilisez la découverte en direct pour le contrat complet : tools/list énumère chaque
opération avec son schéma, et ida_help(topic="...") renvoie les arguments exacts
et un exemple pour une opération.
Vous avez besoin de :
idat/idat64 utilisable.
Les preuves de tests en direct du dépôt couvrent IDA 9.3 et 9.4 ; 9.2 est le
seuil de compatibilité déclaré.L'analyse normale ne nécessite pas de fournisseur d'intelligence. Les modes d'intelligence
explicites sont jev, custom et disabled ; le mode désactivé conserve
la recherche lexicale déterministe disponible et il n'y a pas de repli local, Gemini ou
modèle natif.
Le runtime par défaut est idat : un processus IDA headless par session. Le
backend idalib est expérimental, nécessite une installation d'IDA 9.3 ou plus récente
avec le paquet idapro activé, et n'est pas nécessaire pour une première installation.
L'installateur crée un environnement géré sous la racine d'installation, y installe une copie figée de la copie source, et écrit la configuration client pour les emplacements clients pris en charge. Depuis la racine du dépôt, exécutez :
python3 install.py
Pour une installation IDA connue, passez-la explicitement :
python3 install.py --ida-dir /path/to/ida-pro-9.3
Pour une exécution non interactive :
python3 install.py --yes --no-ida-prompt --ida-dir /path/to/ida-pro-9.3
L'installateur peut également trouver IDA via IDADIR, IDA_DIR, les
exécutables IDA sur le PATH, et les répertoires d'installation courants. --ida-version
sélectionne une version lorsque plusieurs installations sont présentes. Utilisez
--dry-run pour inspecter d'abord les modifications prévues.
L'installateur ne télécharge jamais un modèle de fournisseur ni un runtime. Il peut créer
ou mettre à jour des fichiers de configuration pour chaque emplacement de client
dans sa table de clients intégrée, y compris les clients qui ne sont pas installés
sur votre machine. Consultez install-report.json dans la racine d'installation et supprimez les
entrées inutilisées si nécessaire. Les fichiers de configuration réguliers existants sont sauvegardés
avant d'être modifiés ; les fichiers malformés, liés symboliquement ou non réguliers sont
refusés plutôt qu'écrasés.
Redémarrez le client MCP après l'installation afin qu'il recharge sa configuration.
Les harnais d'agents découvrent la surface d'outils en direct : tools/list énumère chaque
opération avec son schéma, et ida_help(topic="...") renvoie les arguments exacts
et un exemple. Aucun fichier de compétence statique n'est installé.
La racine d'installation par défaut est :
~/.local/share/ida-pro-mcp%LOCALAPPDATA%/ida-pro-mcpDéfinissez IDA_PRO_MCP_HOME ou passez --install-root pour choisir un autre emplacement.
Les versions alpha sont construites par GitHub Actions et publiées manuellement en tant que
préversions. Lorsqu'une version est disponible, téléchargez l'asset bundle.zip ou
bundle.tar.gz ainsi que son fichier SHA256SUMS depuis la
page des versions. Vérifiez la
somme de contrôle, extrayez le bundle, et exécutez l'installateur depuis son répertoire
de premier niveau :
python3 install.py --yes --no-ida-prompt --ida-dir /path/to/ida-pro-9.3
La release contient également une wheel et une distribution source pour les installations Python scriptées. Le bundle est la voie la plus simple car il inclut l'installateur et tous les fichiers du projet nécessaires pour configurer un client MCP. Les releases sont de qualité alpha ; conservez le binaire d'origine et l'IDB et lisez les notes de version avant de mettre à niveau.
L'installateur écrit l'entrée du serveur pour les chemins de configuration client qu'il connaît. Il prend en charge Gemini CLI, Antigravity, Antigravity IDE, Antigravity CLI, Claude Code, Codex, Copilot CLI, OpenCode, Claude Desktop, Cursor, VS Code, Windsurf, Cline et Roo Code. OpenCode et les clients de la famille Copilot utilisent des formats de configuration différents ; laissez l'installateur écrire ces fichiers ou suivez le guide de configuration OpenCode.
Pour un client qui utilise le format JSON courant, l'entrée est équivalente à :