headless-ida-mcp-server

headless-ida-mcp-server

3.4

If you are the rightful owner of headless-ida-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Headless IDA MCP Server leverages IDA Pro's headless mode to analyze binary files and provides tools via MCP for managing and manipulating functions, variables, and more.

Acknowledgments

This project builds upon the work of:

Headless IDA MCP Server

If you want to run the server directly as a cli app, rather than an IDA plugin interactively,you can chose it.

Project Description

This project uses IDA Pro's headless mode to analyze binary files and provides a suite of tools via MCP to manage and manipulate functions, variables, and more.

Prerequisites

Installation

  1. Clone the project locally:

    git clone https://github.com/cnitlrt/headless-ida-mcp-server.git 
    cd headless-ida-mcp-server
    
  2. Install dependencies:

    uv python install 3.12
    uv venv --python 3.12
    uv pip install -e .
    

Configuration

  1. Copy the example environment file:

    cp .env_example .env
    
  2. Configure the following environment variables in .env:

    • IDA_PATH: Path to IDA Pro's headless executable (idat), e.g., /home/ubuntu/idapro/idat
    • PORT: Port number for the MCP server, e.g., 8888
    • HOST: Host address for the MCP server, e.g., 127.0.0.1
    • TRANSPORT: MCP transport mode (sse or stdio)

Usage

  1. Start the server:

    uv run headless_ida_mcp_server
    
  2. Connect to the server using an MCP client:

    Debug it:

    npx -y @modelcontextprotocol/inspector
    

    or

    {
    "mcpServers": {
       "ida": {
          "command": "/path/to/uv",
          "args": ["--directory","path/to/headless-ida-mcp-server","run","headless_ida_mcp_server"]
       }
    }
    }