Skip to content

Guide · Open source

How to use ida-pro-mcp: setup, prompts and limits

Updated · written with AI from the project's own documentation and checked against our catalogue data

ida-pro-mcp is an open-source MCP server that connects IDA Pro, a disassembler and decompiler, to AI language models so an MCP client can read and rename functions, add comments and inspect decompiled code in an IDA database. This guide covers the prerequisites, the install paths the README describes, a basic prompting approach, and the accuracy limits you should plan for. By the end you will know what to install, how to connect a client, and where the tool is likely to fall short.

IDA Pro MCPmrexodia/ida-pro-mcp · ★ 13.3k · MIT

Quick start

  1. 1Confirm prerequisites. Check that you have Python 3.11 or higher, IDA Pro 8.3 or higher (9 recommended) and uv. IDA Free is not supported.
  2. 2Activate idalib. Run the py-activate-idalib.py script from your IDA installation with uv so idalib is active globally.
  3. 3Install the server. Install the plugin for your client, for example with the Claude Code marketplace commands, or use pip for a manual GUI setup.
  4. 4Configure your MCP client. Run ida-pro-mcp --config for other clients, or ida-pro-mcp --install for the GUI path, and paste the config where your client expects it.
  5. 5Restart IDA and the client. Fully quit and reopen IDA and your MCP client so the installation takes effect.
  6. 6Open a binary and prompt. Open the binary in IDA and give your client a specific task, asking for comments, renames and type fixes.
  7. 7Verify results. Check the model's claims in the disassembly, since the README warns about hallucinations and obfuscated code.

Check the prerequisites before you install

You need Python 3.11 or higher and IDA Pro 8.3 or higher, with 9 recommended. The README states that IDA Free is not supported, so a paid IDA Pro license is required.

The README also asks for uv and an activated idalib installation. It notes that idalib must be activated globally before the server will work.

  • Python 3.11 or higher; use idapyswitch to switch IDA to the newest Python
  • IDA Pro 8.3 or higher (9 recommended); IDA Free is not supported
  • uv installed (https://astral.sh/uv)
  • idalib activated globally
  • A supported MCP client, such as Claude Code, Cursor, VS Code, Codex or Claude
uv run "/path/to/idapro-9.3/idalib/python/py-activate-idalib.py"

Install the MCP server and connect your client

The simplest path for Claude Code, according to the README, is to add the plugin marketplace and install the plugin. The README also lists equivalent steps for Codex and Kimi Code.

For other clients, the README says to run ida-pro-mcp --config to get the JSON config for your client. For a manual GUI setup, the README gives a pip install from the GitHub archive followed by ida-pro-mcp --install, and says the GUI plugin is no longer recommended.

  • Claude Code: run the plugin marketplace add, uninstall and install commands shown below
  • Other MCP clients: run ida-pro-mcp --config and paste the JSON into your client's config
  • Manual GUI setup: pip install from the GitHub archive, then ida-pro-mcp --install
  • After any install, fully restart IDA and your MCP client
claude plugin marketplace add mrexodia/claude-marketplace claude plugin uninstall ida-pro-mcp@mrexodia claude plugin install ida-pro-mcp@mrexodia

Run headless analysis with idalib-mcp

If you want to script or run analysis without the IDA GUI, the README describes idalib-mcp. You can start it with an initial binary, or start it empty and open files later with idb_open.

The README also describes persistent database workers that stay alive after the supervisor that started them, and that exit after an idle interval.

  • Start with a binary: pass the executable path to idalib-mcp
  • Start empty: open files later with idb_open(...)
  • Stdio clients: use --stdio
  • Port and host are set with --host and --port
uv run idalib-mcp --host 127.0.0.1 --port 8745 path/to/executable

Prompt the model with a clear method

The README warns that LLMs are prone to hallucinations and need specific prompts. It gives an example prompt for working through a crackme: inspect the decompilation, add comments, rename variables, fix types, rename functions, and write a report.md.

The README tells the model to avoid converting number bases itself and to use the int_convert MCP tool instead. It also says not to brute force and to derive solutions from disassembly and simple Python scripts.

  • Ask the model to add comments with its findings as it goes
  • Ask for clearer variable names and corrected pointer and array types
  • Tell the model to call int_convert for base conversions
  • Ask for a report.md of findings at the end

Know where results can go wrong

The README says LLMs will not perform well on obfuscated code. Before asking a model to solve a problem, it recommends examining the binary and removing string encryption, import hashing, control flow flattening, code encryption and anti-decompilation tricks where possible.

The README also suggests tools such as Lumina or FLIRT to identify open source library code and C++ STL functions, which may improve accuracy. Treat every model conclusion as a hypothesis to verify in the disassembly.

  • Obfuscation (string encryption, control flow flattening, etc.) reduces model accuracy
  • Use Lumina or FLIRT to resolve library code
  • math-mcp is mentioned in the README for some math operations

Compare with the official option

The README recommends the Official Hex-Rays IDA MCP Server instead of this project and links to a Hex-Rays announcement. GhidraMCP is a comparable project for Ghidra rather than IDA.

If you are starting fresh, read the official option first and decide which fits your workflow.

  • Official Hex-Rays IDA MCP Server (recommended by the README)
  • GhidraMCP, for Ghidra users

What people use it for

  • Adding comments and renaming functions in a decompiled binary inside IDA
  • Working through a crackme-style exercise with a written report of steps taken
  • Running headless analysis on a binary with idalib-mcp for scripted workflows
  • Asking an MCP client to inspect decompiled code and correct variable types

Frequently asked questions

Is ida-pro-mcp free to use?

The project is licensed under MIT, according to the repository. However, the README requires IDA Pro 8.3 or higher and says IDA Free is not supported, so you need a paid IDA Pro license to use it.

Does ida-pro-mcp work with IDA Free?

No. The README explicitly states that IDA Free is not supported. You need IDA Pro 8.3 or higher, with 9 recommended.

What Python version do I need for ida-pro-mcp?

The README requires Python 3.11 or higher. It suggests using idapyswitch inside IDA to switch to the newest Python version.

Which MCP clients work with ida-pro-mcp?

The README lists many supported clients, including Claude Code, Claude, Cursor, VS Code, Codex, Cline, Zed and Windsurf. For other clients, run ida-pro-mcp --config to get the JSON config.

Is there a better alternative to ida-pro-mcp?

The README recommends the Official Hex-Rays IDA MCP Server instead and says the GUI plugin is no longer recommended. GhidraMCP is a comparable project if you use Ghidra.

Will the AI give accurate reverse engineering results?

Not guaranteed. The README warns that LLMs hallucinate and struggle with obfuscated code, so verify each conclusion against the disassembly.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use ida-pro-mcp if you already own IDA Pro 8.3 or newer, run Python 3.11+, and want an MCP-connected assistant for analysis or headless scripting with idalib-mcp. Skip it if you rely on IDA Free, need guaranteed accurate output, or want the path the README itself recommends, which is the official Hex-Rays IDA MCP Server.

Install options & downloads