mrkeyoor.com_
Thu 17 Sept 05:16 UTC
AI Toolsevaluationupdated 26 Aug 2026

ida-pro-mcp review

IDA Pro MCP connects an MCP-capable coding agent to IDA Pro so the agent can inspect, annotate, rename, patch, and debug binaries. It supports the IDA interface and headless idalib workers, letting one client manage several named analysis databases.

+120stars / 7d
Verdict

Our IDA Pro MCP run installed 35 packages in 22 seconds and built in 8 seconds, but pytest ended with 29 collection or setup errors after 136 tests passed. It is worth trying for an experienced IDA Pro user who will treat agent output as a draft and keep write-capable tools under supervision. Wait for a clean suite, or isolate the server around disposable database copies, before automating changes to valuable analysis work.

We ran it

Lab card: what happened when we ran ida-pro-mcpScreenshot of ida-pro-mcp (plugins.hex-rays.com/mrexodia/ida-pro-mcp)
Install✓ · 22s35 packages · 53 MB
Build✓ · 8s
Tests✗ · 13s136 passed · 0 failed · 29 errors of 165 (pytest)
Known vulns0(pip-audit)
Repo211 files~35,032 lines of source · 6 MB · 1 CI workflows · tests dir

Answers from our run

Does ida-pro-mcp build from source?

Dependencies installed in 22 seconds (35 packages), and the build succeeded in 8 seconds. We cloned commit 3349ae3 into a clean Debian container with 3 CPUs and no project-specific setup.

Do ida-pro-mcp's tests pass?

Yes: 136 of 165 passed when we ran the project's own test command (pytest), with 29 collection errors. Some failures need services or credentials a bare container does not have.

Does ida-pro-mcp have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use ida-pro-mcp?

IDA Free users: the README requires IDA Pro 8.3 or newer and says the free edition is unsupported.

What are the alternatives to ida-pro-mcp?

Ghidra, radare2, Rizin. Our IDA Pro MCP run installed 35 packages in 22 seconds and built in 8 seconds, but pytest ended with 29 collection or setup errors after 136 tests passed.

Setup2/5Fast package setup, but paid IDA, idalib, uv, and restarts are needed
Docs5/5Client setup, session model, tools, and accuracy limits are explicit
Community5/511,615 stars with active 2026 issues and proposed fixes
Maturity3/5Broad API and active work, but 29 test setup errors block confidence

Who it’s for

Reverse engineers who already own IDA Pro and want an agent to gather cross-references, decompilation, types, and call information.
Malware analysts who will verify every model conclusion against disassembly and controlled execution.
Claude Code, Codex, Cursor, and other MCP users who need repeatable access to IDA data.
Teams processing several binaries through named headless idalib sessions with explicit worker limits.

Who it’s NOT for

IDA Free users: the README requires IDA Pro 8.3 or newer and says the free edition is unsupported.
Analysts expecting the model to handle obfuscation unaided: the README warns that string encryption, control-flow flattening, and anti-decompilation tricks reduce accuracy.
Environments that require a read-only bridge: tools can patch bytes, change types, write debugger memory, and execute arbitrary Python in IDA.
Teams needing a green test suite on a clean host: our run ended with 29 collection or setup errors despite 136 passing tests.
Claude Code users relying on automatic plugin updates: issue 474 reports a manifest pinned to 0.1.0 and recommends uninstalling and reinstalling as a workaround.

Setup reality

Our sandbox installed 35 Python packages in 22 seconds and used 53 MB. The build passed in 8 seconds. Tests failed after 13 seconds: pytest reported 136 passed, 0 failed, and 29 collection or setup errors out of 165; pip-audit found 0 known vulnerabilities.

Python 3.11 or newer, uv, a licensed IDA Pro 8.3 or newer installation, global idalib activation, and an MCP client are required. Plugin installs need a complete restart of both IDA and clients that remain running in the background.

The test log tail names server, tool-metadata, trace, typed-fixture, utility, schema, endpoint, HTTP, list-tools, and truncation modules as errors but does not show a cause, so we do not assign one. Headless workers persist beyond supervisors and default to a 1-hour idle timeout with 4 workers maximum.

IDA Pro becomes a named MCP analysis service

IDA Pro MCP exposes decompilation, disassembly, functions, imports, cross-references, types, memory, stack frames, searches, and graphs to an MCP client. It also lets an agent rename symbols, add comments, declare types, define code, patch bytes, and save databases. The newer idalib service can open several binaries as named sessions, while the GUI bridge connects to an interactive IDA process. That combination can remove repetitive navigation from reverse engineering without replacing the analyst who judges the result.

The repository is substantial enough to deserve normal service discipline. Our checkout contained 211 files, about 35,032 source lines, and measured 6 MB. Most calls use structured parameters, batch-oriented results, pagination, and explicit database session IDs. The explicit ID is a good safeguard when several binaries are open because there is no ambient current database. It does not prevent an agent from choosing the wrong session, so prompts and approval logs still need to name the sample and expected operation.

