Skip to main content
Glama

Binary Ninja MCP

by fosdickio

バイナリ忍者MCP

このリポジトリには、Binary Ninja プラグイン、MCP サーバー、およびお気に入りの LLM クライアントと Binary Ninja の機能をシームレスに統合できるブリッジが含まれています。

特徴

  • Binary NinjaとMCPクライアント間のシームレスでリアルタイムな統合
  • AI支援によるリバースエンジニアリングワークフローの強化
  • MCPクライアントとしてClaude Desktopを主にサポートしていますが、他の統合にも拡張可能です。

バイナリ分析レポートの生成

バイナリ分析レポート生成

関数名の変更

名前変更関数のデモ

コンポーネント

このリポジトリには 2 つの個別のコンポーネントが含まれています。

  1. Binary Ninjaの機能をHTTPエンドポイント経由で公開するMCPサーバーを提供するBinary Ninjaプラグイン。MCPプロトコルを実装するあらゆるクライアントで使用できます。
  2. お気に入りのMCPクライアントをBinary Ninja MCPサーバーに接続する、独立したMCPブリッジコンポーネントです。Claude Desktopが主な統合パスですが、MCPサーバーは他のクライアントでも使用できます。

サポートされている統合

次の表は、現在サポートされている Binary Ninja との統合の詳細を示しています。

関数説明
get_binary_statusロードされたバイナリの現在のステータスを取得します。
list_classesプログラム内のすべての名前空間/クラス名を一覧表示します。
list_data_items定義されたデータ ラベルとその値を一覧表示します。
list_exportsエクスポートされた関数/シンボルを一覧表示します。
list_importsプログラムにインポートされたシンボルを一覧表示します。
list_methodsプログラム内のすべての関数名を一覧表示します。
list_namespacesプログラム内のすべての非グローバル名前空間を一覧表示します。
list_segmentsプログラム内のすべてのメモリ セグメントを一覧表示します。
rename_data指定されたアドレスのデータ ラベルの名前を変更します。
rename_function関数の現在の名前を新しいユーザー定義の名前に変更します。
search_functions_by_name名前に指定された部分文字列が含まれる関数を検索します。
decompile_function特定の関数を名前で逆コンパイルし、逆コンパイルされた C コードを返します。
set_comment特定のアドレスにコメントを設定します。
set_function_comment関数のコメントを設定します。
get_comment特定のアドレスでコメントを取得します。
get_function_comment関数のコメントを取得します。
delete_comment特定のアドレスのコメントを削除します。
delete_function_comment関数のコメントを削除します。
get_assembly_function名前またはアドレスによって関数のアセンブリ表現を取得します。
function_atアドレスが属する関数の名前を取得します。
code_references指定された関数を呼び出す関数の名前とアドレスを取得します。
get_user_defined_typeユーザー定義型 (構造体、列挙型、typedef、共用体) の定義を取得します。
rename_variable指定された関数内の変数の名前を変更します。
retype_variable指定された関数内の変数を再入力する。
define_typesC 文字列型定義から型定義を追加します。
edit_function_signature型文字列として指定された、特定の関数のシグネチャを編集します。

前提条件

インストール

バイナリ忍者プラグイン

プラグインは、Binary Ninja のプラグイン マネージャー ( Plugins > Manage Plugins ) からインストールできます。

プラグインマネージャーのリスト

プラグインを手動で構成するには、このリポジトリを Binary Ninja プラグイン フォルダーにコピーします。

クロード デスクトップ ブリッジ (オプション)

これは、Claude DesktopをMCPクライアントとして使用する場合にのみ必要です。まず、仮想環境が設定されていることを確認してください。

git clone git@github.com:fosdickio/binary_ninja_mcp.git cd binary_ninja_mcp python3 -m venv .venv source .venv/bin/activate # On macOS/Linux pip install -r bridge/requirements.txt
自動構成(Mac)

