mcpField
I
idamesh

idamesh

ローカル
github.com/JordanRO2セキュリティ81 週間前に更新

idamesh について

idameshは、IDA Proを使うリバースエンジニアやセキュリティ分析者向けのMCPサーバーです。逆アセンブル、逆コンパイル、バイナリ分析、編集機能を提供し、複数のデータベースセッションでの並行作業も調整できます。

主な機能

  1. 01逆アセンブルとHex-Rays逆コンパイル
  2. 02バイナリ検索と構造化クエリ
  3. 03セキュリティ調査とデータフロー分析
  4. 04バイナリの名称変更、注釈、パッチ適用
  5. 05並列データベースセッションと編集の統合

活用シーン

  1. 01関数、型、コールグラフの調査
  2. 02脆弱性や暗号処理のトリアージ
  3. 03複数のエージェントで同じバイナリを分析
  4. 04注釈やパッチの適用と統合

MCP 対応

idameshは、IDA Proの機能をMCPツールと読み取り専用の`ida://…`リソースとして公開します。stdioワーカーとStreamable HTTPエンドポイントに対応し、スーパーバイザーで複数のデータベースセッションを管理できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"jordanro2-idamesh": {
"command": "uvx",
"args": [
"idamesh"
],
"env": {
"IDADIR": "<IDADIR>"
}
}
}
}
起動コマンドuvx idamesh
設定が必要な環境変数
IDADIRPath to the licensed IDA Pro installation, used to locate idalib/idapro. Required if IDA's Python API is not already importable on PYTHONPATH.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiidamesh1.0.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

idamesh

IDA Pro 用の Model Context Protocol(MCP)サーバーです。IDA の逆アセンブラーと Hex-Rays デコンパイラーを、ツールおよびリソースとして MCP クライアント(Claude など)に公開します。また、複数のデータベースを単一のエンドポイントの背後で管理するスーパーバイザーを備えており、複数のエージェントが並行して作業できます。

できること

  • 読み取り — デコンパイル(Hex-Rays)、逆アセンブル、クロスリファレンス、コールグラフ、型と構造体の調査、メモリの読み取り、文字列/バイト/テキストの検索。
  • クエリ — 関数、命令、クロスリファレンス、型、インポートに対する構造化フィルター。
  • 分析 — 全体調査/トリアージ、暗号や危険な API の検出、脆弱性のヒューリスティック検出、スタック文字列の再構成、データフロー/汚染追跡。
  • 変更 — 名前変更、コメント追加、型の変更、コードとデータの定義、スタックフレームの編集、バイト列/アセンブリのパッチ適用、ブックマーク、アノテーションのエクスポート/インポート。
  • 並列化 — 各データベースをプライベートコピーで開くことで、複数のエージェントが同じバイナリを同時に作業でき、変更を1つのデータベースにマージできます。

読み取り専用の IDB 状態は、ida://… MCP リソースとしても公開されます。

要件

  • Python 3.9+
  • idapro/idalib Python API を提供するライセンス済み IDA Pro インストール。IDADIR 環境変数を IDA のインストールディレクトリに設定してください。

インストール

pip install idamesh

または、開発用にクローンからインストールします。

pip install -e .[dev]     # editable install + pytest, to run the test suite

これにより、worker、supervisor、install の3つのサブコマンドを持つ idamesh コマンドが利用できるようになります。

使用方法

ヘッドレスワーカー — stdio で1つのデータベースを扱います(クライアントが起動します)。

idamesh worker /path/to/target.exe

スーパーバイザー — 多数のデータベースを1つの HTTP エンドポイントで扱います。

idamesh supervisor                       # http://127.0.0.1:8745/mcp

idb_open/idb_list/idb_close ツールを使って、その背後でデータベースを開いたり閉じたりできます。database キーを任意で指定すると、任意のツールをセッションにルーティングできます(データベースが1つだけ開いている場合は省略します)。同じバイナリを2回開くと、独立した2つのセッションが作成されます。idb_merge で、それぞれの変更を調整できます。

GUI プラグイン — 開いている IDA データベースを使って、MCP を提供します。

idamesh install     # deploy the plugin into IDA's user directory, then restart IDA

idamesh supervisor を実行するか、IDAMESH_AUTOLAUNCH_SUPERVISOR=1 を設定してプラグインにスーパーバイザーを起動させた後、IDA でバイナリを開きます。スーパーバイザーがライブセッションを取り込み、そこへルーティングします。

ワーカー(--transport http)とスーパーバイザーはどちらも、ループバックにバインドされ、Origin の検証を行う単一の /mcp エンドポイントで、MCP Streamable HTTP を使用します。

Claude Code から接続

claude mcp add --scope user --transport http idamesh http://127.0.0.1:8745/mcp

または、単一の stdio ワーカーを直接起動します。

claude mcp add --scope user -e IDADIR=/path/to/IDA-Pro \
  idamesh -- idamesh worker /path/to/target.exe

テスト

pip install -e .[dev]
python -m pytest -q

ライブの idalib エンドツーエンドテストは、IDA を利用できない場合(IDADIR が設定されていない場合)に問題なくスキップされるため、IDA をインストールしていなくてもテストスイートはすべて成功します。

ライセンス

MIT。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

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