home / mcp / ida pro mcp server

IDA Pro MCP Server

Provides an MCP server that enables prompt-assisted reverse engineering workflows with IDA Pro and external MCP clients.

Installation
Add the following to your MCP client configuration file.

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.

How to use

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.

How to install

Prerequisites you need to satisfy before installing the MCP server.

  • Python 3.11 or higher
  • Use idapyswitch to switch to the newest Python version
  • IDA Pro 8.3 or higher (9 recommended); IDA Free is not supported
  • A supported MCP client of your choice (examples include Pine, Claude, Copilot CLI, VS Code, Warp, etc.)

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.zip

Configure the MCP servers and install the IDA Plugin.

ida-pro-mcp --install

Important: 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/executable

Additional tips and notes

Load 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.

Available tools

lookup_funcs

Retrieve functions by address or name with auto-detect and support for lists.

int_convert

Convert numbers between decimal, hex, bytes, ASCII, and binary representations.

list_funcs

List all functions with pagination and filtering options.

list_globals

List global variables with pagination and filtering options.

imports

List imported symbols with their modules.

decompile

Decompile a function at a given address to inspect high-level logic.

disasm

Disassemble a function to show detailed instructions and operands.

xrefs_to

Get all cross-references to a given address.

xrefs_to_field

Get cross-references to specific structure fields.

callees

Identify functions called by a target function.

set_comments

Set comments at addresses for both disassembly and decompiler views.

patch_asm

Patch assembly instructions at specified addresses.

declare_type

Declare or update type information in the local type library.

get_bytes

Read raw bytes from specified addresses.

get_int

Read integer values with specified types and endianness.

get_string

Read null-terminated strings from memory.

get_global_value

Read the value of a global variable by address or name.

stack_frame

Retrieve stack frame variables for a function.

declare_stack

Create stack variables at specified offsets.

delete_stack

Remove stack variables by name.

read_struct

Read structure field values at given addresses.

search_structs

Search for structures by name patterns.

py_eval

Execute Python code within the IDA context and return results.

analyze_funcs

Comprehensive analysis of functions including decompilation, xrefs, strings, and blocks.