Binary Ninja MCP Server

MIT License
  • Linux
  • Apple

Integrations

  • Supports running the Binary Ninja MCP Server on Linux, with specific paths for plugin installation in the Linux environment.

  • Supports running the Binary Ninja MCP Server on macOS, with specific paths for plugin installation in the macOS environment.

  • Provides a Python module interface for the Binary Ninja MCP Server, allowing it to be run as a Python script.

バイナリ忍者MCPサーバー

Binary Ninjaとの連携と自動化のためのモデルコンテキストプロトコルサーバー。このサーバーは、大規模言語モデルを介してBinary Ninjaと連携するためのツールを提供します。

概要

Binary Ninja MCPサーバーは、大規模言語モデルがモデルコンテキストプロトコル(MCP)を介してBinary Ninjaとやり取りできるようにするプラグインおよびサーバー実装です。以下の機能を提供します。

  • 関数のアセンブリコードを取得する
  • 関数のデコンパイルされたコード(HLIL)を取得する
  • 関数と変数の名前を変更する
  • コメントを追加する

インストール

uvの使用(推奨)

uvを使用する場合、特別なインストールは必要ありません。 binja_mcp を直接実行するためにuvxを使用します。

PIPの使用

あるいは、pip 経由でbinja-mcpをインストールすることもできます。

pip install binja-mcp

インストール後、次のコマンドを使用してスクリプトとして実行できます。

python -m binja_mcp

Binary Ninjaプラグインのインストール

このリポジトリをクローンするか、クローンしたリポジトリを Binary Ninja のプラグイン ディレクトリにリンクします。

  • Linux: ~/.binaryninja/plugins/
  • macOS: ~/Library/Application Support/Binary Ninja/plugins/
  • Windows: %APPDATA%\Binary Ninja\plugins\

構成

Claude Desktop/Cursor での使用

これをclaude_desktop_config.jsonまたは Cursor MCP サーバーに追加します。

"mcpServers": { "binja": { "command": "uvx", "args": [ "-n", "mcp-server-binja" ] } }
"mcpServers": { "binja": { "command": "python", "args": [ "-m", "mcp_server_binja" ] } }

使用法

  1. Binary Ninjaを開いてバイナリをロードする
  2. ツールメニューまたはキーボードショートカットを使用してMCPサーバーを起動します。
  3. Claude Desktop、Cursor、またはお好みのMCPクライアントを使用してバイナリと対話します。

利用可能なコマンド

MCP インターフェイスを通じて次のコマンドが使用できます。

  • binja_get_function_assembly : 名前付き関数のアセンブリコードを取得する
  • binja_get_function_decompiled : 名前付き関数のデコンパイルされたコードを取得する
  • binja_get_global_variable : グローバル変数に関する情報を取得する
  • binja_get_current_function_assembly : 現在の関数のアセンブリを取得する
  • binja_get_current_function_decompiled : 現在の関数のデコンパイルされたコードを取得する

発達

ローカル開発を行っている場合、変更をテストする方法は 2 つあります。

  1. MCP インスペクターを実行して変更をテストします。
npx @modelcontextprotocol/inspector uvx binja_mcp
  1. claude_desktop_config.jsonに次のコードを追加して、Claude デスクトップ アプリの使用をテストします。
{ "mcpServers": { "binja": { "command": "uv", "args": [ "--directory", "/<path to mcp-server-binja>/src", "run", "mcp-server-binja" ] } } }

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。

-
security - not tested
A
license - permissive license
-
quality - not tested

アセンブリ コードや逆コンパイルされたコードの表示、関数の名前変更、コメントの追加などのリバース エンジニアリング タスクのために、大規模言語モデルが Binary Ninja と対話できるようにするモデル コンテキスト プロトコル サーバー。

  1. Overview
    1. Installation
      1. Using uv (recommended)
      2. Using PIP
      3. Binary Ninja Plugin Installation
    2. Configuration
      1. Usage with Claude Desktop/Cursor
    3. Usage
      1. Available Commands
        1. Development
          1. License
            ID: 7q8rq07sbh