
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
- 1Open Cursor → Settings → MCP → Add new MCP server (or edit ~/.cursor/mcp.json directly).
- 2Paste the IDA Pro MCP config below into the "mcpServers" object.
- 3Fill in placeholder secrets, then save.
- 4Cursor reloads MCP servers automatically — check Settings → MCP for a green status dot.
- 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_funcsGet function(s) by address or name (auto-detects; accepts a list or comma-separated string).
int_convertConvert numbers between formats (decimal, hex, bytes, ASCII, binary).
list_funcsList functions (paginated, filtered).
list_globalsList global variables (paginated, filtered).
importsList all imported symbols with module names (paginated).
decompileDecompile the function at the given address.
disasmDisassemble a function with full details (arguments, stack frame, etc.).
xrefs_toGet 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.