How to set up the official Hex-Rays IDA MCP server
Unofficial guide. This site is an independent community guide and is not affiliated with the REA project. For authoritative docs see the official REA website and the morluto/rea GitHub repository. Commands here are taken from the official README/docs (checked 2026-10-13); REA changes quickly, so verify against the official docs.
This page covers third-party tools. reaguide.com is not affiliated with Hex-Rays, LaurieWired, mrexodia, bethington, clearbluejar or any project below. Commands are copied from each project's own README/docs (checked 2026-10-13) — these projects release often, so check the linked source before running.
Hex-Rays released an official IDA MCP server (HexRaysSA/ida-mcp, MIT) on 2026-09-25 (announcement). It runs headless on top of idalib and can optionally attach to databases open in the IDA GUI.
Requirements
- IDA 9.4 or higher (IDA Home, IDA Pro or IDA Classroom) with idalib installed
- Git, uv and Python 3.11+ on your PATH
- Recommended: disable other IDA MCP servers (e.g. ida-pro-mcp) first
Automatic install (recommended)
uvx ida-hcli mcp install
# or, if hcli is already installed:
hcli mcp installThis installs the GUI plugin and interactively offers to install the supported agent plugins. Re-running hcli mcp install is the intended update path (maintainer reply in #26).
Manual install per agent
Claude Code
claude plugin marketplace add HexRaysSA/claude-marketplace
claude plugin install ida-mcp@HexRaysSA
claude plugin update ida-mcp@HexRaysSA # update later
Codex CLI
codex plugin marketplace add HexRaysSA/codex-marketplace
codex plugin add ida-mcp@HexRaysSA
GitHub Copilot CLI
copilot plugin marketplace add HexRaysSA/copilot-marketplace
copilot plugin install ida-mcp@HexRaysSA
Cursor and other MCP clients
Add a stdio server to your MCP JSON config (as given in the README):
{
"mcpServers": {
"ida": {
"command": "uvx",
"args": ["--exclude-newer=1s", "ida-mcp", "stdio", "--agent=my-agent"]
}
}
}--agent is just a label you choose (e.g. cursor) to tell sessions apart in the dashboard.
GUI plugin only
uvx ida-hcli plugin install ida-mcp@https://github.com/HexRaysSA/ida-mcpWithout it, ida-mcp still works headlessly.
Useful CLI commands
uvx ida-mcp stdio --agent=my-agent
uvx ida-mcp http --host 127.0.0.1 --port 8737 # Streamable HTTP
uvx ida-mcp dashboard --open # inspect session log
uvx ida-mcp logs # export logs for a bug report
Test it
Ask your agent: “Reverse /path/to/sample.elf for me in IDA”. With a database open in the GUI: “What do I have open in the IDA GUI?”
Troubleshooting (from real GitHub issues)
ida_nexus-…whl is missing an upload date / requirements are unsatisfiable
Reported in #24 with a private devpi-server 6.x index that lacks PyPI upload-time metadata, which --exclude-newer=1s needs. Maintainers changed the plugin launch command; per #28 it now uses --no-dev. Update with hcli mcp install.
Startup times out downloading from files.pythonhosted.org
Same root cause behind a corporate mirror (#28): the shipped lockfile pointed at PyPI URLs. Fixed by the --no-dev change; before that the reporter re-ran uv lock against the mirror.
My UV_CONFIG_FILE / other UV_* variables are ignored
Open as #23: agent harnesses build their own environment for the subprocess. The reporter's workaround was moving uv.toml to uv's default location.
MCP entries disappeared after updating
In #26 this turned out to be caused by migrating from the old ida-pro-mcp setup, not by hcli. See ida-mcp vs ida-pro-mcp.
Related guides
- Official ida-mcp vs mrexodia ida-pro-mcp
- REA vs Hex-Rays ida-mcp
- Best MCP servers for AI reverse engineering
Sources: Hex-Rays docs: Getting Started · HexRaysSA/ida-mcp README · issues #23 #24 #26 #28
FAQ
Does Hex-Rays ida-mcp work with IDA Free?
The official prerequisites list IDA 9.4 or higher as IDA Home, IDA Pro or IDA Classroom, with idalib. IDA Free is not listed.
Does ida-mcp need the IDA GUI open?
No. It works headlessly through idalib; the optional GUI plugin lets the agent see databases you have open in IDA.
How do I update ida-mcp?
Re-run hcli mcp install (or uvx ida-hcli mcp install). Generic uvx configs resolve the latest stable ida-mcp release from PyPI automatically.