Integrations
Supports running the Binary Ninja MCP Server on Linux, with specific paths for plugin installation in the Linux environment.
Supports running the Binary Ninja MCP Server on macOS, with specific paths for plugin installation in the macOS environment.
Provides a Python module interface for the Binary Ninja MCP Server, allowing it to be run as a Python script.
Binary Ninja MCP Server
A Model Context Protocol server for Binary Ninja interaction and automation. This server provides tools to interact with Binary Ninja via Large Language Models.
Overview
The Binary Ninja MCP Server is a plugin and server implementation that allows Large Language Models to interact with Binary Ninja through the Model Context Protocol (MCP). It provides functionalities such as:
- Get assembly code for functions
- Get decompiled code (HLIL) for functions
- Rename functions and variables
- Add comments
Installation
Using uv (recommended)
When using uv
no specific installation is needed. We will
use uvx
to directly run binja_mcp.
Using PIP
Alternatively you can install binja-mcp
via pip:
After installation, you can run it as a script using:
Binary Ninja Plugin Installation
Clone this repository OR link the cloned repository into Binary Ninja's plugin directory:
- Linux:
~/.binaryninja/plugins/
- macOS:
~/Library/Application Support/Binary Ninja/plugins/
- Windows:
%APPDATA%\Binary Ninja\plugins\
Configuration
Usage with Claude Desktop/Cursor
Add this to your claude_desktop_config.json
or Cursor MCP servers:
Usage
- Open Binary Ninja and load a binary
- Start the MCP Server from the Tools menu or using the keyboard shortcut
- Use Claude Desktop, Cursor, or any MCP client of your preference to interact with the binary
Available Commands
The following commands are available through the MCP interface:
binja_get_function_assembly
: Get assembly code for a named functionbinja_get_function_decompiled
: Get decompiled code for a named functionbinja_get_global_variable
: Get information about a global variablebinja_get_current_function_assembly
: Get assembly for the current functionbinja_get_current_function_decompiled
: Get decompiled code for the current function
Development
If you are doing local development, there are two ways to test your changes:
- Run the MCP inspector to test your changes:
- Test using the Claude desktop app by adding the following to your
claude_desktop_config.json
:
License
This project is licensed under the MIT License - see the LICENSE file for details.
This server cannot be installed
A Model Context Protocol server that enables Large Language Models to interact with Binary Ninja for reverse engineering tasks like viewing assembly code, decompiled code, renaming functions, and adding comments.