IDA Pro MCP

by mrexodia

9.9k 954.3k downloads Not rated yet MIT

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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name IDA Pro MCP
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. 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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.

Videos about IDA Pro MCP

Relevant YouTube tutorials, setups, and demos