MCP HubMCP Hub
MxIris-Reverse-Engineering

ida-mcp-server

by: MxIris-Reverse-Engineering

A Model Context Protocol server for IDA

413created 12/03/2025
Visit
IDA
Protocol

📌Overview

Purpose: To provide a Model Context Protocol server for automating interactions with IDA, enabling enhanced database reading through Large Language Models.

Overview: The IDA MCP Server facilitates automation and interaction with IDA databases, leveraging advanced capabilities offered by Large Language Models. Currently in early development, the server's features and tools are poised for future enhancements.

Key Features:

  • Integration with Large Language Models: Allows users to access and manipulate IDA databases effectively, improving automation and data processing capabilities.

  • Flexible Installation Options: Supports installation via uv (recommended) or pip, offering users ease of setup to suit their environment.


IDA MCP Server

Note: The idalib mode is under development and will not require installing the IDA plugin or running IDA (idalib is available from IDA Pro 9.0+).

Overview

A Model Context Protocol server for IDA interaction and automation. This server provides tools to read the IDA database via Large Language Models.

The mcp-server-ida is currently in early development. Functionality and available tools are subject to change and expansion.

Installation

Using uv (recommended)

No specific installation is needed when using uv. You can use uvx to directly run mcp-server-ida.

Using PIP

Alternatively, install mcp-server-ida via pip:

pip install mcp-server-ida

Run it as a script using:

python -m mcp_server_ida

IDA-Side Setup

Copy repository/plugin/ida_mcp_server_plugin.py and the repository/plugin/ida_mcp_server_plugin directory into IDA's plugin directory:

  • Windows: %APPDATA%\Hex-Rays\IDA Pro\plugins
  • Linux/macOS: $HOME/.idapro/plugins (e.g., ~/.idapro/plugins)

Configuration

Usage with Claude Desktop

Add the following to your claude_desktop_config.json:

Using uvx

"mcpServers": {
  "git": {
    "command": "uvx",
    "args": [
        "mcp-server-ida"
    ]
  }
}

Using pip installation

"mcpServers": {
  "git": {
    "command": "python",
    "args": [
        "-m", 
        "mcp_server_ida"
    ]
  }
}

Debugging

Use the MCP inspector to debug the server.

For uvx installations:

npx @modelcontextprotocol/inspector uvx mcp-server-ida

If developing locally or installed in a specific directory:

cd path/to/mcp-server-ida/src
npx @modelcontextprotocol/inspector uv run mcp-server-ida

Check the logs with:

tail -n 20 -f ~/Library/Logs/Claude/mcp*.log

Development

For local development, test changes by:

  1. Running the MCP inspector (see Debugging section).
  2. Testing with the Claude desktop app by adding to claude_desktop_config.json:
{
  "mcpServers": {
    "git": {
      "command": "uv",
      "args": [
        "--directory",
        "/<path to mcp-server-ida>",
        "run",
        "mcp-server-ida"
      ]
    }
  }
}

Alternatives