
How to add IDA Pro MCP to Windsurf
AI-powered reverse engineering: bridge IDA Pro to LLMs for vibe reversing via MCP. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.
Last updated June 14, 2026 · 9.7k★ · http · no auth
Windsurf 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": {
"serverUrl": "http://127.0.0.1:13337/mcp"
}
}
}Remote server — no local install needed. Restart the client after saving the config.
Setup steps
- 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
- 2Paste the IDA Pro MCP config below.
- 3Fill in placeholder secrets, then save.
- 4Click Refresh in the MCP panel.
- 5IDA Pro MCP's tools become available to Cascade.
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 Windsurf
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 + Windsurf FAQ
Where is the Windsurf config file?
Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the IDA Pro MCP config there under the "mcpServers" key and restart the client.
Is IDA Pro MCP safe to use with Windsurf?
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.