Token导航 LogoToken导航TokenDH.com
Binaryninja MCP logo
AI代理stdio官方级别未说明来源级核验

Binaryninja MCP

MCP Server

Binary Ninja的MCP服务器,提供二进制文件分析工具和资源访问功能。

工具数

0

提示词数

0

GitHub Stars

40

资源数

0
PythonClaude开发工具Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

MCPPhalanx

提供方

MCPPhalanx

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uvx binaryninja-mcp install-api # only run once

详细介绍

另一款适用于Binary Ninja的MCP服务器

二进制Ninja的MCP(模型上下文协议)服务器

](https://www.python.org/downloads/) ](https://github.com/MCPPhalanx/binaryninja-mcp/discussions)

英语| 中文

演示

tests/binary/beleaf.elf 取自 CSAW'19:贝莱夫-噩梦. 您还可以从上面的链接中找到完整的文章!

demo

…但为什么 _另一个_?

请参阅: 与现有插件的主要区别

安装

服务器安装程序

有两种方法可以运行MCP服务器:

  1. 二进制Ninja UI插件:

- 通过Binary Ninja的插件管理器安装插件 - 加载第一个文件时,MCP服务器将自动启动。 - 自动启动可通过以下方式配置 Settings - MCP Server - Auto Start - 监听端口可通过以下方式配置 Settings - MCP Server - Server port number - 所有打开的文件都暴露在单独的资源中,请参阅 可用资源 下节

  1. 二进制忍者无头模式:
   uvx binaryninja-mcp install-api  # only run once
   uvx binaryninja-mcp server  [filename]...

- filename 可以是任何二进制文件或BNDB,就像在UI模式下一样,全部打开 文件可供MCP客户端使用。 - 服务器在默认端口7000上运行 - 使用 --port 标记以指定其他端口

MCP客户端设置

  1. 克劳德桌面(stdio中继客户端):配置客户端以通过连接

使用内置中继的stdio传输。

   {
     "mcpServers": {
       "binaryninja": {
         "command": "uvx",
         "args": ["binaryninja-mcp", "client"]
       }
     }
   }
  1. 樱桃工作室:

- SSE端点 (推荐):URL: http://localhost:7000/sse - stdio客户端: - 命令: uvx - 论据:

       binaryninja-mcp
       client

添加 --port 12345 如果您想运行,请同时运行服务器和客户端命令行 MCP服务器的端口不是默认端口。

MCP客户端可用工具

MCP服务器提供以下工具:

  • rename_symbol:重命名函数或数据变量
  • pseudo_c:获取指定函数的伪C代码
  • pseudo_rust:获取指定函数的伪Rust代码
  • high_level_il:获取指定函数的高级IL
  • medium_level_il:获取指定函数的中级IL
  • disassembly:获取函数或指定范围的拆卸
  • update_analysis_and_wait:更新二进制文件的分析并等待

完成

  • get_triage_summary:从BinaryNinja Triage视图获取基本信息
  • get_imports:获取导入符号的字典
  • get_exports:获取导出符号的字典
  • get_segments:获取内存段列表
  • get_sections:获取二进制部分列表
  • get_strings:获取二进制文件中找到的字符串列表
  • get_functions:获取函数列表
  • get_data_variables:获取数据变量列表

MCP客户端的可用资源

MCP资源可以通过URI以以下格式访问: binaryninja://{filename}/{resource_type}

服务器为每个二进制文件提供以下资源类型:

  • triage_summary:BinaryNinja Triage视图的基本信息
  • imports:导入符号/函数词典
  • exports:导出符号/函数词典
  • segments:内存段列表
  • sections:二进制部分列表
  • strings:二进制文件中找到的字符串列表
  • functions:功能列表
  • data_variables:数据变量列表

发展

紫外线 是推荐的包管理工具 对于这个项目。

将目录克隆到二进制Ninja插件目录

git clone https://github.com/MCPPhalanx/binaryninja-mcp.git "${env:APPDATA}\Binary Ninja\plugins\MCPPhalanx_binaryninja_mcp"

设置Python环境

二进制Ninjaneneneba API必须手动安装到virtualenv中。

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; assert bn._init_plugins() is None; assert bn.core_ui_enabled() is not None; print("BN API check PASSED!!")'

设置MCP客户端以进行开发

对于像Claude Desktop这样具有stdio传输的MCP客户端,更改工作方式 目录到开发文件夹。

{
  "mcpServers": {
    "binaryninja": {
      "command": "uv",
      "args": [
        "--directory",
        "C:/path/to/binaryninja-mcp",
        "run",
        "binaryninja-mcp",
        "client"
      ]
    }
  }
}

启用SSE的MCP客户端可以使用以下方式连接: http://localhost:7000/sse

构建

uv build

测试

pytest
# To update test snapshots:
pytest --snapshot-update

版本颠簸

PyPI包版本是从Binary Ninja的 plugin.json (使用package.json格式),保持版本一致性 在BN插件和PyPI包之间。

# bump alpha version
uvx hatch version a

# bump release version
uvx hatch version minor,rc
uvx hatch version release

请参阅: 版本控制-Hatch

发布

uv publish

许可证

Apache 2.0

目录标签

目录标签

PythonClaude开发工具二进制分析本地部署逆向工程插件工具开发辅助

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP