
binaryninja-mcp
Otro servidor MCP ™ para Ninja binario con superpotencia 🥵
3
Github Watches
4
Github Forks
19
Github Stars
Another™ MCP Server for Binary Ninja
English | 中文
Demo
The tests/binary/beleaf.elf is taken from CSAW'19: Beleaf - Nightmare. You can also find the complete writeup from the link above!
... but why Another?
See: Key Differences from the Existing Plugin
Installation
Server Setup
There are two ways to run the MCP server:
-
Binary Ninja UI Plugin:
- Install the plugin via Binary Ninja's plugin manager
- The MCP server will start automatically when first file is loaded.
- Auto start is configurable via
Settings - MCP Server - Auto Start
- Listen port is configurable via
Settings - MCP Server - Server port number
- Auto start is configurable via
- All opened files are exposed to separate resources, see Available Resources section below
-
Binary Ninja Headless Mode:
uvx binaryninja-mcp install-api # only run once uvx binaryninja-mcp server <filename> [filename]...
-
filename
could be any binary files or BNDB, like in UI mode, all opened files are available to the MCP client. - Server runs on default port 7000
- Use
--port
flag to specify a different port
-
MCP Client Setup
-
Claude Desktop (stdio relay client): Configure the client to connect via stdio transport using built-in relay.
{ "mcpServers": { "binaryninja": { "command": "uvx", "args": ["binaryninja-mcp", "client"] } } }
-
Cherry Studio:
-
SSE endpoint (recommanded): URL:
http://localhost:7000/sse
-
stdio client:
- Command:
uvx
- Arguments:
binaryninja-mcp client
- Command:
-
SSE endpoint (recommanded): URL:
Add --port 12345
to both server and client command line if you prefer to run
MCP server on port other than default.
Available Tools for MCP Clients
The MCP server provides the following tools:
-
rename_symbol
: Rename a function or a data variable -
pseudo_c
: Get pseudo C code of a specified function -
pseudo_rust
: Get pseudo Rust code of a specified function -
high_level_il
: Get high level IL of a specified function -
medium_level_il
: Get medium level IL of a specified function -
disassembly
: Get disassembly of a function or specified range -
update_analysis_and_wait
: Update analysis for the binary and wait for completion -
get_triage_summary
: Get basic information from BinaryNinja Triage view -
get_imports
: Get dictionary of imported symbols -
get_exports
: Get dictionary of exported symbols -
get_segments
: Get list of memory segments -
get_sections
: Get list of binary sections -
get_strings
: Get list of strings found in the binary -
get_functions
: Get list of functions -
get_data_variables
: Get list of data variables
Available Resources for MCP Clients
MCP Resources can be accessed via URIs in the format:
binaryninja://{filename}/{resource_type}
The server provides these resource types for each binary:
-
triage_summary
: Basic information from BinaryNinja Triage view -
imports
: Dictionary of imported symbols/functions -
exports
: Dictionary of exported symbols/functions -
segments
: List of memory segments -
sections
: List of binary sections -
strings
: List of strings found in the binary -
functions
: List of functions -
data_variables
: List of data variables
Development
uv is the recommanded package management tool for this project.
Clone directory to Binary Ninja Plugin Directory
git clone https://github.com/MCPPhalanx/binaryninja-mcp.git "${env:APPDATA}\Binary Ninja\plugins\MCPPhalanx_binaryninja_mcp"
Setup Python Environment
Binary Ninja API must be installed into virtualenv manually.
uv venv
uv sync --dev
# install binaryninja API
binaryninja-mcp install-api
# check API is correctly installed
uv run python -c 'import binaryninja as bn; print(f"ui_enabled={bn.core_ui_enabled()}")'
Setup MCP Client for Development
For MCP clients with stdio transport like Claude Desktop, change working directory to development folder.
{
"mcpServers": {
"binaryninja": {
"command": "uv",
"args": [
"--directory",
"C:/path/to/binaryninja-mcp",
"run",
"binaryninja-mcp",
"client"
]
}
}
}
SSE-enabled MCP clients can connect using: http://localhost:7000/sse
Build
uv build
Test
pytest
# To update test snapshots:
pytest --snapshot-update
Version Bump
The PyPI package version is automatically derived from Binary Ninja's
plugin.json
(using package.json format), maintaining version consistency
between the BN plugin and PyPI package.
# bump alpha version
uvx hatch version a
# bump release version
uvx hatch version minor,rc
uvx hatch version release
See: Versioning - Hatch
Release
uv publish
License
相关推荐
I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.
I find academic articles and books for research and literature reviews.
Evaluator for marketplace product descriptions, checks for relevancy and keyword stuffing.
Confidential guide on numerology and astrology, based of GG33 Public information
Emulating Dr. Jordan B. Peterson's style in providing life advice and insights.
Advanced software engineer GPT that excels through nailing the basics.
Your go-to expert in the Rust ecosystem, specializing in precise code interpretation, up-to-date crate version checking, and in-depth source code analysis. I offer accurate, context-aware insights for all your Rust programming questions.
Converts Figma frames into front-end code for various mobile frameworks.
Descubra la colección más completa y actualizada de servidores MCP en el mercado. Este repositorio sirve como un centro centralizado, que ofrece un extenso catálogo de servidores MCP de código abierto y propietarios, completos con características, enlaces de documentación y colaboradores.
La aplicación AI de escritorio todo en uno y Docker con trapo incorporado, agentes de IA, creador de agentes sin código, compatibilidad de MCP y más.
Manipulación basada en Micrypthon I2C del expansor GPIO de la serie MCP, derivada de AdaFruit_MCP230xx
Plataforma de automatización de flujo de trabajo de código justo con capacidades de IA nativas. Combine el edificio visual con código personalizado, auto-anfitrión o nube, más de 400 integraciones.
🧑🚀 全世界最好的 llM 资料总结(数据处理、模型训练、模型部署、 O1 模型、 MCP 、小语言模型、视觉语言模型) | Resumen de los mejores recursos del mundo.
Espejo dehttps: //github.com/agentience/practices_mcp_server
Una lista curada de servidores de protocolo de contexto del modelo (MCP)
Reviews

user_XzwOa7qW
I've been using binaryninja-mcp by MCPPhalanx, and it has significantly enhanced my binary analysis workflow. The seamless integration and comprehensive features make it a standout tool for any reverse engineer. Highly recommend checking it out at https://github.com/MCPPhalanx/binaryninja-mcp!