IDA Pro MCP
About
MCP Server for automated reverse engineering with IDA Pro.
Details
- License
- MIT
Explore
- Connects LLMs to IDA Pro via MCP tools.
- Headless operation via idalib‑mcp supervisor.
- GUI plugin for interactive use (will be deprecated).
- Persistent, self‑managing database workers.
- Supports both stdio and HTTP/SSE transports.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
IDA Pro MCPCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Prerequisites
- Python (3.11 or higher)
- Use idapyswitch to switch to the newest Python version
- IDA Pro (8.3 or higher, 9 recommended), IDA Free is not supported
- Supported MCP Client (pick one you like)
- Amazon Q Developer CLI
- Augment Code
- Claude
- Claude Code
- Cline
- Codex
- Copilot CLI
- Crush
- Cursor
- Gemini CLI
- Kilo Code
- Kiro
- LM Studio
- Opencode
- Qodo Gen
- Qwen Coder
- Roo Code
- Trae
- VS Code
- VS Code Insiders
- Warp
- Windsurf
- Zed
- Other MCP Clients: Run ida-pro-mcp --config to get the JSON config for your client.
IDA_MCP_MAX_WORKERS
environment default for `--max-workers`.
- idb_open(input_path, mode="prefer_headless", run_auto_analysis=True, build_caches=True, init_hexrays=True, preferred_session_id=""): Open a binary, warm up subsystems (strings cache, Hex-Rays), and return its session ID. If a worker or GUI for this path is already running on the host, that instance is adopted and preferred_session_id is ignored.
- idb_list(): List open sessions and running GUI IDA instances. Each entry has adopted (True if this supervisor manages it, False for GUIs/workers discovered but not yet opened via idb_open), backend (worker or gui), is_active, and process IDs.
- idb_save(session_id, path=""): Save a session's IDB to disk. Forwarded as a regular worker tool (database=<id> injected) — same signature in both backends.
- Per-database health: call server_health(database=<id>) (forwarded). idb_list() reports is_active from the supervisor's TCP/RPC probe.
Worker controls:
- --max-workers N: maximum simultaneous database workers (0 = unlimited, default 4).
- IDA_MCP_MAX_WORKERS: environment default for --max-workers.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"ida pro mcp": {
"github.com/mrexodia/ida-pro-mcp": {
"command": "uv",
"args": [
"--directory",
"c:\\MCP\\ida-pro-mcp",
"run",
"server.py"
],
"timeout": 600
}
}
}
}
McpServers
{
"github.com/mrexodia/ida-pro-mcp": {
"command": "uv",
"args": [
"--directory",
"c:\\MCP\\ida-pro-mcp",
"run",
"server.py"
],
"timeout": 600
}
}
Simple MCP Server to allow vibe reversing in IDA Pro.
https://github.com/user-attachments/assets/6ebeaa92-a9db-43fa-b756-eececce2aca0
The binaries and prompt for the video are available in the mcp-reversing-dataset repository.
Prerequisites
- Python (3.11 or higher)
- Use idapyswitch to switch to the newest Python version
- IDA Pro (8.3 or higher, 9 recommended), IDA Free is not supported
- Supported MCP Client (pick one you like)
- Amazon Q Developer CLI
- Augment Code
- Claude
- Claude Code
- Cline
- Codex
- Copilot CLI
- Crush
- Cursor
- Gemini CLI
- Kilo Code
- Kiro
- LM Studio
- Opencode
- Qodo Gen
- Qwen Coder
- Roo Code
- Trae
- VS Code
- VS Code Insiders
- Warp
- Windsurf
- Zed
- Other MCP Clients: Run ida-pro-mcp --config to get the JSON config for your client.
Installation (Claude Code)
To install the headless IDA Pro MCP in Claude Code:
claude plugin marketplace add mrexodia/claude-marketplace
claude plugin install ida-pro-mcp@mrexodia
To update to the latest version:
claude plugin update ida-pro-mcp@mrexodia
Note: This requires having idalib activated globally and uv installed:
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



