mrkeyoor.com_
Sun 01 Nov 09:11 UTC
AI Toolsevaluationupdated 26 Oct 2026

ida-pro-mcp review

IDA Pro MCP connects MCP clients to IDA Pro for binary analysis and database changes through GUI connections or named headless idalib sessions. Its README now recommends the Official Hex-Rays IDA MCP Server instead. This review assesses the existing bridge and our recorded setup run; it does not compare the two servers.

+87stars / 7d
Verdict

For a new installation, first investigate the Official Hex-Rays IDA MCP Server because this repository's maintainer recommends it. The supplied evidence does not establish its capabilities or migration compatibility. IDA Pro MCP remains worth evaluating for an existing IDA workflow that needs its documented analysis and modification tools. Our September 28, 2026 run at c133c38 recorded successful install and build steps, followed by 141 passing tests and 30 errors. Missing jsonschema imports explain some collection errors; this does not prove the bridge is broken. Before relying on it, verify the CLI, licensed IDA connection, and intended operations on a disposable database.

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✓ · 20s37 packages · 54 MB
Build✓ · 4s
Tests✗ · 7s141 passed · 0 failed · 30 errors of 171 (pytest)
Known vulns0(pip-audit)
Repo213 files~35,655 lines of source · 6 MB · 1 CI workflows · tests dir

Answers from our run

Does ida-pro-mcp build from source?

Dependencies installed in 20 seconds (37 packages), and the build succeeded in 4 seconds. We cloned commit c133c38 into a clean Debian container with 3 CPUs and no project-specific setup.

Do ida-pro-mcp's tests pass?

No. The project's own test command finished in 7 seconds and reported 141 passed, 0 failed, 30 collection errors (pytest).

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 higher and explicitly excludes the free edition.

What are the alternatives to ida-pro-mcp?

Ghidra, radare2. For a new installation, first investigate the Official Hex-Rays IDA MCP Server because this repository's maintainer recommends it.

Setup2/5The README requires licensed IDA Pro and documents idalib activation, uv, client configuration, and GUI restarts. Successful recorded install and build steps do not verify operational setup.
Docs4/5The README details prerequisites, client setup, session lifecycle, tools, and model limitations. These procedures were not validated end to end in our recorded run.
Community3/5The supplied release lists multiple contributors, and issue 506 shows maintainer participation and closure through a pull request. Adoption and support reliability are not measured.
Maturity3/5A documented tool interface and version 1.4.0 release support evaluation. Our September 28, 2026 run at c133c38 reports 141 passed and 30 errors, including missing jsonschema imports; it does not verify operational compatibility or prove a product defect.

Who it’s for

Experienced IDA Pro users evaluating an existing MCP integration.
Analysts who can check agent conclusions against decompilation and assembly before accepting database changes.
Teams that need named headless database sessions and can manage persistent worker processes.

Who it’s NOT for

IDA Free users: the README requires IDA Pro 8.3 or higher and explicitly excludes the free edition.
Analysts expecting reliable conclusions from obfuscated binaries without additional analysis: the README warns that models struggle with these inputs.
Environments that require an inherently read-only bridge: the documented tools include database modifications, debugger memory writes, and arbitrary Python execution.
Teams requiring demonstrated operational compatibility in their licensed IDA environment: our recorded run establishes command outcomes, not a working IDA integration.

Setup reality

In our recorded run on September 28, 2026, at commit c133c3853faa111a9b00ee615c013b720d0c4acd, the install step exited successfully in 19.670 seconds, rounded to 20 seconds in the summary. The record lists 37 dependencies and 54 MB. The build step exited successfully in 4.138 seconds, rounded to 4 seconds, but its retained output is empty. These outcomes do not establish that an installed CLI or an IDA connection worked.

The test step exited with code 1 after 7.439 seconds. Its retained pytest summary says 141 passed and 30 errors in 2.51 seconds; that internal pytest duration differs from the elapsed command time. The parser records 0 failed and 171 total, but these summaries do not establish exhaustive unique test coverage. The tail explicitly shows missing jsonschema imports in several collection errors; it does not explain every error.

The recorded pip-audit advisory total is 0. Audit coverage is unknown, so this is not evidence that all dependencies were checked or that the product is safe.

The README requires Python 3.11 or higher and IDA Pro 8.3 or higher, with version 9 recommended. Its idalib setup requires global activation and uv. GUI plugin installation requires a complete restart of IDA and the MCP client. The README recommends idalib-mcp over the older GUI MCP plugin and now directs readers to the Official Hex-Rays IDA MCP Server.

Should you use this IDA bridge?

IDA Pro MCP's own README now recommends the Official Hex-Rays IDA MCP Server instead. That changes the starting point for a new installation: investigate the maintainer's recommendation before committing to this integration. The supplied sources do not establish the official server's features, compatibility, or migration steps, so this review does not rank the two.

For an existing IDA workflow, the relevant question is whether this bridge's documented tools fit your task and whether they work in your environment. The README describes decompilation, disassembly, cross-references, types, searches, and call graphs, alongside tools that rename symbols, add comments, patch bytes, and save databases. These are documented capabilities, not workloads we verified in the recorded sandbox run.

What our recorded run establishes

Our recorded run took place on September 28, 2026, at commit c133c3853faa111a9b00ee615c013b720d0c4acd, whose recorded commit date is September 26, 2026. No new execution was performed for this correction.

The configuration records 3 CPUs, 8 GB of memory, and the image ghcr.io/astral-sh/uv:python3.12-bookworm. The install output identifies Python 3.11.2 at /work/home/venv; the image name alone does not establish the runtime version.

