返回 MCP 目录
public公开dns本地运行

headless-ida-mcp-server

基于IDA Pro无头模式的二进制分析工具,提供MCP服务管理功能

article

README

🚀 头模式 IDA MCP 服务器

本项目利用 IDA Pro 的无头模式来分析二进制文件,并通过 MCP 提供一套工具来管理和操作函数、变量等,为二进制文件的分析工作提供了便利。

🚀 快速开始

先决条件

  • Python 3.12 或更高版本
  • 带有无头支持的 IDA Pro 执行utable (idat) https://github.com/DennyDai/headless-ida

安装

  1. 本地克隆项目:
git clone https://github.com/cnitlrt/headless-ida-mcp-server.git 
cd headless-ida-mcp-server
  1. 安装依赖项:
uv python install 3.12
uv venv --python 3.12
uv pip install -e .

配置

  1. 复制示例环境文件:
cp .env_example .env
  1. .env 中配置以下环境变量: | 属性 | 详情 | |------|------| | IDA_PATH | IDA Pro 无头可执行文件的路径,例如 /home/ubuntu/idapro/idat | | PORT | MCP 服务器端口,例如 8888 | | HOST | MCP 服务器主机地址,例如 127.0.0.1 | | TRANSPORT | MCP 传输模式(ssestdio) |

使用方法

  1. 启动服务器:
uv run headless_ida_mcp_server
  1. 使用 MCP 客户端连接到服务器: 调试时:
npx -y @modelcontextprotocol/inspector

或者

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

📄 致谢

本项目基于以下作品构建:

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端