MCP Directory

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

  1. 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
  2. 2Paste the IDA Pro MCP config below.
  3. 3Fill in placeholder secrets, then save.
  4. 4Click Refresh in the MCP panel.
  5. 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_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 + 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.

View repo Full IDA Pro MCP page