Back to MCP directory
publicPublicdnsLocal runtime

binja-lattice-mcp

BinjaLattice是一个为Binary Ninja设计的安全通信协议,支持与外部MCP服务器和工具交互,提供二进制分析数据的获取和修改功能。

article

README

🚀 BinjaLattice 标签协议

BinjaLattice 是专为 Binary Ninja 设计的安全通信协议,可与外部模型上下文协议(MCP)服务器及工具进行交互。它能以结构化方式获取 Binary Ninja 的信息,还可通过 HTTP REST API 修改活动的 Binary Ninja 数据库。

🚀 快速开始

演示

点击下方图片可查看 BinjaLattice 的演示视频: BinjaLattice 演示

✨ 主要特性

  • 安全认证:采用基于令牌的认证系统。
  • 加密通信:支持可选的 SSL/TLS 加密。
  • 二进制分析上下文:可导出伪代码、反汇编、变量名、二进制信息等。
  • 二进制修改:能更新函数名称、添加注释、重命名变量。
  • 令牌管理:可自动过期和续订认证令牌。

📦 安装指南

  1. lattice_server_plugin.py 复制到 Binary Ninja 插件目录:
    • Linux: ~/.binaryninja/plugins/
    • macOS: ~/Library/Application Support/Binary Ninja/plugins/
    • Windows: %APPDATA%\Binary Ninja\plugins\
  2. 创建一个虚拟环境 pip -m venv venv-test(也可使用您喜欢的依赖管理工具)。
  3. 启用您的虚拟环境并安装所需的 Python 依赖项,使用以下命令安装:pip install -r requirements.txt(或采用其他方法)。

📚 详细文档

开发

  • 主服务器实现位于 plugin/lattice_server_plugin.py
  • MCP 服务器实现位于 mcp_server.py
  • 客户端库实现位于 lib/lattice.py

添加新功能

若要添加新的功能,可按以下步骤操作:

  1. LatticeRequestHandler 类(位于 lattice_server_plugin.py)中添加新的端点处理程序。
  2. Lattice 类(位于 lib/lattice.py)中添加相应的客户端方法。
  3. mcp_server.py 中添加新的 MCP 工具。

📄 许可证

本项目采用 MIT License

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client