When you have more than one IDA Pro database open simultaneously — for example, a main executable alongside a shared library, or two versions of the same binary — the MCP server can discover all running instances and route tool calls to any of them. Each MCP transport session tracks its own active target, so multiple agents can operate on different databases through the same server.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/mrexodia/ida-pro-mcp/llms.txt
Use this file to discover all available pages before exploring further.
Auto-discovery
Whenida-pro-mcp starts without an explicit --ida-rpc argument, it automatically discovers all running IDA instances:
- No instances found — falls back to the default
127.0.0.1:13337. - One instance found — connects automatically and logs the binary name.
- Multiple instances found — lists them all, auto-selects the first one, and suggests using
select_instanceto switch.
Instance management tools
list_instances
Lists all discovered IDA Pro instances, with reachability and active status for each:
host, port, binary, idb_path, pid, started_at, reachable, and active.
select_instance
Switches this MCP session to proxy all subsequent tool calls to a different IDA instance. Use list_instances first to find the target port:
port=0 to reset to the default auto-discovered target.
open_file
Opens a binary in a new IDA Pro instance. Requires at least one IDA instance to already be running (it delegates to a live instance to launch the new one):
timeout seconds), the MCP session is automatically switched to it if switch=True.
Session-level routing
Each MCP transport session maintains its own active IDA target independently. This means:- Two agents connected to the same
ida-pro-mcpserver can target different IDA instances simultaneously. - Switching instances with
select_instancein one session does not affect other sessions. - The server proxies all non-local tool calls to the selected target for that session.
The local tools
list_instances, select_instance, and open_file are always handled by the MCP proxy itself and are never forwarded to IDA.Example use cases
Compare two binary versions
Open v1 and v2 of the same binary in separate IDA instances. Use
select_instance to switch between them and compare decompilation output for changed functions.Analyze library and main binary
Open an executable and its statically linked library in separate instances. Cross-reference exports from the library against call sites in the main binary.
Parallel agent analysis
Run two LLM agents concurrently, each connected to the same MCP server but targeting different instances via
select_instance in separate sessions.Progressive file opening
Start with one binary, discover additional dependencies during analysis, and open them on demand with
open_file without restarting the MCP server.