
Ghidra 用 MCP サーバー

ghidraMCP は、LLM がアプリケーションを自律的にリバースエンジニアリングできるようにする Model Context Protocol サーバーです。Ghidra のコア機能から多数のツールを MCP クライアントに公開します。
https://github.com/user-attachments/assets/36080514-f227-44bd-af84-78e29ee1d7f9
MCP サーバー + Ghidra プラグイン
まず、このリポジトリから最新の リリース をダウンロードします。これには Ghidra プラグインと Python MCP クライアントが含まれています。その後、プラグインを Ghidra に直接インポートできます。
File -> Install Extensions を選択+ ボタンをクリックGhidraMCP-1-2.zip(または選択したバージョン)を選択File -> Configure -> Developer で GhidraMCPPlugin が有効になっていることを確認Edit -> Tool Options -> GhidraMCP HTTP Server で Ghidra のポートを設定ビデオによるインストールガイド:
https://github.com/user-attachments/assets/75f0c176-6da1-48dc-ad96-c182eb4648c3
理論上、どの MCP クライアントでも ghidraMCP と連携できるはずです。以下に 3 つの例を示します。
Claude Desktop を Ghidra MCP クライアントとして設定するには、Claude -> Settings -> Developer -> Edit Config -> claude_desktop_config.json に移動し、以下を追加します:
{
"mcpServers": {
"ghidra": {
"command": "python",
"args": [
"/ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py",
"--ghidra-server",
"http://127.0.0.1:8080/"
]
}
}
}
あるいは、このファイルを直接編集します:
/Users/YOUR_USER/Library/Application Support/Claude/claude_desktop_config.json
サーバーの IP とポートは設定可能で、対象の Ghidra インスタンスを指すように設定する必要があります。設定しない場合、どちらもデフォルトで localhost:8080 になります。
GhidraMCP を Cline で使用するには、MCP サーバーも手動で実行する必要があります。まず次のコマンドを実行します:
python bridge_mcp_ghidra.py --transport sse --mcp-host 127.0.0.1 --mcp-port 8081 --ghidra-server http://127.0.0.1:8080/
唯一の必須引数は transport です。他の引数が指定されていない場合は、すべて上記のデフォルト値になります。MCP サーバーが起動したら、Cline を開いて上部の MCP Servers を選択します。

次に Remote Servers を選択して以下を追加します。URL が MCP ホストとポートに一致していることを確認してください:
http://127.0.0.1:8081/sseバックエンドで複数のモデルをサポートするもう 1 つの MCP クライアントは 5ire です。GhidraMCP を設定するには、5ire を開いて Tools -> New に移動し、次の設定を行います:
python /ABSOLUTE_PATH_TO/bridge_mcp_ghidra.pylib/ ディレクトリに次のファイルをコピーします:Ghidra/Features/Base/lib/Base.jarGhidra/Features/Decompiler/lib/Decompiler.jarGhidra/Framework/Docking/lib/Docking.jarGhidra/Framework/Generic/lib/Generic.jarGhidra/Framework/Project/lib/Project.jarGhidra/Framework/SoftwareModeling/lib/SoftwareModeling.jarGhidra/Framework/Utility/lib/Utility.jarGhidra/Framework/Gui/lib/Gui.jarmvn clean package assembly:single
生成された zip ファイルには、ビルドされた Ghidra プラグインとそのリソースが含まれています。これらのファイルは、Ghidra が新しい拡張機能を認識するために必要です。