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 installThis will install the GUI plugin and interactively offer you to install the supported agent plugins.
Manual installation
Manual installation instructions...
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-mcpNote: 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@HexRaysSACodex CLI
# Add Hex-Rays marketplace
codex plugin marketplace add HexRaysSA/codex-marketplace
# Install plugin
codex plugin add ida-mcp@HexRaysSAGitHub 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-mcpPi
# Install extension
pi install git:github.com/HexRaysSA/ida-mcp@latest
# Update to latest version
pi update --extensionsoh-my-pi
# Install extension
omp plugin install github:HexRaysSA/ida-mcp#latest
# Update to latest version
omp plugin upgradeOther 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 logsUsage
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.