Skip to main content
Glama

ghidraMCP

by LaurieWired

ghidra\_MCP\_ロゴ

ギドラMCP

ghidraMCPは、LLMが自律的にアプリケーションをリバースエンジニアリングできるようにするモデルコンテキストプロトコルサーバーです。Ghidraのコア機能からMCPクライアントに多数のツールを公開します。

https://github.com/user-attachments/assets/36080514-f227-44bd-af84-78e29ee1d7f9

特徴

MCP サーバー + Ghidra プラグイン

  • Ghidraでバイナリを逆コンパイルして分析する
  • メソッドとデータの名前を自動的に変更する
  • メソッド、クラス、インポート、エクスポートを一覧表示する

インストール

前提条件

  • Ghidraをインストールする
  • Python3
  • MCP SDK

ギドラ

まず、このリポジトリから最新リリースをダウンロードしてください。これにはGhidraプラグインとPython MCPクライアントが含まれています。その後、プラグインをGhidraに直接インポートできます。

  1. ギドラを走らせろ
  2. File -> Install Extensions選択
  3. +ボタンをクリック
  4. ダウンロードしたリリースからGhidraMCP-1-2.zip (または選択したバージョン)を選択します。
  5. ギドラを再起動
  6. File -> Configure -> Developerで GhidraMCPPlugin が有効になっていることを確認します。
  7. オプション: Ghidraのポートを、 Edit -> Tool Options -> GhidraMCP HTTP Serverで設定します。

ビデオインストールガイド:

https://github.com/user-attachments/assets/75f0c176-6da1-48dc-ad96-c182eb4648c3

MCPクライアント

理論上は、どのMCPクライアントでもghidraMCPで動作するはずです。以下に3つの例を示します。

例1: クロードデスクトップ

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になります。

例2: クライン

ClineでGhidraMCPを使用するには、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/

必須の引数はトランスポートのみです。その他の引数が指定されていない場合は、上記のデフォルトが使用されます。MCPサーバーが起動したら、Clineを開き、上部のMCP Serversを選択してください。

クラインセレクト

次に、 Remote Serversを選択し、URL が MCP のホストとポートと一致していることを確認しながら以下を追加します。

  1. サーバー名: GhidraMCP
  2. サーバーURL: http://127.0.0.1:8081/sse

例3: 5ire

バックエンドで複数のモデルをサポートする別のMCPクライアントは5ireです。GhidraMCPを設定するには、5ireを開き、 Tools 」→ Newに移動して、以下の設定を行います。

  1. ツールキー: ghidra
  2. 名前: GhidraMCP
  3. コマンド: python /ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py

ソースから構築

  1. Ghidra ディレクトリから次のファイルをこのプロジェクトのlib/ディレクトリにコピーします。
  • Ghidra/Features/Base/lib/Base.jar
  • Ghidra/Features/Decompiler/lib/Decompiler.jar
  • Ghidra/Framework/Docking/lib/Docking.jar
  • Ghidra/Framework/Generic/lib/Generic.jar
  • Ghidra/Framework/Project/lib/Project.jar
  • Ghidra/Framework/SoftwareModeling/lib/SoftwareModeling.jar
  • Ghidra/Framework/Utility/lib/Utility.jar
  • Ghidra/Framework/Gui/lib/Gui.jar
  1. 次のコマンドを実行して Maven でビルドします。

mvn clean package assembly:single

生成されたzipファイルには、ビルドされたGhidraプラグインとそのリソースが含まれています。これらのファイルは、Ghidraが新しい拡張機能を認識するために必要です。

  • lib/GhidraMCP.jar
  • 拡張機能プロパティ
  • モジュール.マニフェスト
-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Ghidra 機能を公開し、逆コンパイル、分析、メソッドとデータの自動名前変更を可能にすることで、LLM がアプリケーションを自律的にリバース エンジニアリングできるようにする MCP サーバー。

  1. 特徴
    1. インストール
      1. 前提条件
      2. ギドラ
      3. MCPクライアント
      4. 例1: クロードデスクトップ
      5. 例2: クライン
      6. 例3: 5ire
    2. ソースから構築

      Related MCP Servers

      • A
        security
        A
        license
        A
        quality
        An MCP server that enables secure terminal command execution, directory navigation, and file system operations through a standardized interface for LLMs.
        Last updated -
        10
        23
        Python
        MIT License
        • Apple
      • A
        security
        F
        license
        A
        quality
        A lightweight MCP server that provides a unified interface to various LLM providers including OpenAI, Anthropic, Google Gemini, Groq, DeepSeek, and Ollama.
        Last updated -
        6
        218
        Python
      • -
        security
        F
        license
        -
        quality
        Enables LLMs to perform binary analysis using Ghidra in headless mode, extracting functions, pseudocode, structs, and enums from binaries for interactive reverse-engineering.
        Last updated -
        1
        Python
      • A
        security
        A
        license
        A
        quality
        MCP server implementation that enables LLMs to interact with Rollbar error tracking data, allowing users to list and analyze errors, view occurrences, track deployments, and access project information.
        Last updated -
        13
        256
        2
        TypeScript
        MIT License

      View all related MCP servers

      MCP directory API

      We provide all the information about MCP servers via our MCP API.

      curl -X GET 'https://glama.ai/api/mcp/v1/servers/LaurieWired/GhidraMCP'

      If you have feedback or need assistance with the MCP directory API, please join our Discord server