MB

mrphrazer/binary-ninja-headless-mcp

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

263 stars 24 forks 품질 78 트렌드 26GPL-2.0

mrphrazer/binary-ninja-headless-mcp는 [[T0]에서 가져온 MCP 서버 후보입니다.

개요

mrphrazer/binary-ninja-headless-mcp는 [[T0]에서 가져온 MCP 서버 후보입니다.

개요(AI 번역)

MCP(모델 컨텍스트 프로토콜)를 사용하는 헤드리스 바이너리 닌자 서버로, AI 에이전트가 GUI 없이도 디스어셈블리, IL, 패치, 타입, xref 등 깊은 역설계 워크플로우에 완전 접근할 수 있습니다.

에이전트 런타임과 동일한 도커 컨테이너에서 실행되도록 설계되었습니다. 사이드카나 추가 서비스도 없습니다.

이 프로젝트 전체—코드, 테스트, 문서— 100% 비브 코딩입니다.

왜

기존의 Binary Ninja MCP 서버는 GUI 바운딩이거나 제한된 도구 표면을 노출합니다. 이 서버는 헤드리스 전용이며 샌드박스 VM/컨테이너 환경에서 에이전트 기반 워크플로우를 위해 설계되었습니다: 에이전트가 분석 시스템을 완전히 제어하여 리버스 엔지니어링의 많은 부분을 자동화하고, 사용자가 인터랙티브하게 토론하고 프로세스를 조율합니다.

목표는 에이전트가 분석을 점검, 다듬고 확장할 수 있는 인터페이스를 만드는 것입니다 — 타입, 심볼, 메타데이터를 업데이트하고, 분석 데이터베이스를 점진적으로 개선하며, 패치를 적용하고 안전하게 되돌리기/재작성 반복하며, 워크플로우가 맞춤 작업을 필요로 할 때 맞춤 스크립트를 실행할 수 있습니다.

특징

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.

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
GitHub에서 전체 README 보기

설치

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" } } }