BinjaLattice
@Invoke-RE
About BinjaLattice
Plugin interface for remote communications with Binary Ninja database and MCP server for interfacing with LLMs.
Basic information
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"binja-lattice-mcp": {
"command": "python",
"args": [
"-m",
"venv",
".venv"
]
}
}
}Tools
No tools detected
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Overview
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.
More Other MCP servers
ACI: Open-Source Infra to Power Unified MCP Servers
aipotheosis-labsACI.dev is the open source tool-calling platform that hooks up 600+ tools into any agentic IDE or custom AI agent through direct function calling or a unified MCP server. The birthplace of VibeOps.
🪟 Windows-MCP
CursorTouchMCP Server for Computer Use in Windows
Inbox Zero AI
elie222The world's best AI personal assistant for email. Open source app to help you reach inbox zero fast.
Mobile Mcp
mobile-nextModel Context Protocol Server for Mobile Automation and Scraping (iOS, Android, Emulators, Simulators and Real Devices)
FastMCP v2 🚀
jlowin🚀 The fast, Pythonic way to build MCP servers and clients.
Comments