headless-ida-mcp-server について
headless-ida-mcp-server は、IDA Pro のヘッドレスモード(idat)を利用するMCPサーバーです。対話型のIDAプラグインではなく、コマンドラインアプリケーションとして実行できます。バイナリファイルを解析する利用者向けに、関数や変数などを操作するツール群を提供します。
主な機能
- 01IDAプラグインを使わずコマンドラインで実行
- 02IDA Pro ヘッドレスモードによるバイナリ解析
- 03関数と変数を操作するMCPツール
- 04sse と stdio のトランスポートモード対応
活用シーン
- 01バイナリファイルのリバースエンジニアリングの自動化
- 02MCPクライアントからのIDA解析機能の呼び出し
- 03GUIのないサーバーでのIDA解析の実行
MCP 対応
このプロジェクトはMCPサーバーであり、IDA Pro の関数および変数の操作をMCPクライアントから呼び出せるツールとして公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
謝辞
このプロジェクトは、以下の成果を基盤としています。
- ida-pro-mcp のツールコードを mrexodia 氏の成果から応用しています
- DennyDai 氏の headless-ida ライブラリを使用しています
Headless IDA MCP サーバー
IDA プラグインを対話的に実行するのではなく、サーバーを CLI アプリとして直接実行したい場合は、この方法を選択できます。
プロジェクトの説明
このプロジェクトでは、IDA Pro のヘッドレスモードを使用してバイナリファイルを分析し、MCP 経由で関数や変数などを管理・操作するためのツール一式を提供します。
前提条件
- Python 3.12 以降
- ヘッドレスモードに対応した IDA Pro(idat) https://github.com/DennyDai/headless-ida
インストール
-
プロジェクトをローカルにクローンします。
git clone https://github.com/cnitlrt/headless-ida-mcp-server.git cd headless-ida-mcp-server -
依存関係をインストールします。
uv python install 3.12 uv venv --python 3.12 uv pip install -e .
設定
-
サンプルの環境ファイルをコピーします。
cp .env_example .env -
.envで以下の環境変数を設定します。IDA_PATH:IDA Pro のヘッドレス実行ファイル(idat)へのパス。例:/home/ubuntu/idapro/idatPORT:MCP サーバーのポート番号。例:8888HOST:MCP サーバーのホストアドレス。例:127.0.0.1TRANSPORT:MCP のトランスポートモード(sseまたはstdio)
使い方
-
サーバーを起動します。
uv run headless_ida_mcp_server -
MCP クライアントを使ってサーバーに接続します。
デバッグする場合:
npx -y @modelcontextprotocol/inspectorまたは
{ "mcpServers": { "ida": { "command": "/path/to/uv", "args": ["--directory","path/to/headless-ida-mcp-server","run","headless_ida_mcp_server"] } } }


コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。