IDA Pro MCP fusion with cache queries and multi-binary headless analysis.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
One MCP endpoint. Many binaries. Persistent analysis context.
Quick start Β· Why Fusion Β· Architecture Β· Tools Β· Configuration Β· Development
IDA Pro MCP Fusion connects MCP-compatible coding agents to IDA Pro and turns a single connection into a practical reverse-engineering workspace. It combines live IDA analysis with a persistent SQLite index and a supervisor that can keep several binaries open in isolated headless workers.
Use it to decompile and disassemble functions, trace cross-references, query types, rename symbols, patch data, create signatures, inspect multiple samples, and reuse cached analysis without repeatedly walking IDA's single-threaded APIs.
[!IMPORTANT] This project requires a local, licensed installation of IDA Pro. IDA Free is not supported. The server does not provide IDA, Hex-Rays, or a hosted analysis service.
| Capability | What it changes | |
|---|---|---|
| β‘ | Persistent SQLite cache | Functions, strings, globals, imports, xrefs, and call-graph edges remain queryable across repeated investigations. |
| β | Multi-binary supervisor | Open, address, and close several GUI or headless databases through one MCP endpoint. |
| β | Persistent workers | A later supervisor can discover and adopt an existing worker for the same database. |
| β | Batch-first workflow | Warm analysis and build caches for a collection of samples with one idb_batch_open call. |
| β¨ | Controlled surface | Read-only profiles, opt-in unsafe tools, worker limits, timeouts, and idle cleanup keep automation bounded. |
The cache lives beside the IDB as <database>.mcp.sqlite. Freshness is checked against the IDB modification time and cache schema, so stale rows are not silently reused.
uv / uvxInstall uv if it is not available:
Activate IDA's headless Python environment once:
The recommended setup runs the latest code directly from this repository:
Claude Code:
Or download the packaged MCP bundle from the latest release.
Ask the connected agent to start with:
Every analysis call then names its database explicitly:
idalib-mcp over stdio or HTTP.database session ID, so requests are routed to the correct IDB.GUI databases can participate too. idb_open supports four routing modes:
| Mode | Behaviour |
|---|---|
prefer_headless | Use or create an idalib worker. This is the default. |
force_headless | Never adopt a running GUI instance. |
prefer_gui | Adopt a matching GUI instance, otherwise create a worker. |
force_gui | Adopt a matching GUI instance or launch IDA GUI. |
Open a small collection and keep every session available:
For a large corpus, build each cache and release its worker immediately:
Useful session controls:
The codebase registers 75 IDA-facing analysis tools, plus the supervisor's multi-session controls. The exact number visible to a client intentionally varies: debugger tools are an extension, dangerous operations are disabled unless explicitly enabled, and a profile can expose a smaller allowlist.
| Area | Representative tools |
|---|---|
| Sessions | idb_open, idb_batch_open, idb_list, idb_close, idb_save |
| Survey & decompilation | survey_binary, decompile, disasm, analyze_function, analyze_component |
| Search & relationships | find, find_bytes, search_text, xrefs_to, callees, callgraph, trace_data_flow |
| Persistent cache | cache_status, refresh_cache, cache_entity_query, cache_xrefs, cache_callgraph_hotspots, cache_find_regex |
| Types & stack | declare_type, type_inspect, set_type, infer_types, stack_frame, declare_stack |
| Database editing | rename, set_comments, define_func, define_code, patch_asm, make_data |
| Signatures | make_signature, make_signature_for_function, make_signature_for_range, find_xref_signatures |
| Debugger extension | dbg_start, dbg_bps, dbg_regs, dbg_stacktrace, dbg_read, dbg_write |
The nine cache-specific tools are:
| Option / variable | Purpose |
|---|---|
--max-workers N | Maximum simultaneous database workers; 0 means unlimited. Default: 4. |
IDA_MCP_MAX_WORKERS | Environment default for the worker limit. |
IDA_MCP_OPEN_TIMEOUT | Maximum auto-analysis open time in seconds. Default: 1800; 0 disables the limit. |
IDA_MCP_LOAD_TIMEOUT | Maximum load-only open time in seconds. Default: 300; 0 disables the limit. |
Expose only a curated set of tools:
Two ready-to-use profiles are included:
profiles/readonly.txt β inspection without mutation toolsprofiles/triage.txt β compact first-pass analysis surfaceManagement tools remain available so sessions can still be opened and inspected.
IDA GUI bridge:
To install the GUI plugin and generate client configuration interactively:
Restart IDA and the MCP client after installation.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/ida-pro-mcp-fusion)<a href="https://allmcps.com/mcp/ida-pro-mcp-fusion"><img src="https://allmcps.com/api/badge/ida-pro-mcp-fusion?style=directory" alt="IDA Pro MCP Fusion on AllMCPs" /></a>