MeroZemory/ida-multi-mcp
Multi-instance IDA Pro MCP server — analyze multiple binaries simultaneously through a single MCP endpoint.
What it solves
ida-multi-mcp allows AI agents to reverse-engineer multiple binaries simultaneously through a single Model Context Protocol (MCP) endpoint. It eliminates the need for per-binary client configuration and prevents AI agents from providing incomplete answers by gating tools behind IDA Pro's auto-analysis process.
How it works
The project implements a router that sits between an MCP client (like Claude Code or Cursor) and multiple IDA Pro processes.
- Discovery: An IDA plugin registers each open database into a shared JSON registry file. The router then discovers these instances dynamically.
- Routing: The router uses
instance_idto direct requests to the correct IDA process via HTTP JSON-RPC. - Analysis Gating: It provides specific tools (
analysis_statusandanalysis_wait) to ensure IDA has finished background analysis before the agent attempts to decompile or analyze functions. - Similarity Search: It uses Binary Code Similarity Detection (BCSD) based on MinHash, CFG structure, and optional neural embeddings to find similar functions across different binaries, even if they are stripped of symbols.
- Headless Mode: It supports
idalibfor analysis without a GUI.
Who it’s for
Reverse engineers and security researchers who use IDA Pro and want to leverage AI agents to analyze complex malware chains (e.g., a dropper, payload, and C2 server) across multiple files at once.
Highlights
- Zero-config discovery: Instances auto-register when a database is opened.
- Cross-binary similarity: Local scoring and indexing for variant hunting and library identification.
- Parallel execution: Requests run on a worker pool to prevent one busy IDA instance from blocking others.
- Agent-aware gating: Warns agents when results are based on incomplete auto-analysis.
- Local-first: All scoring, inference, and binary data stay on the local machine.
Related
- Project
- Project
- Project
- Project
- Project