MCP Directory

How to add IDA Pro MCP to Cursor

AI-powered reverse engineering: bridge IDA Pro to LLMs for vibe reversing via MCP. Paste the config into ~/.cursor/mcp.json and restart Cursor.

Last updated June 14, 2026 · 9.7k · http · no auth

Cursor config for IDA Pro MCP

pip install https://github.com/mrexodia/ida-pro-mcp/archive/refs/heads/main.zip && ida-pro-mcp --install
{
  "mcpServers": {
    "ida-pro-mcp": {
      "url": "http://127.0.0.1:13337/mcp",
      "type": "streamable-http"
    }
  }
}

Remote server — no local install needed. Restart the client after saving the config.

Setup steps

  1. 1Open Cursor → Settings → MCP → Add new MCP server (or edit ~/.cursor/mcp.json directly).
  2. 2Paste the IDA Pro MCP config below into the "mcpServers" object.
  3. 3Fill in placeholder secrets, then save.
  4. 4Cursor reloads MCP servers automatically — check Settings → MCP for a green status dot.
  5. 5Ask Cursor to use one of IDA Pro MCP's tools to confirm it's connected.

Before you start

  • Python 3.11 or higher (use idapyswitch to select the newest Python)
  • IDA Pro 8.3 or higher (9 recommended); IDA Free is not supported
  • A supported MCP client (Claude, Claude Code, Cursor, VS Code, Windsurf, Cline, etc.)
  • For headless mode: idalib activated globally (py-activate-idalib.py) and uv installed

What IDA Pro MCP can do in Cursor

lookup_funcs

Get function(s) by address or name (auto-detects; accepts a list or comma-separated string).

int_convert

Convert numbers between formats (decimal, hex, bytes, ASCII, binary).

list_funcs

List functions (paginated, filtered).

list_globals

List global variables (paginated, filtered).

imports

List all imported symbols with module names (paginated).

decompile

Decompile the function at the given address.

disasm

Disassemble a function with full details (arguments, stack frame, etc.).

xrefs_to

Get all cross-references to address(es).

Security

The server runs locally and exposes IDA over an unauthenticated HTTP/SSE endpoint on 127.0.0.1:13337 (no auth tokens). The py_eval tool executes arbitrary Python in IDA's process context, and patch/define/undefine/dbg_* tools can modify the database and (with the dbg extension) control a debugged process — only point it at binaries and clients you trust. The debugger extension is hidden by default and must be explicitly enabled via the ?ext=dbg query parameter.

IDA Pro MCP + Cursor FAQ

Where is the Cursor config file?

Cursor reads MCP servers from ~/.cursor/mcp.json. Paste the IDA Pro MCP config there under the "mcpServers" key and restart the client.

Is IDA Pro MCP safe to use with Cursor?

The server runs locally and exposes IDA over an unauthenticated HTTP/SSE endpoint on 127.0.0.1:13337 (no auth tokens). The py_eval tool executes arbitrary Python in IDA's process context, and patch/define/undefine/dbg_* tools can modify the database and (with the dbg extension) control a debugged process — only point it at binaries and clients you trust. The debugger extension is hidden by default and must be explicitly enabled via the ?ext=dbg query parameter.

Does it work with IDA Free?

No. IDA Pro 8.3 or higher is required (version 9 recommended); IDA Free is not supported.

How do I install it for Claude Code?

Add the author's marketplace and install the plugin: 'claude plugin marketplace add mrexodia/claude-marketplace' then 'claude plugin install ida-pro-mcp@mrexodia'. This headless path requires idalib activated globally and uv installed.

What's the difference between the GUI plugin and idalib-mcp?

The GUI plugin exposes a running IDA instance over HTTP/SSE (port 13337). idalib-mcp is a headless supervisor that opens databases in detached idalib worker processes and supports stdio or HTTP; the README notes the GUI plugin is no longer recommended and idalib-mcp is preferred.

View repo Full IDA Pro MCP page