The install step exited 0 in 19.670 seconds, rounded to 20 seconds. The record lists 37 dependencies and 54 MB. The build step exited 0 in 4.138 seconds, rounded to 4 seconds, with no retained build output. The exact commands and an installed-binary check are absent from the supplied record. Successful steps therefore do not prove that the CLI was installed, launched, or connected to IDA.

The test command exited 1 after 7.439 seconds, rounded to 7 seconds. The retained pytest output reports 141 passed and 30 errors in 2.51 seconds. The parser records 0 failed, 0 skipped, and 171 total. Treat these as recorded summaries, not an independently reconciled count of unique tests or a coverage measure.

Several collection tracebacks explicitly show ModuleNotFoundError for jsonschema. That identifies a missing dependency for those errors. The tail does not show the causes of all 30 errors, and it cannot establish whether the operational bridge works or fails. A useful next step is to resolve the shown test dependency and rerun the intended suite in a configured IDA environment.

The audit record contains a pip-audit advisory total of 0, with unknown coverage. It does not support a claim that every dependency was inspected or that the software is safe. The checkout metrics were 213 files, approximately 35,655 source lines, and 6 MB, with one CI workflow, a tests directory, and no detected Dockerfile or Compose file.

Setup extends beyond Python dependencies

The README requires Python 3.11 or higher and IDA Pro 8.3 or higher, recommends IDA Pro 9, and excludes IDA Free. Its idalib configuration requires global activation and uv. It supplies client setup paths for Claude Code, Codex, and Kimi Code, plus generated configuration through ida-pro-mcp --config for other clients.

The older GUI MCP plugin is no longer recommended in the README and is intended for eventual deprecation in favor of idalib-mcp. GUI installation requires completely restarting IDA and the MCP client, including clients that remain in the system tray. These requirements sit outside the recorded dependency footprint.

Named sessions need lifecycle management

The documented headless supervisor keeps each database in a separate worker process. Calls require an explicit database session ID returned by opening or listing sessions; a filename or path is not accepted as that argument.

Workers can outlive their supervisor and be adopted by a later supervisor. The documented defaults are four workers and a one-hour idle timeout. idb_close can release an owned worker early, while adopted GUI or worker instances are detached rather than killed. Plan for database locks and persistent processes when ending a client session. These lifecycle details come from the README, not a measured concurrency test.

Review changes and model conclusions

The documented write tools can change names and types, patch bytes, and alter stack variables. py_eval executes arbitrary Python inside IDA. Debugger tools are hidden by default and enabled through the dbg extension; they include execution control and memory writes.

For an initial evaluation, use a copy of the database, keep HTTP listeners on localhost, and review changes before retaining them. This is an operating recommendation based on the tools' documented side effects, not a security finding from our run.

The README also warns that models struggle with obfuscated code. It recommends addressing string encryption, import hashing, control-flow flattening, code encryption, and anti-decompilation tricks before relying on model analysis. Its prompting guidance calls for checking decompilation against assembly when necessary and using int_convert for number conversions. No measured accuracy or time-saving result is available here.

Read issue reports with their revision and status

Issue 506 reported call-graph edges that incorrectly treated jumps as calls at revision 0b5f7ae. The supplied issue page records it as closed as completed through pull request 507 on September 20, 2026. It should not be presented as an unresolved defect. That closure alone does not verify the behavior of a particular installed revision.

Issue 510 reports large integer serialization failures in BigInt-aware clients at revision 0b5f7ae. Issue 497 reports GUI discovery failures on Windows 11 with IDA Pro 9.3. The supplied pages show both reports open. They are user-reported cases, not failures reproduced in our sandbox, and they do not establish that every client or installation is affected.

The supplied release page identifies version 1.4.0 and lists contributions including an idalib server and debugger functions. Release notes and issue activity show development participation; they do not measure adoption, support responsiveness, or compatibility with your environment.

How to read the scores

These are editorial ratings of the supplied evidence, not benchmark results. The scale is 1 for substantial barriers or very limited support, 2 for significant prerequisites or evidence gaps, 3 for useful documented support with material limits, 4 for detailed support across the assessed needs, and 5 for broad support corroborated by relevant operational evidence. Unknown adoption and compatibility do not earn higher scores.

Setup scores 2 because licensed IDA, activation, client configuration, and restarts extend beyond dependency installation. Documentation scores 4 because the README details setup, session lifecycle, tools, and model limitations, although we did not validate those procedures end to end. Community scores 3 because the supplied release and issue pages show contributors and maintainer participation without establishing support reliability. Maturity scores 3 because the documented interface and release history support evaluation, while operational compatibility remains unverified by this run.

For an existing installation, pin the revision, check the installed command, connect to licensed IDA, and try one inspection task on a disposable database before allowing modifications. For a new installation, begin with the maintainer's recommendation and establish whether that server meets the same needs.

Alternatives

ProjectWhat it isPick it when
Ghidra gh↗A reverse-engineering framework with disassembly, decompilation, graphing, scripting, and interactive or automated operation.Choose it when you are selecting an analysis framework with scripting and automated operation rather than extending an existing IDA workflow. This is a platform alternative, not a verified replacement for this MCP integration.
radare2 gh↗A command-line reverse-engineering tool with scripting through embedded JavaScript or r2pipe.Choose it when command-line binary analysis and scriptable automation are your main requirements. Its supplied documentation does not establish equivalent MCP behavior.

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

anarlog · pr-agent · agent-sprite-forge · KiroCrew · Orkas · hypit · the whole board →