About headless-ida-mcp-server
headless-ida-mcp-server is an MCP server that runs IDA Pro in headless mode (idat) as a command line application instead of an interactive IDA plugin. It is aimed at users who analyze binary files and provides tools for managing and manipulating functions, variables and more.
Key features
- 01Runs as a command line app without an IDA plugin
- 02Analyzes binary files using IDA Pro headless mode
- 03Provides MCP tools for functions and variables
- 04Supports sse and stdio transport modes
Use cases
- 01Automating reverse engineering of binary files
- 02Calling IDA analysis capabilities from MCP clients
- 03Running IDA analysis on servers without a GUI
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEAcknowledgments
This project builds upon the work of:
- Tools code adapted from ida-pro-mcp by mrexodia
- Utilizes the headless-ida library by DennyDai
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
- Python 3.12 or higher
- IDA Pro with headless support (idat) https://github.com/DennyDai/headless-ida
Installation
-
Clone the project locally:
git clone https://github.com/cnitlrt/headless-ida-mcp-server.git cd headless-ida-mcp-server -
Install dependencies:
uv python install 3.12 uv venv --python 3.12 uv pip install -e .
Configuration
-
Copy the example environment file:
cp .env_example .env -
Configure the following environment variables in
.env:IDA_PATH: Path to IDA Pro's headless executable (idat), e.g.,/home/ubuntu/idapro/idatPORT: Port number for the MCP server, e.g.,8888HOST: Host address for the MCP server, e.g.,127.0.0.1TRANSPORT: MCP transport mode (sseorstdio)
Usage
-
Start the server:
uv run headless_ida_mcp_server -
Connect to the server using an MCP client:
Debug it:
npx -y @modelcontextprotocol/inspectoror
{ "mcpServers": { "ida": { "command": "/path/to/uv", "args": ["--directory","path/to/headless-ida-mcp-server","run","headless_ida_mcp_server"] } } }


Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.