ida-auto-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ida-auto-mcpopen driver.sys in IDA and wait for auto-analysis"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ida-auto-mcp
An MCP server that gives AI coding assistants (OpenCode, Claude Desktop, Cursor, Antigravity) control over the IDA Pro lifecycle so they can analyze multiple binaries without manual intervention.
The Problem
If you use ida-pro-mcp, the MCP server runs embedded inside the IDA Pro process (listening on 127.0.0.1:13337).
Because IDA is strictly one database per process, unattended multi-binary analysis wasn't possible:
You open
binaryA.dllin IDA.The AI inspects functions, decompiles, and finishes analyzing
binaryA.dll.The AI wants to look at
binaryB.dllnext, but can't: IDA is locked tobinaryA.dll.You have to sit at your desk, save the database, kill IDA, open
binaryB.dll, wait for auto-analysis to finish, make sure port 13337 binds, and resume prompting.
The Solution
ida-auto-mcp runs as a standalone local MCP server alongside your existing ida-pro-mcp setup. It exposes process control tools (ida_open, ida_switch, ida_close, ida_save, ida_status) so your AI assistant can drive batch analysis pipelines on its own:
[ AI Assistant (OpenCode / Claude / Cursor) ]
│ │
│ (Process Control via stdio) │ (Static Analysis via HTTP/SSE)
▼ ▼
[ ida-auto-mcp ] [ ida-pro-mcp (port 13337) ]
│ ▲
│ spawns / saves / terminates │ hosted inside
▼ │
[ IDA Pro 9.x (ida64.exe -A) ] ────────┘When switching binaries, ida-auto-mcp:
Triggers an
idb_saveRPC call to IDA so you don't lose any decompilation or typing work.Sends a clean close signal and waits for the process and TCP port 13337 to be released.
Launches the next binary with
-A(autonomous mode, so no interactive prompts block execution).Polls IDA until auto-analysis completes (
auto_is_ok()) and the MCP server is ready before returning to the AI.
Installation
Requires Python 3.10+ and IDA Pro 9.x (Windows).
git clone https://github.com/cacamelio/ida-auto-mcp.git
cd ida-auto-mcp
pip install -r requirements.txtAuto-Config
Run the setup helper to automatically register the server in your installed clients:
python setup_clients.pyOr configure manually below.
Related MCP server: my-ida-mcp
Client Configuration
OpenCode (~/.config/opencode/opencode.json)
Add ida-auto under the "mcp" key:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ida-pro": {
"type": "remote",
"url": "http://127.0.0.1:13337/sse",
"enabled": true
},
"ida-auto": {
"type": "local",
"command": [
"python",
"C:\\path\\to\\ida-auto-mcp\\server.py"
],
"enabled": true
}
}
}Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"ida-auto": {
"command": "python",
"args": [
"C:\\path\\to\\ida-auto-mcp\\server.py"
]
}
}
}Antigravity (~/.gemini/config/mcp_config.json)
{
"mcpServers": {
"ida-pro-mcp": {
"type": "http",
"serverUrl": "http://127.0.0.1:13337/mcp"
},
"ida-auto": {
"command": "python",
"args": [
"C:\\path\\to\\ida-auto-mcp\\server.py"
]
}
}
}Available Tools
ida_open
Opens a target file in IDA. If another instance is running, it saves and closes it first.
target_path(str, required): Path to the.dll,.exe,.so, or.i64.gui(bool, default:True): Launchesida64.exe(GUI) oridat64.exe(headless text mode).autonomous(bool, default:True): Passes-Ato silence all interactive popups/dialogs.wait_ready(bool, default:True): Blocks until auto-analysis completes.timeout_sec(int, default:180): Max wait time for analysis.force_new_database(bool, default:False): Ignores existing.i64and starts fresh.
ida_switch
Atomic switch between binaries. Flushes the active database, closes IDA, frees port 13337, spawns the next target, and waits for analysis.
Takes the same arguments as
ida_open.
ida_close
Flushes the .i64 database and shuts down the active IDA instance.
save(bool, default:True): Writes database to disk before closing.timeout_sec(int, default:15).
ida_status
Queries IDA's server_health endpoint and reports loaded module, IDB path, PID, and whether auto-analysis has completed.
ida_save
Flushes current disassembly and decompilation changes to the .i64 database without closing IDA.
ida_list_targets
Scans a folder for candidate binaries (.dll, .exe, .sys, etc.) and indicates whether an .i64 database is already present for each file.
directory(str, required).extensions(list[str], default:[".dll", ".exe", ".sys", ".so", ".bin"]).recursive(bool, default:False).
Example Prompt
Once configured, you can give your AI prompts like:
"Look inside
D:\programs\my_program\. Useida_list_targetsto see what DLLs are there, then opentest.dllandtest1.dllsequentially. For each one, summarize its exported interfaces and string references, then close IDA when done."
The AI will handle opening, analyzing, saving, and switching targets completely on its own.
Details & Edge Cases
Autonomous Mode (
-A): By default,ida-auto-mcppasses-Aso IDA won't halt on prompt dialogs (like PDB download confirmations or compiler signature choices).Existing Databases & Game Updates: If a
.i64file exists,ida-auto-mcpchecks file modification timestamps (mtime). If the binary hasn't changed, it reuses the.i64for instant loading. If the binary was updated on disk after the.i64was saved (e.g. after a game patch),ida-auto-mcpautomatically archives the stale database to<binary>_pre_update_<timestamp>.i64and generates a fresh database for the updated binary so your analysis is always up to date.Port Conflict Handling: When IDA exits, Windows sockets can briefly hold port 13337 in
TIME_WAIT.ida-auto-mcpactively waits for the port to release before spawning the next process so IDA won't mistakenly bump its port to 13338.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Adaptive plan/build/review cycles for AI coding assistants, persisted across sessions.
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Connect AI assistants to authorized Windows and macOS devices for files, commands, and management.
11Autonomous and governed SRE & MLOps control plane for AI agent platforms.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to inspect, reverse engineer, decompile, and operate on binaries through IDA Pro, including headless and GUI sessions, over stdio or Streamable HTTP.29 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI clients such as Claude, Cursor, Cline, and Codex to remotely drive IDA Pro over HTTP through 88 tools, covering Hex-Rays decompilation, disassembly, cross-reference tracing, type and struct reconstruction, C header import, memory reading and patching, and full dynamic debugging with breakpoints, registers, and stepping.MIT
- FlicenseNot gradedqualityAmaintenanceEnables AI assistants to drive IDA Pro for reverse engineering and binary analysis, including running Python scripts inside the disassembler, extracting strings, imports, exports and functions, searching for immediate values, text and byte sequences, and retrieving disassembly for address ranges.-
- FlicenseNot gradedqualityAmaintenanceEnables AI assistants to control IDA Pro for reverse engineering and binary analysis by running Python scripts and querying binaries. It supports retrieving strings, imports, exports, and functions, searching immediate values, text, and byte sequences, and getting disassembly for address ranges over a secure local HTTP bridge.-