Binary Ninja MCP Server

Binary Ninja MCP Server

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.

Category
Visit Server

README

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:

<details> <summary>Using uvx</summary>

"mcpServers": {
  "binja": {
    "command": "uvx",
    "args": [
        "-n",
        "mcp-server-binja"
    ]
  }
}

</details>

<details> <summary>Using pip installation</summary>

"mcpServers": {
  "binja": {
    "command": "python",
    "args": [
        "-m", 
        "mcp_server_binja"
    ]
  }
}

</details>

Usage

  1. Open Binary Ninja and load a binary
  2. Start the MCP Server from the Tools menu or using the keyboard shortcut
  3. 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 function
  • binja_get_function_decompiled: Get decompiled code for a named function
  • binja_get_global_variable: Get information about a global variable
  • binja_get_current_function_assembly: Get assembly for the current function
  • binja_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:

  1. Run the MCP inspector to test your changes:
npx @modelcontextprotocol/inspector uvx binja_mcp
  1. 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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured