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
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.
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.
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
{
"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.
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