Get the FREE Ultimate OpenClaw Setup Guide →

IDAssistMCP

Standalone MCP server plugin for IDA Pro.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio jtang613-idassistmcp uvx idassistmcp \
  --env IDASSISTMCP_DEBUG="false" \
  --env IDASSISTMCP_LOG_LEVEL="INFO" \
  --env IDASSISTMCP_SERVER__HOST="localhost" \
  --env IDASSISTMCP_SERVER__PORT="9080" \
  --env IDASSISTMCP_SERVER__TRANSPORT="streamablehttp"

How to use

IDAssistMCP exposes IDA Pro 9.x analysis capabilities as MCP tools that can be invoked by LLM clients. It includes dozens of functions for binary analysis, decompilation, cross-references, symbol and type management, navigation, and data extraction, organized into dedicated tool groups such as Binary Management, Code Analysis, Cross-References, Comments, Variables, Types, Function Discovery, Symbol Management, Binary Info, Data Analysis, Patching, Navigation, and Task Management. The server runs via an ASGI transport (streamable HTTP or SSE) and is designed to be thread-safe and asynchronous, enabling long-running tasks like decompilation to be performed without blocking. To use it, start the MCP server (the IDA plugin exposes the server URL in IDA’s output window), then configure your client (for example Claude Desktop) to point at http://localhost:9080/mcp. The client can issue tool calls with appropriate parameters (e.g., analyze_function, get_code, xrefs_tool) to retrieve results such as function metadata, decompiled pseudo-C or disassembly, xref directions, and symbolic information. The environment supports a prefix of IDASSISTMCP_ for configuration, so you can tune host, port, transport, and log levels as needed.

How to install

Prerequisites:

  • IDA Pro 9.x with Python 3.10+ (for the IDA plugin approach)
  • Hex-Rays Decompiler (optional, for decompilation features)
  • Python environment capable of running the MCP server package

Option 1: IDA Plugin Manager (recommended)

  1. In IDA, install the MCP plugin which includes the Python dependencies: hcli plugin install idassistmcp
  2. Start IDA Pro and load a binary to initialize the MCP server. The server URL will be printed to IDA’s output window.

Option 2: Manual installation (from release tarball)

  1. Download the latest release zip from GitHub Releases and extract into your IDA plugins directory: Linux/macOS: unzip IDAssistMCP-*.zip -d ~/.idapro/plugins/ Windows: unzip into %APPDATA%\Hex-Rays\IDA Pro\plugins\
  2. Install Python dependencies using IDA’s bundled Python: Linux/macOS: <IDA_INSTALL_DIR>/python3/bin/pip3 install -r ~/.idapro/plugins/IDAssistMCP/requirements.txt Windows: "<IDA_INSTALL_DIR>\python3\python.exe" -m pip install -r "%APPDATA%\Hex-Rays\IDA Pro\plugins\IDAssistMCP\requirements.txt"
  3. Ensure environment variable IDASSISTMCP_SERVER__HOST, IDASSISTMCP_SERVER__PORT, and related variables are set if you want to customize defaults.

Alternative (for non-IDA usage): Install the Python package and run the MCP server via uvx (package name idassistmcp):

  1. Ensure Python 3.10+ and necessary dependencies are present.
  2. Install the package (example): pip install idassistmcp
  3. Run the server with uvx: uvx idassistmcp
  4. The server will start and listen on the configured host/port (default localhost:9080).

Notes:

  • If you use the manual install, make sure to point IDA to the plugin directory and use IDA’s bundled Python to install requirements.txt.
  • The MCP server supports environment-based configuration with the IDASSISTMCP_ prefix; use these to customize host, port, and transport as needed.

Additional notes

Tips and common issues:

  • Ensure you are using IDA Pro 9.x with Python 3.10+; without it, the plugin and tools may not load.
  • If the server fails to start, check that the port (default 9080) is not in use by another process and verify environment variable names and values.
  • Transport options include SSE and Streamable HTTP; set IDASSISTMCP_SERVER__TRANSPORT to 'sse' or 'streamablehttp' as required by your client.
  • For long-running tasks (e.g., decompilation), the Async Task Manager helps prevent blocking; monitor task statuses via the provided tools.
  • The server uses Pydantic for configuration and supports IDA-specific utilities; ensure IDA’s environment is properly configured if running inside IDA.
  • When configuring Claude Desktop or other clients, point to the MCP endpoint at /mcp (for example http://localhost:9080/mcp) and ensure proper authentication if you layer it in.

Related MCP Servers

Sponsor this space

Reach thousands of developers