
akrutsinger/binja-codemode-mcp
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
Code Execution MCP Server for Binary Ninja
概要
A Model Context Protocol (MCP) server for Binary Ninja that enables LLM-assisted reverse engineering through code execution. This plugin implements Anthropic's Code Execution pattern. Instead of accessing the typical MCP "tools", the LLM writes Python code that executes directly against Binary Ninja's API. This approach (described by Cloudflare as "Code Mode") is more token-efficient and enables more complex multi-step analyses in a single execution. - Write Python that runs directly against Binary Ninja's API - Query and mutate the binary database - Checkpoint/rollback, persistent workspace files, and reusable analysis patterns - The API reference is generated from the code and rides in the tool description, so the model always has it and it can never drift from what the plugin actually exposes - search_api() and describe() read Binary Ninja's own API across 31 types, so anything the wrapper does not cover is something the model looks up rather than a dead end 1.
README
以下は原文 README の抜粋です。原文を見る。
Binary Ninja Code Mode MCP
A Model Context Protocol (MCP) server for Binary Ninja that enables LLM-assisted reverse engineering through code execution.
Overview
This plugin implements Anthropic’s Code Execution pattern. Instead of accessing the typical MCP “tools”, the LLM writes Python code that executes directly against Binary Ninja’s API. This approach (described by Cloudflare as “Code Mode”) is more token-efficient and enables more complex multi-step analyses in a single execution.
Key Features
- Write Python that runs directly against Binary Ninja’s API
- Query and mutate the binary database
- Checkpoint/rollback, persistent workspace files, and reusable analysis patterns
- The API reference is generated from the code and rides in the tool description, so the model always has it and it can never drift from what the plugin actually exposes
search_api()anddescribe()read Binary Ninja’s own API across 31 types, so anything the wrapper does not cover is something the model looks up rather than a dead end
Installation
Method 1: Plugin Manager (Recommended)
- In Binary Ninja, open the Plugin Manager (
Plugins > Manage Plugins) - Search for
Code Mode MCPorbinja_codemode_mcp - Click
Install - Restart Binary Ninja
After installation, the plugin will be located in the community plugins folder:
# Linux
~/.binaryninja/repositories/community/plugins/akrutsinger_binja_codemode_mcp/
# macOS
~/Library/Application Support/Binary Ninja/repositories/community/plugins/akrutsinger_binja_codemode_mcp/
# Windows
%APPDATA%\Binary Ninja\repositories\community\plugins\akrutsinger_binja_codemode_mcp\
Method 2: Manual Installation
Clone or download this repository and copy to your Binary Ninja plugins folder:
# Linux
cp -r . ~/.binaryninja/plugins/binja_codemode_mcp/
# macOS
cp -r . ~/Library/Application\ Support/Binary\ Ninja/plugins/binja_codemode_mcp/
# Windows
xcopy /E /I . "%APPDATA%\Binary Ninja\plugins\binja_codemode_mcp"
Copy the whole repository, not just plugin/: plugin/ is a subpackage and imports config.py
and plugin.json from the directory above it.
MCP Client Configuration
The plugin serves MCP over HTTP at http://127.0.0.1:42069/mcp, authenticated with a bearer token.
There is no bridge script to launch, so the configuration no longer depends on where the plugin was
installed: point your client at the URL.
Claude Code — one command, no config file to edit:
claude mcp add binja-codemode-mcp -s user --transport http \
http://127.0.0.1:42069/mcp \
--header "Authorization: Bearer binja-codemode-local"
インストール
npx -y mcp-remote http://127.0.0.1:42069/mcp --header Authorization: Bearer binja-codemode-local設定
{
"mcpServers": {
"binja-codemode-mcp": {
"type": "http",
"url": "http://127.0.0.1:42069/mcp",
"headers": {
"Authorization": "Bearer binja-codemode-local"
}
}
}
}