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
をインストールすることもできます。
インストール後、次のコマンドを使用してスクリプトとして実行できます。
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 サーバーに追加します。
使用法
- Binary Ninjaを開いてバイナリをロードする
- ツールメニューまたはキーボードショートカットを使用してMCPサーバーを起動します。
- 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 つあります。
- MCP インスペクターを実行して変更をテストします。
claude_desktop_config.json
に次のコードを追加して、Claude デスクトップ アプリの使用をテストします。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。
This server cannot be installed
アセンブリ コードや逆コンパイルされたコードの表示、関数の名前変更、コメントの追加などのリバース エンジニアリング タスクのために、大規模言語モデルが Binary Ninja と対話できるようにするモデル コンテキスト プロトコル サーバー。