Acknowledgments
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/inspector
or
{ "mcpServers": { "ida": { "command": "/path/to/uv", "args": ["--directory","path/to/headless-ida-mcp-server","run","headless_ida_mcp_server"] } } }
Metadata
Release files for iflow-mcp_cnitlrt-headless-ida-mcp-server 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_cnitlrt_headless_ida_mcp_server-0.1.0.tar.gz | 9.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iflow_mcp_cnitlrt_headless_ida_mcp_server-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.6 kB
Release files / iflow_mcp_cnitlrt_headless_ida_mcp_server-0.1.0.tar.gz
| Download URL | iflow_mcp_cnitlrt_headless_ida_mcp_server-0.1.0.tar.gz |
|---|---|
| Size | 9.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
52e32cb6eabd47449dff18288b28050acd33a69798ccd902428b2be180044714
|
|
BLAKE2b-256 checksum How to use checksums |
45edbcc6f54e853cc865a05442666c8769c15f90c19ab28d928965ca17bc1573
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / iflow_mcp_cnitlrt_headless_ida_mcp_server-0.1.0-py3-none-any.whl
| Download URL | iflow_mcp_cnitlrt_headless_ida_mcp_server-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b378057461aee5689d4b5a36a119879e63c84859886c03c28c4ecb3a4014ce43
|
|
BLAKE2b-256 checksum How to use checksums |
b272913dd4109fdaf2e87d4f6bfbf1c8cbc3b19f133e5dd8ae47bfcccdb080de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|