MB

mrphrazer/binary-ninja-headless-mcp

Developer tools

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

263 stars 24 forks Качество 78 Тренд 26GPL-2.0

mrphrazer/binary-ninja-headless-mcp — это кандидат на сервер MCP, импортированный из https://github.com/mrphrazer/binary-ninja-headless-mcp.

Обзор

mrphrazer/binary-ninja-headless-mcp — это кандидат на сервер MCP, импортированный из https://github.com/mrphrazer/binary-ninja-headless-mcp.

Обзор (машинный перевод)

Безголовый сервер Binary Ninja, который говорит на MCP (Model Context Protocol), предоставляющий агентам ИИ полный доступ к глубоким процессам обратного инжиниринга — дизассемблеру, IL, патчам, типам, xrefs и многому другому — без графического интерфейса.

Разработан для работы в том же контейнере Docker, что и время выполнения агента. Без сайдкаров, без дополнительных сервисов.

Весь этот проект—код, тесты и документация — на 100% кодирован по атмосфере.

Почему

Существующие серверы Binary Ninja MCP либо ограничены GUI, либо открывают ограниченную поверхность инструмента. Этот сервер работает только с headless и предназначен для рабочих процессов, управляемых агентами, в «песочнице» виртуальных машин/контейнеров: агент получает полный контроль над системой анализа, автоматизируя большие части обратного инжиниринга, пока вы интерактивно обсуждаете и управляете процессом.

Цель — создать интерфейс, где агенты могут проверять, уточнять и расширять анализ со временем — обновлять типы, символы и метаданные, постепенно совершенствовать базу данных анализа, наносить патчи и безопасно отменять/повторять, а также запускать кастомные скрипты, когда рабочий процесс требует индивидуального подхода.

Особенности

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

README

Показан фрагмент оригинального README. Открыть оригинал.

Binary Ninja Headless MCP

A headless Binary Ninja server that speaks MCP (Model Context Protocol), giving AI agents full access to deep reverse-engineering workflows — disassembly, IL, patching, types, xrefs, and more — without a GUI.

Designed to run in the same Docker container as the agent runtime. No sidecars, no extra services.

This entire project—code, tests, and documentation—is 100% vibe coded.

Why

Existing Binary Ninja MCP servers are either GUI-bound or expose a limited tool surface. This server is headless-only and designed for agent-driven workflows in sandboxed VM/container environments: the agent gets full control over the analysis system, automating large parts of reverse engineering while you interactively discuss and steer the process.

The goal is an interface where agents can inspect, refine, and extend an analysis over time — updating types, symbols, and metadata, improving the analysis database incrementally, applying patches and iterating safely with undo/redo, and running custom scripts when a workflow needs something bespoke.

Features

  • 181 tools across 36 feature groups: analysis, disassembly, IL, patching, undo/redo, types, workflows, memory, search, xrefs, scripting, and more.
  • Read-only by default with safe mutation workflows (undo/redo, transactions).
  • Scripting access via binja.eval and binja.call for anything the tool catalog doesn’t cover.
  • Stdio and TCP transports.
  • Complete command-line client (binja_cli / binja-cli) with schema-derived flags, JSON batches, offline discovery, and managed persistent servers.
  • Zero runtime dependencies beyond Binary Ninja itself.
  • Fake backend mode for CI and development without a Binary Ninja license.

Prerequisites

  • Python 3.11+
  • A Binary Ninja installation with a headless-capable license and the binaryninja Python module importable in your runtime (for real analysis)
  • For CI/development without Binary Ninja, use fake backend mode

Installation

git clone https://github.com/mrphrazer/binary-ninja-headless-mcp.git
cd binary-ninja-headless-mcp
pip install .

Or install directly from the repo root without cloning:

pip install git+https://github.com/mrphrazer/binary-ninja-headless-mcp.git

Quick Start

Command-line client

The CLI exposes every MCP tool through the same backend. Its usage follows Ghidra’s ghidra_cli. See the complete CLI guide and generated tool reference for arguments, defaults, sessions, batches, scripting, output, and troubleshooting.

binja_cli list --names-only             # Works without Binary Ninja
binja_cli describe session.open
binja_cli server start                  # Requires licensed Binary Ninja
SID=$(binja_cli --field session_id call session.open --path /bin/ls)
binja_cli --session-id "$SID" call binary.functions --limit 5
Открыть полный README на GitHub

Установка

This server does not publish a one-line install command.

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →

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

{ "mcpServers": { "binary_ninja_headless_mcp": { "command": "python3", "args": ["binary_ninja_headless_mcp.py"], "cwd": "/path/to/binary-ninja-headless-mcp" } } }