local-only server
The server can only run on the client’s local machine because it depends on local resources.
ギドラMCP
ghidraMCPは、LLMが自律的にアプリケーションをリバースエンジニアリングできるようにするモデルコンテキストプロトコルサーバーです。Ghidraのコア機能からMCPクライアントに多数のツールを公開します。
https://github.com/user-attachments/assets/36080514-f227-44bd-af84-78e29ee1d7f9
特徴
MCP サーバー + Ghidra プラグイン
- Ghidraでバイナリを逆コンパイルして分析する
- メソッドとデータの名前を自動的に変更する
- メソッド、クラス、インポート、エクスポートを一覧表示する
インストール
前提条件
ギドラ
まず、このリポジトリから最新リリースをダウンロードしてください。これにはGhidraプラグインとPython MCPクライアントが含まれています。その後、プラグインをGhidraに直接インポートできます。
- ギドラを走らせろ
File
->Install Extensions
選択+
ボタンをクリック- ダウンロードしたリリースから
GhidraMCP-1-2.zip
(または選択したバージョン)を選択します。 - ギドラを再起動
File
->Configure
->Developer
で GhidraMCPPlugin が有効になっていることを確認します。- オプション: Ghidraのポートを、
Edit
->Tool Options
->GhidraMCP HTTP Server
で設定します。
ビデオインストールガイド:
https://github.com/user-attachments/assets/75f0c176-6da1-48dc-ad96-c182eb4648c3
MCPクライアント
理論上は、どのMCPクライアントでもghidraMCPで動作するはずです。以下に2つの例を示します。
例1: クロードデスクトップ
Claude Desktop を Ghidra MCP クライアントとして設定するには、 Claude
-> Settings
-> Developer
-> Edit Config
-> claude_desktop_config.json
に移動し、以下を追加します。
あるいは、このファイルを直接編集します。
サーバーのIPアドレスとポート番号は設定可能で、対象のGhidraインスタンスを指すように設定する必要があります。設定されていない場合は、どちらもデフォルトでlocalhost:8080になります。
例2: クライン
ClineでGhidraMCPを使用するには、MCPサーバーも手動で実行する必要があります。まず、以下のコマンドを実行してください。
必須の引数はトランスポートのみです。その他の引数が指定されていない場合は、上記のデフォルトが使用されます。MCPサーバーが起動したら、Clineを開き、上部のMCP Servers
を選択してください。
次に、 Remote Servers
を選択し、URL が MCP のホストとポートと一致していることを確認しながら以下を追加します。
- サーバー名: GhidraMCP
- サーバーURL:
http://127.0.0.1:8081/sse
例3: 5ire
バックエンドで複数のモデルをサポートする別のMCPクライアントは5ireです。GhidraMCPを設定するには、5ireを開き、 Tools
」→ New
に移動して、以下の設定を行います。
- ツールキー: ghidra
- 名前: GhidraMCP
- コマンド:
python /ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py
ソースから構築
次のコマンドを実行して Maven でビルドします。
mvn clean package assembly:single
生成されたzipファイルには、ビルドされたGhidraプラグインとそのリソースが含まれています。これらのファイルは、Ghidraが新しい拡張機能を認識するために必要です。
- lib/GhidraMCP.jar
- 拡張機能プロパティ
- モジュール.マニフェスト
This server cannot be installed
Ghidra 機能を公開し、逆コンパイル、分析、メソッドとデータの自動名前変更を可能にすることで、LLM がアプリケーションを自律的にリバース エンジニアリングできるようにする MCP サーバー。