Ida Pro Mcp
AI-powered reverse engineering assistant that bridges IDA Pro with language models through MCP.
Last verified:
What is Ida Pro Mcp?
IDA Pro MCP is an AI-powered reverse engineering assistant that bridges IDA Pro with language models through the Model Context Protocol (MCP). It enables AI assistants like Claude, Cursor, Cline, and Roo Code to interact directly with IDA Pro for binary analysis tasks, allowing automated
Ida Pro Mcp pricing
Pricing model: Freemium
Free and open-source under MIT license. No paid tiers or subscriptions. Requires paid IDA Pro license (version 8.3 or higher, version 9 recommended) which is commercial software from Hex-Rays. Python 3.11+ required (free). Installation uses pip with GitHub repository. No cloud hosting fees or API costs - runs locally on user's machine.
Ida Pro Mcp pros
- Bridges IDA Pro with AI language models through MCP protocol
- Over 60 specialized reverse engineering tools available
- Supports both GUI plugin mode and headless idalib mode
- Automated installation of IDA plugin via ida-pro-mcp --install
- Compatible with many MCP clients (Claude, Cursor, Cline, Roo Code, VSCode)
- Type-safe API with strongly-typed parameters for better IDE support
- Batch-first design allows processing multiple items in single request
- Cursor-based pagination prevents token overflow in large binaries
- MD5-based string caching improves performance on large projects
- Easy feature addition - just add @tool function without boilerplate
- Includes debugger tools for breakpoints, registers, call stack, stepping
- Supports SSE transport for remote UI connections
- Headless mode allows analyzing binaries without GUI IDA instance
- Open-source under MIT license with active community (3.9k stars)
- Provides structured resources for browsing IDB state (metadata, segments, types)
- Includes int_convert tool to prevent LLM number base hallucinations
- Supports isolated contexts for multi-agent database isolation
- Can reuse existing GUI IDA instance instead of spawning duplicate worker
- Export functions in JSON, C header, or prototypes format
- Call graph generation with configurable depth
Ida Pro Mcp cons
- IDA Free is not supported - requires paid IDA Pro 8.3+
- Python 3.11 or higher required (may conflict with existing setups)
- LLMs prone to hallucinations requires careful prompt engineering
- Not effective on obfuscated code without prior deobfuscation
- Requires complete restart of IDA and MCP client after installation
- Claude runs in background and must be quit from tray icon to fully restart
- Debugging tools hidden by default require ?ext=dbg parameter
- Manual installation section only for power users (complex for beginners)
- Max limit of 10000 on search operations to prevent token overflow
- Unsaved GUI-only changes must be saved before fallback to headless
- aida-pro-mcp --config needed for unsupported MCP clients
- May need math-mcp for complex mathematical operations beyond int_convert
- SSE transport requires additional configuration for remote connections
- idalib feature requires separate installation and activation
- Version compatibility critical - SWIG and Python version mismatches possible
Frequently asked questions about Ida Pro Mcp
Is IDA Free supported?
No, IDA Free is not supported. The tool requires IDA Pro version 8.3 or higher, with version 9 recommended. This is because the MCP server needs features and APIs only available in the commercial IDA Pro version, including proper Hex-Rays decompiler support and the full SDK capabilities.
What Python version is required?
Python 3.11 or higher is required. You can use idapyswitch to switch to the newest Python version. The tool is not compatible with Python 3.10 or older versions.
Which MCP clients are supported?
Supported MCP clients include Cline, Roo Code, Claude, Cursor, VSCode Agent Mode, Windsurf, Amazon Q Developer CLI, Augment Code, Claude Code, Codex, Copilot CLI, Crush, Gemini CLI, Kilo Code, Kiro, LM Studio, Opencode, Qodo Gen, Qwen Coder, Trae, VS Code, VS Code Insiders, Warp, Zed, and other MCP clients. For unsupported clients, run ida-pro-mcp --config to get the JSON configuration.
How do I install IDA Pro MCP?
First uninstall any existing version: pip uninstall ida-pro-mcp. Then install from GitHub: pip install https://github.com/mrexodia/ida-pro-mcp/archive/refs/heads/main.zip. Finally, configure and install the plugin: ida-pro-mcp --install. Important: You must completely restart both IDA and your MCP client (Claude runs in background - quit from tray icon) for installation to take effect. You need to load a binary in IDA before the plugin menu appears.
What is the difference between GUI mode and headless mode?
GUI mode uses the IDA plugin that integrates with the IDA Pro interface, allowing you to work interactively. Headless mode uses idalib-mcp which runs without the GUI, enabling remote or automated analysis. Headless mode can start with a binary or open/close arbitrary files dynamically using idalib_open() and idalib_close(). Headless mode keeps each open database in its own idalib worker process and can reuse existing GUI IDA instances if they have the plugin running.
How do I prevent LLM hallucinations with number conversions?
LLMs are prone to hallucinations when converting between number bases (decimal, hex, bytes, ASCII). Always tell the LLM to use the int_convert MCP tool instead of converting numbers manually. For complex mathematical calculations, you may also need math-mcp. The int_convert tool handles decimal, hex, bytes, ASCII, and binary conversions reliably.
What should I do before using LLM on obfuscated code?
Before using an LLM on obfuscated code, spend time automatically removing obfuscation including: string encryption, import hashing, control flow flattening, code encryption, and anti-decompilation tricks. Use tools like Lumina or FLIRT to resolve open source library code and C++ STL. LLMs will not perform well on obfuscated code and will produce inaccurate results without prior deobfuscation.
How do I enable debugger tools?
Debugger tools are hidden by default. Enable them by adding ?ext=dbg as a query parameter to the MCP endpoint: http://127.0.0.1:13337/mcp?ext=dbg. This unlocks debugger operations including dbg_start(), dbg_exit(), dbg_continue(), dbg_step_into(), dbg_step_over(), dbg_run_to(), dbg_bps() (list breakpoints), dbg_add_bp(), dbg_delete_bp(), dbg_toggle_bp(), dbg_regs(), dbg_stacktrace(), dbg_read(), and dbg_write().
How do I add new features to IDA Pro MCP?
Adding features is streamlined - simply add a new @tool function to the modular API files in src/ida_pro_mcp/ida_mcp/api_*.py. Your function will automatically become available in the MCP server without any additional boilerplate or complex setup. The architecture is designed for easy feature addition compared to other IDA MCP servers that have excessive boilerplate and unnecessary dependencies.