home / mcp / ida pro mcp server
Provides an MCP server that enables prompt-assisted reverse engineering workflows with IDA Pro and external MCP clients.
Configuration
View docs{
"mcpServers": {
"mrexodia-ida-pro-mcp": {
"command": "uv",
"args": [
"run",
"ida-pro-mcp",
"--transport",
"http://127.0.0.1:8744/sse"
],
"env": {
"YOUR_API_KEY": "<YOUR_API_KEY>"
}
}
}
}This IDA Pro MCP server enables prompt-assisted analysis workflows by interfacing IDA Pro with MCP clients. It provides automated tooling to inspect, annotate, and understand binaries within IDA Pro, while coordinating with external MCP clients for enhanced prompts and responses.
You will run the MCP server locally and connect your MCP client to it. Start the server with a transport that your UI supports, then load a binary in IDA Pro and use the MCP tools to inspect decompiled output, rename symbols, and annotate findings. You can issue commands from your MCP client to retrieve function information, decompile results, cross-references, and structural details, then apply changes back into IDA Pro.
Prerequisites you need to satisfy before installing the MCP server.
Install the latest IDA Pro MCP package and set up the server, then install the IDA Plugin.
pip uninstall ida-pro-mcp
pip install https://github.com/mrexodia/ida-pro-mcp/archive/refs/heads/main.zipConfigure the MCP servers and install the IDA Plugin.
ida-pro-mcp --installImportant: fully restart IDA Pro and your MCP client after installation to ensure changes take effect. Some clients may run in the background and require quitting from the system tray.
If you need to run a headless or transport-enabled setup, you can start the transport-enabled instance using the following commands.
uv run ida-pro-mcp --transport http://127.0.0.1:8744/sse
```
```sh
uv run idalib-mcp --host 127.0.0.1 --port 8745 path/to/executableLoad a binary into IDA Pro before the plugin menu becomes available, then use MCP tools to enhance analysis. The transport-based setup enables UI integration via SSE, while headless operation supports automation from scripts.
Retrieve functions by address or name with auto-detect and support for lists.
Convert numbers between decimal, hex, bytes, ASCII, and binary representations.
List all functions with pagination and filtering options.
List global variables with pagination and filtering options.
List imported symbols with their modules.
Decompile a function at a given address to inspect high-level logic.
Disassemble a function to show detailed instructions and operands.
Get all cross-references to a given address.
Get cross-references to specific structure fields.
Identify functions called by a target function.
Set comments at addresses for both disassembly and decompiler views.
Patch assembly instructions at specified addresses.
Declare or update type information in the local type library.
Read raw bytes from specified addresses.
Read integer values with specified types and endianness.
Read null-terminated strings from memory.
Read the value of a global variable by address or name.
Retrieve stack frame variables for a function.
Create stack variables at specified offsets.
Remove stack variables by name.
Read structure field values at given addresses.
Search for structures by name patterns.
Execute Python code within the IDA context and return results.
Comprehensive analysis of functions including decompilation, xrefs, strings, and blocks.