home / mcp / ida pro mcp server

IDA Pro MCP Server

Binds IDA Pro to MCP clients for remote binary analysis and control

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "taida957789-ida-mcp-server-plugin": {
      "url": "http://127.0.0.1:3000/sse"
    }
  }
}

IDA Pro MCP Server lets you query and control IDA Pro remotely through the Model Context Protocol (MCP). This enables AI assistants to perform binary analysis tasks directly inside IDA Pro, such as inspecting bytes, disassembly, decompiled code, functions, strings, and more from your own tooling or IDEs.

How to use

You connect your MCP client (for example Claude or your code editor’s MCP integration) to the IDA Pro MCP Server over a local or remote channel. Start IDA Pro with the plugin loaded so the server begins listening on port 3000. With the server running, you can issue analysis commands and receive structured results in real time. Typical workflows include inspecting bytes at an address, viewing disassembly, examining function boundaries, and listing strings or imports to guide your reverse engineering tasks.

How to install

Prerequisites you need before installing the MCP server plugin are Python and its dependencies.

pip install -r requirements.txt

Copy the ida-mcp-server.py file to the IDA Pro plugins directory:
- Windows: %Programfiles%\IDA Pro 9.0\plugins\
- Linux: ~/.idapro/plugins/
- macOS: ~/Library/Application Support/IDA Pro/plugins/

Additional configuration and usage notes

Configure your MCP client to connect to the local MCP server exposed by the plugin. Use the following example configuration to point a client like Claude or VSCode to the server.

{
  "mcpServers": {
    "IDAPro": {
      "url": "http://127.0.0.1:3000/sse",
      "type": "http"
    }
  }
}

Notes on usage with IDA Pro

Open a binary file in IDA Pro and ensure the plugin is loaded. The MCP server will start locally on port 3000. From your MCP client, you can issue requests such as getting bytes, disassembly, function information, strings, and more, then display results in your editor or assistant UI.

Troubleshooting and tips

If the server does not appear to be listening, verify that IDA Pro is running with the plugin loaded and that no firewall is blocking localhost:3000. Check the client’s configuration to ensure it points to the correct URL. If you change IDA Pro’s plugin path, restart IDA Pro so the MCP server initializes on startup.

Security considerations

Since the MCP server exposes analysis capabilities inside your IDA Pro instance, limit access to trusted clients only. Use localhost or a protected network, and avoid exposing port 3000 to untrusted networks in shared environments.

Available tools

get_bytes

Fetch raw bytes from a specific address in the loaded binary.

get_disasm

Retrieve the disassembly at a given address.

get_decompiled_func

Obtain the decompiled pseudocode for the function containing the address.

get_function_name

Query the function name at a specified address.

get_segments

Return information about all segments in the binary.

get_functions

List all functions found in the binary.

get_xrefs_to

Get all cross-references to a specified address.

get_imports

List all imported functions.

get_exports

List all exported functions.

get_entry_point

Get the binary's entry point address.

make_function

Define a new function at a given address.

undefine_function

Undefine a function at a given address.

get_dword_at

Get the dword value at a given address.

get_word_at

Get the word value at a given address.

get_byte_at

Get the byte value at a given address.

get_qword_at

Get the qword value at a given address.

get_float_at

Get the float value at a given address.

get_double_at

Get the double value at a given address.

get_string_at

Get the string at a given address.

get_string_list

Get all strings in the binary.

get_strings

Get all strings with their addresses in the binary.