Headless IDA Analyzer
STDIOUses IDA Pro's headless mode to analyze binary files and provide MCP tools.
Uses IDA Pro's headless mode to analyze binary files and provide MCP tools.
This project builds upon the work of:
If you want to run the server directly as a cli app, rather than an IDA plugin interactively,you can chose it.
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.
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 .
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/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
)Start the server:
uv run headless_ida_mcp_server
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"] } } }