AB

akrutsinger/binja-codemode-mcp

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

11 stars 5 forks Качество 69 Тренд 26MIT

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() 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

Installation

  1. In Binary Ninja, open the Plugin Manager (Plugins > Manage Plugins)
  2. Search for Code Mode MCP or binja_codemode_mcp
  3. Click Install
  4. 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"
Открыть полный README на GitHub

Установка

npx -y mcp-remote http://127.0.0.1:42069/mcp --header Authorization: Bearer binja-codemode-local
Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

{ "mcpServers": { "binja-codemode-mcp": { "type": "http", "url": "http://127.0.0.1:42069/mcp", "headers": { "Authorization": "Bearer binja-codemode-local" } } } }