Mac では、次のコマンドを実行してセットアップを自動化できます。

./scripts/setup_claude_desktop.py
手動設定

他のオペレーティング システムの場合、または Claude Desktop 統合を手動で構成する場合:

  1. Settings > Developer > Edit Configに移動します
  2. 次の構成を追加します。
{ "mcpServers": { "binary_ninja_mcp": { "command": "/ABSOLUTE/PATH/TO/binary_ninja_mcp/.venv/bin/python", "args": [ "/ABSOLUTE/PATH/TO/binary_ninja_mcp/bridge/binja_mcp_bridge.py" ] } } }

注: /ABSOLUTE/PATH/TOプロジェクトディレクトリへの実際の絶対パスに置き換えてください。インストールされた依存関係にアクセスするには、仮想環境の Python インタープリターを使用する必要があります。

使用法

クロードデスクトップ

  1. Binary Ninjaを開き、 Binary Ninja MCPプラグインをインストールします。
  2. Binary Ninjaを再起動してバイナリファイルを開きます
  3. MCP サーバーを起動します ( Plugins > MCP Server > Start MCP Server )
  4. Claudeデスクトップを起動

Claude Desktop を開くと、統合が自動的に利用可能になります。

クロード・インテグレーション

現在開いているバイナリについてClaudeに確認メッセージを送ることができます。プロンプトの例:

  • 「現在のバイナリのバイナリ分析レポートを生成します。」
  • 「現在のバイナリで関数 X の名前を Y に変更します。」
  • 「現在のバイナリ内のすべての関数を一覧表示します。」
  • 「ロードされたバイナリのステータスはどうですか?」

その他のMCPクライアント統合

適切な統合レイヤーを実装することにより、ブリッジを他の MCP クライアントと共に使用できます。

発達

プロジェクト構造は次のように構成されます。

binary_ninja_mcp/ ├── bridge/ # MCP client integration ├── plugin/ # Binary Ninja plugin ├── scripts/ │ └── setup_claude_desktop.py # Setup script for Claude Desktop

貢献

貢献を歓迎します。お気軽にプルリクエストを送信してください。

-
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.

Binary Ninja のリバース エンジニアリング機能と LLM アシスタンスのシームレスな統合を可能にするサーバー。これにより、Claude などの AI ツールがバイナリ分析機能とリアルタイムで対話できるようになります。

  1. 特徴
      1. バイナリ分析レポートの生成
      2. 関数名の変更
    1. コンポーネント
      1. サポートされている統合
        1. 前提条件
          1. インストール
            1. バイナリ忍者プラグイン
            2. クロード デスクトップ ブリッジ (オプション)
          2. 使用法
            1. クロードデスクトップ
            2. その他のMCPクライアント統合
          3. 発達
            1. 貢献

              Related MCP Servers

              • A
                security
                A
                license
                A
                quality
                A Model Context Protocol server that enables AI assistants to interact with IDA Pro for reverse engineering and binary analysis tasks.
                Last updated -
                8
                14
                Python
                MIT License
                • Linux
                • Apple
              • -
                security
                F
                license
                -
                quality
                A server that provides remote binary analysis capabilities through IDA Pro's headless mode, allowing users to manage and manipulate functions, variables, and other binary elements via the Multi-Client Protocol.
                Last updated -
                3
                Python
              • A
                security
                A
                license
                A
                quality
                An MCP server that enables Cline to analyze binaries using Binary Ninja with a Personal License through a bridge implementation.
                Last updated -
                4
                4
                Python
                GPL 3.0
              • -
                security
                A
                license
                -
                quality
                A Model Context Protocol server that enables Large Language Models to interact with Binary Ninja for reverse engineering tasks like viewing assembly code, decompiled code, renaming functions, and adding comments.
                Last updated -
                2
                Python
                MIT License
                • Linux
                • Apple

              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/fosdickio/binary_ninja_mcp'

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