A paid IDA installation is the first dependency

Python 3.11 or newer and uv are only the beginning. The README requires IDA Pro 8.3 or newer, recommends version 9, and says IDA Free is unsupported. Headless operation also needs idalib activated globally with the script shipped inside the IDA installation. GUI installation must be followed by a complete restart of IDA and the MCP client; desktop clients that remain in the system tray must actually be quit.

Client setup has ready-made paths for Claude Code, Codex, and Kimi Code, plus generated configuration for other MCP clients. The README says the older GUI MCP plugin is no longer recommended and will eventually be deprecated in favor of idalib-mcp. Our 53 MB installed Python environment therefore understates the real price: a licensed analysis suite, its supported Python bridge, an agent client, a model account or local model, and enough isolation for untrusted binaries all sit outside those 35 packages.

What happened when we ran it

Our fresh unprivileged Debian sandbox installed commit 3349ae3 in 22 seconds. It added 35 Python packages and occupied 53 MB on disk. The build completed in 8 seconds, and pip-audit reported 0 known vulnerabilities. The repository had 1 CI workflow file, no Dockerfile, and a tests directory. No licensed IDA installation or idalib activation was available in this sandbox, so the meaningful evidence comes from the package, build, and test logs we were given.

Pytest exited with code 1 after 13 seconds. It reported 136 passed, 0 failed, and 29 collection or setup errors out of 165. The log tail listed errors in server, tool metadata, trace, typed fixture, utility, MCP schema, endpoint, HTTP end-to-end, tools-list, and truncation modules. Those lines do not identify why setup failed, so blaming missing IDA libraries or a system package would be speculation. The honest result is a partially exercised suite that did not complete in our stated environment.

Write tools make a disposable database the safe default

This server is not read-only. An agent can rename identifiers, change function and variable types, create or delete stack variables, define and undefine code, assemble patches, write raw bytes, add comments, and save the database. The py_eval tool can run arbitrary Python inside IDA. Debugger operations are hidden unless the connection enables the dbg extension, but once enabled they can start execution, set breakpoints, and write memory. Those capabilities are useful precisely because they carry side effects.

Start with copies of the binary and database, bind HTTP transports to localhost, and expose only the tools needed for one task. The 136 passing tests show that much of the suite ran, while the 29 setup errors prevent treating every boundary as checked. An agent's rename can look plausible and still poison later analysis. Save checkpoints, compare database changes, and require human review before patches or debugger writes become part of a report.

The README warns that models misread hard binaries

The prompting guidance tells users to verify decompilation, improve types and names, consult assembly when needed, and use a conversion tool instead of trusting the model to translate integer and byte representations. It also says models perform poorly on obfuscated code and recommends removing string encryption, import hashing, flattened control flow, encrypted code, and anti-decompilation tricks before expecting good results. That is a candid limit, not a minor tuning note.

Current issues give concrete examples of machine-readable output going wrong. Issue 506 says the callgraph tool labels non-fallthrough jumps as calls, so a loop can appear as self-recursion; pull request 507 proposes a fix. Issue 510 reports that 64-bit values outside JavaScript's safe integer range can become BigInt values and crash clients when re-serialized. These bugs affect exactly the structured facts an agent may trust. Cross-check graphs and large numeric values against IDA itself until fixes reach the installed revision.

Headless workers persist after the supervisor exits

The idalib supervisor gives each database its own worker process. Workers register in a host-local discovery directory, can be adopted by later supervisors, and outlive the process that created them. The default limit is 4 workers and the idle timeout is 1 hour; idb_close can release one earlier. This supports long analyses and client restarts, but operators must expect lingering processes, locked databases, and saved state after the visible MCP session ends.

Issue 497 reports a Windows race where a live GUI registration file can be deleted after one failed probe, preventing later discovery and adoption even though the process still answers directly. GitHub showed 11,615 stars, 45 combined open issues and pull requests, and a last push on August 17, 2026. The latest tagged release was 1.4.0 from October 2025, while source activity continued well beyond it. Pin the commit or plugin revision, confirm update behavior, and rerun the suite in the licensed IDA environment before depending on headless workers.

Alternatives

ProjectWhat it isPick it when
Ghidra gh↗A free reverse-engineering suite with decompilation, scripting, and collaboration features.pick this instead when a no-cost analysis platform matters more than an MCP bridge to IDA.
radare2 gh↗A scriptable command-line framework for disassembly, debugging, and binary analysis.pick this instead when terminal automation and an open toolchain are the main requirements.
RizinAn open reverse-engineering framework with command-line and library interfaces.pick this instead when you want to build automation on an open analysis core without an IDA license.

Sources

  1. IDA Pro MCP repository and README
  2. IDA Pro MCP 1.4.0 release
  3. 64-bit MCP value serialization report
  4. Callgraph false-call report
  5. GUI discovery race report

More ai tools reviews

yolov5 · eve · MemOS · LongCat-Video · Concat · DLSS5-Feeder · the whole board →