Data as of

IDA Pro MCP for Windsurf: Setup & Config

Windsurf: IDA Pro MCP connects AI clients to IDA for binary inspection, decompilation, database changes, and optional debugging.

What you can do with IDA Pro in Windsurf

Choose it for IDA-native binary analysis with explicit database sessions and persistent headless workers.

  • Document findings by editing comments and type definitions.
  • Read memory structures or use opt-in debugger operations.

Before you start: IDA Pro in Windsurf

  • Python 3.11 or newer
  • IDA Pro 8.3 or newer; version 9 recommended
  • Installed idalib for headless operation
  • uv for the documented launch command
  • An MCP-compatible client

The selected command uses the recommended headless direction. Install the package or Claude Code plugin as documented and activate idalib as required. IDA Free is unsupported. Database tools require explicit session identifiers.

IDA Pro Windsurf configuration

  1. Choose Windsurf configuration scope

    For IDA Pro MCP, open macOS/Linux: ~/.codeium/windsurf/mcp_config.json Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json. Merge into mcpServers; remote endpoints use serverUrl.

  2. Add IDA Pro MCP to Windsurf

    Use the ida-pro-mcp entry below in mcpServers. Keep IDA Pro MCP's documented stdio connection fields and your other Windsurf entries.

  3. Check IDA Pro MCP in Windsurf

    IDA Pro MCP: Refresh MCP in Windsurf settings and inspect Cascade’s tools.

Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json

Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json

JSON
{
  "mcpServers": {
    "ida-pro-mcp": {
      "command": "uv",
      "args": [
        "run",
        "idalib-mcp",
        "--stdio"
      ],
      "env": {}
    }
  }
}

IDA Pro tools available to Windsurf

IDA Pro's stored tool list documents 35 tools; compare it with Windsurf's connected tool list, because the stored list is not a live check.

idb_open

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for idb_open.

Open or adopt a binary database and return its session identifier.

idb_list

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for idb_list.

Inspect open sessions and discovered IDA GUI instances.

idb_save

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for idb_save.

server_health

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for server_health.

lookup_funcs

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for lookup_funcs.

int_convert

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for int_convert.

list_funcs

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for list_funcs.

list_globals

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for list_globals.

imports

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for imports.

decompile

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for decompile.

disasm

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for disasm.

Inspect a function’s assembly and related details.

xrefs_to

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for xrefs_to.

Find references targeting one or more addresses.

xrefs_to_field

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for xrefs_to_field.

Find references to specified structure fields.

callees

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for callees.

List functions called from selected function addresses.

add_bookmark

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for add_bookmark.

Create or replace an IDA bookmark at an address.

set_comments

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for set_comments.

Write comments in assembly and decompiler views.

patch_asm

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for patch_asm.

Replace instructions using assembly patches.

declare_type

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for declare_type.

Add C type declarations to the local type library.

define_func

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for define_func.

define_code

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for define_code.

undefine

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for undefine.

get_bytes

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for get_bytes.

get_int

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for get_int.

get_string

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for get_string.

get_global_value

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for get_global_value.

stack_frame

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for stack_frame.

declare_stack

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for declare_stack.

delete_stack

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for delete_stack.

Remove named stack variables.

read_struct

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for read_struct.

Read field values for a structure at an address.

search_structs

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for search_structs.

Find structures using a name filter.

dbg_start

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for dbg_start.

Start a debugging process when the debugger extension is enabled.

dbg_exit

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for dbg_exit.

End a debugging process.

dbg_continue

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for dbg_continue.

Resume execution in the debugger.

dbg_run_to

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for dbg_run_to.

Continue debugging until a selected address.

dbg_step_into

After refreshing IDA Pro in Windsurf settings, check Cascade's tool list for dbg_step_into.

Advance into the next instruction during debugging.

IDA Pro: full stored tool descriptions

Troubleshooting IDA Pro in Windsurf

  • Check uv on the machine running Windsurf's MCP integration for IDA Pro MCP; refresh MCP and inspect Cascade's tools.
  • IDA Pro MCP uses stdio here: Windsurf must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
  • Known limitation: Requires IDA Pro; IDA Free is unsupported.
  • Known limitation: The GUI plugin path is no longer recommended.
  • Known limitation: The README warns that hallucinations and obfuscation can reduce model accuracy.
  • General Windsurf troubleshooting lives in the /clients/windsurf guide.

IDA Pro MCP — details. Windsurf guide

Frequently asked questions

Windsurf reads IDA Pro MCP under mcpServers in ~/.codeium/windsurf/mcp_config.json on macOS/Linux; Windows uses %USERPROFILE%\.codeium\windsurf\mcp_config.json.

Windsurf's ida-pro-mcp example uses stdio.

IDA Pro MCP's Windsurf configuration invokes uv.

IDA Pro MCP's stored list contains 35 tools, including idb_open, idb_list, idb_save. Compare those names with Windsurf's connected tool list; the stored list is not a live check.

The README recommends idalib-mcp over the older GUI MCP plugin, which is expected to be deprecated.

No. They are hidden by default and require enabling the debugger extension with the documented ext=dbg query parameter.