- Explore MCP Servers
- binja_mcp
Binja Mcp
What is Binja Mcp
The Binary Ninja MCP Server is a plugin and server implementation that facilitates interaction between Large Language Models and Binary Ninja using the Model Context Protocol (MCP). It allows users to perform various automation tasks related to binary analysis.
Use cases
This server can be employed for a range of tasks within Binary Ninja, such as retrieving assembly code and decompiled code for functions, renaming functions and variables, and adding comments to enhance the analysis process. It is beneficial for researchers, developers, and security analysts who need to automate and streamline their workflows.
How to use
To use the Binary Ninja MCP Server, load a binary in Binary Ninja, start the MCP Server from the Tools menu or via a keyboard shortcut, and then interact with it through an MCP client like Claude Desktop or Cursor. Users can execute commands to retrieve function information and insights.
Key features
Key features of the Binary Ninja MCP Server include the ability to get assembly and decompiled code for functions, retrieve information about global variables, and obtain assembly and decompiled views of the current function. These features enhance the capabilities of Binary Ninja for automated tasks.
Where to use
The MCP Server is used within Binary Ninja, a popular reverse engineering and binary analysis tool. It is suitable for anyone working with binary analysis, such as reverse engineers, malware analysts, and developers needing to automate code analysis tasks.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Overview
What is Binja Mcp
The Binary Ninja MCP Server is a plugin and server implementation that facilitates interaction between Large Language Models and Binary Ninja using the Model Context Protocol (MCP). It allows users to perform various automation tasks related to binary analysis.
Use cases
This server can be employed for a range of tasks within Binary Ninja, such as retrieving assembly code and decompiled code for functions, renaming functions and variables, and adding comments to enhance the analysis process. It is beneficial for researchers, developers, and security analysts who need to automate and streamline their workflows.
How to use
To use the Binary Ninja MCP Server, load a binary in Binary Ninja, start the MCP Server from the Tools menu or via a keyboard shortcut, and then interact with it through an MCP client like Claude Desktop or Cursor. Users can execute commands to retrieve function information and insights.
Key features
Key features of the Binary Ninja MCP Server include the ability to get assembly and decompiled code for functions, retrieve information about global variables, and obtain assembly and decompiled views of the current function. These features enhance the capabilities of Binary Ninja for automated tasks.
Where to use
The MCP Server is used within Binary Ninja, a popular reverse engineering and binary analysis tool. It is suitable for anyone working with binary analysis, such as reverse engineers, malware analysts, and developers needing to automate code analysis tasks.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Content
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:
pip install binja-mcp
After installation, you can run it as a script using:
python -m binja_mcp
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:
Using uvx
Using pip installation
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:
npx @modelcontextprotocol/inspector uvx binja_mcp
- Test using the Claude desktop app by adding the following to your
claude_desktop_config.json:
{
"mcpServers": {
"binja": {
"command": "uv",
"args": [
"--directory",
"/<path to mcp-server-binja>/src",
"run",
"mcp-server-binja"
]
}
}
}
License
This project is licensed under the MIT License - see the LICENSE file for details.
Dev Tools Supporting MCP
The following are the main code editors that support the Model Context Protocol. Click the link to visit the official website for more information.










