MCP.so
登录

BinjaLattice

@Invoke-RE

关于 BinjaLattice

Plugin interface for remote communications with Binary Ninja database and MCP server for interfacing with LLMs.

基本信息

分类

其他

许可证

MIT

运行时

python

传输方式

stdio

发布者

Invoke-RE

配置

使用下面的配置,将此服务器添加到你的 MCP 客户端。

{
  "mcpServers": {
    "binja-lattice-mcp": {
      "command": "python",
      "args": [
        "-m",
        "venv",
        ".venv"
      ]
    }
  }
}

工具

未检测到工具

工具是从 README 中自动提取的。维护者可以在 ## Tools 标题下列出工具,即可填充这部分内容。

概览

What is BinjaLattice?

BinjaLattice is a secure communication protocol for Binary Ninja that enables interaction with external Model Context Protocol (MCP) servers and tools. It provides a structured way to acquire information from Binary Ninja and modify an active Binary Ninja database over HTTP using a REST API.

How to use BinjaLattice?

Install by copying the plugin files (lattice_server_plugin.py and lattice_config.ini) to Binary Ninja’s plugins directory, generating a secure API key, creating a Python virtual environment, and installing dependencies. In Binary Ninja, go to Plugins > Start Lattice Protocol Server; the server prints the API key which you set as the BNJLAT environment variable in your MCP configuration. You can then use the bundled MCP server (mcp_server.py) or the Lattice client library / lattice_client.py CLI.

Key features of BinjaLattice

  • Secure token-based authentication
  • Optional SSL/TLS encryption
  • Export binary analysis context (pseudocode, disassembly, variable names, etc.)
  • Modify Binary Ninja databases (rename functions, add comments, rename variables)
  • Automatic token expiration and renewal

Use cases of BinjaLattice

  • Rename functions and variables during reverse engineering analysis
  • Add comments and tags to functions or addresses in a binary
  • Extract pseudocode, disassembly, and call graphs for external tools
  • Search for byte patterns with wildcard support
  • Create and update struct types programmatically

FAQ from BinjaLattice

What dependencies does BinjaLattice require?

Binary Ninja (with Python API) and Python 3. The plugin creates a dedicated virtual environment and installs dependencies from requirements.txt.

How is authentication handled?

The server generates a random API key on startup and displays it in the Binary Ninja log. All requests require this key (or a short-lived token obtained after authentication). Tokens expire after 8 hours by default.

Can I use BinjaLattice over a network?

The server runs locally on port 9000 by default. Optional SSL/TLS encryption can be enabled by providing a certificate and key. The protocol uses HTTP and is intended for local or trusted networks.

What MCP tools are available?

Tools for binary information (get_binary_info), function analysis (get_function_disassembly, get_function_pseudocode, get_call_graph), data access (get_data_at_address, search_bytes), type management (create_struct, update_struct), and annotations (update_function_name, add_comment_to_address, create_tag).

Where does data processed by BinjaLattice live?

All data resides within the active Binary Ninja database. BinjaLattice reads and writes to that database; no external storage is used.

评论

其他 分类下的更多 MCP 服务器