Hex-Rays IDA MCP
Official Hex-Rays IDA MCP Server, see the announcement blog post for more information.
Installation
Requirements
- Installed in your PATH
- IDA 9.4 or higher with idalib and Python 3.11+
- We recommend disabling other IDA MCP servers to reduce agent confusion
Automatic installation
Install the Hex-Rays IDA MCP using hcli:
uvx ida-hcli mcp install
or if you have hcli installed:
hcli mcp install
This will install the GUI plugin and interactively offer you to install the supported agent plugins.
Manual installation
IDA GUI Plugin
To support IDA GUI instances when using IDA MCP, install the plugin:
uvx ida-hcli plugin install ida-mcp@https://github.com/HexRaysSA/ida-mcp
or if you have hcli installed:
hcli plugin install ida-mcp@https://github.com/HexRaysSA/ida-mcp
_Note_: Without the GUI plugin, IDA MCP will still work headlessly.
Claude Code
# Add Hex-Rays marketplace
claude plugin marketplace add HexRaysSA/claude-marketplace
Install plugin
claude plugin install ida-mcp@HexRaysSA
Update to latest version
claude plugin update ida-mcp@HexRaysSA
Codex CLI
# Add Hex-Rays marketplace
codex plugin marketplace add HexRaysSA/codex-marketplace
Install plugin
codex plugin add ida-mcp@HexRaysSA
GitHub Copilot CLI
# Add Hex-Rays marketplace
copilot plugin marketplace add HexRaysSA/copilot-marketplace
Install plugin
copilot plugin install ida-mcp@HexRaysSA
Update to latest version
copilot plugin update ida-mcp
Pi
# Install extension
pi install git:github.com/HexRaysSA/ida-mcp@latest
Update to latest version
pi update --extensions
oh-my-pi
# Install extension
omp plugin install github:HexRaysSA/ida-mcp#latest
Update to latest version
omp plugin upgrade
Other agents
Configure a regular stdio MCP server in your MCP JSON configuration:
{
"mcpServers": {
"ida": {
"command": "uvx",
"args": [
"--exclude-newer=1s",
"ida-mcp",
"stdio",
"--agent=my-agent"
]
}
}
}
uvx resolves the latest stable ida-mcp release from PyPI, so this
configuration does not need to be updated for each release.
--agent=my-agent is a human-chosen label (like claude-code, cursor,
my-custom-agent, etc.) used to differentiate sessions in the dashboard.
CLI
# MCP server over standard input/output
uvx ida-mcp stdio --agent=my-agent
MCP server over Streamable HTTP
uvx ida-mcp http --host 127.0.0.1 --port 8737
Inspect session log
uvx ida-mcp dashboard --open
Export session logs for troubleshooting
uvx ida-mcp logs
Usage
Start your agent harness and ask it something like:
Reverse /path/to/sample.elf for me in IDA
To test the GUI integration, open something in IDA and ask your harness:
What do I have open in the IDA GUI?
Developers: IDA Nexus
The IDA MCP project is built on IDA Nexus, which allows multiple clients to seamlessly share and operate on IDA databases.
You can build your own tools on top of the ida-nexus library, see
the documentation
for more information.