Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Binaryninja Mcp

    Another™ MCP Server for Binary Ninja with superpower 🥵

    29 stars
    Python
    Updated Oct 21, 2025

    Table of Contents

    • ... but why _Another_?
    • Server Setup
    • MCP Client Setup
    • Clone directory to Binary Ninja Plugin Directory
    • Setup Python Environment
    • Setup MCP Client for Development
    • Build
    • Test
    • Version Bump
    • Release

    Table of Contents

    • ... but why _Another_?
    • Server Setup
    • MCP Client Setup
    • Clone directory to Binary Ninja Plugin Directory
    • Setup Python Environment
    • Setup MCP Client for Development
    • Build
    • Test
    • Version Bump
    • Release

    Documentation

    Another™ MCP Server for Binary Ninja

    English | 中文

    Demo

    The tests/binary/beleaf.elf is taken from

    CSAW'19: Beleaf - Nightmare.

    You can also find the complete writeup from the link above!

    demo

    ... but why _Another_?

    See:

    Key Differences from the Existing Plugin

    Installation

    Server Setup

    There are two ways to run the MCP server:

    1. Binary Ninja UI Plugin:

    • Install the plugin via Binary Ninja's plugin manager
    • The MCP server will start automatically when first file is loaded.
    • Auto start is configurable via Settings - MCP Server - Auto Start
    • Listen port is configurable via

    Settings - MCP Server - Server port number

    • All opened files are exposed to separate resources, see

    Available Resources section below

    2. Binary Ninja Headless Mode:

    bash
    uvx binaryninja-mcp install-api  # only run once
       uvx binaryninja-mcp server  [filename]...
    • filename could be any binary files or BNDB, like in UI mode, all opened

    files are available to the MCP client.

    • Server runs on default port 7000
    • Use --port flag to specify a different port

    MCP Client Setup

    1. Claude Desktop (stdio relay client): Configure the client to connect via

    stdio transport using built-in relay.

    json
    {
         "mcpServers": {
           "binaryninja": {
             "command": "uvx",
             "args": ["binaryninja-mcp", "client"]
           }
         }
       }

    2. Cherry Studio:

    • SSE endpoint (recommanded): URL: http://localhost:7000/sse
    • stdio client:
    • Command: uvx
    • Arguments:
    code
    binaryninja-mcp
           client

    Add --port 12345 to both server and client command line if you prefer to run

    MCP server on port other than default.

    Available Tools for MCP Clients

    The MCP server provides the following tools:

    • rename_symbol: Rename a function or a data variable
    • pseudo_c: Get pseudo C code of a specified function
    • pseudo_rust: Get pseudo Rust code of a specified function
    • high_level_il: Get high level IL of a specified function
    • medium_level_il: Get medium level IL of a specified function
    • disassembly: Get disassembly of a function or specified range
    • update_analysis_and_wait: Update analysis for the binary and wait for

    completion

    • get_triage_summary: Get basic information from BinaryNinja Triage view
    • get_imports: Get dictionary of imported symbols
    • get_exports: Get dictionary of exported symbols
    • get_segments: Get list of memory segments
    • get_sections: Get list of binary sections
    • get_strings: Get list of strings found in the binary
    • get_functions: Get list of functions
    • get_data_variables: Get list of data variables

    Available Resources for MCP Clients

    MCP Resources can be accessed via URIs in the format:

    binaryninja://{filename}/{resource_type}

    The server provides these resource types for each binary:

    • triage_summary: Basic information from BinaryNinja Triage view
    • imports: Dictionary of imported symbols/functions
    • exports: Dictionary of exported symbols/functions
    • segments: List of memory segments
    • sections: List of binary sections
    • strings: List of strings found in the binary
    • functions: List of functions
    • data_variables: List of data variables

    Development

    uv is the recommanded package management tool

    for this project.

    Clone directory to Binary Ninja Plugin Directory

    powershell
    git clone https://github.com/MCPPhalanx/binaryninja-mcp.git "${env:APPDATA}\Binary Ninja\plugins\MCPPhalanx_binaryninja_mcp"

    Setup Python Environment

    Binary Ninja API must be installed into virtualenv manually.

    bash
    uv venv
    uv sync --dev
    # install binaryninja API
    binaryninja-mcp install-api
    # check API is correctly installed
    uv run python -c 'import binaryninja as bn; assert bn._init_plugins() is None; assert bn.core_ui_enabled() is not None; print("BN API check PASSED!!")'

    Setup MCP Client for Development

    For MCP clients with stdio transport like Claude Desktop, change working

    directory to development folder.

    json
    {
      "mcpServers": {
        "binaryninja": {
          "command": "uv",
          "args": [
            "--directory",
            "C:/path/to/binaryninja-mcp",
            "run",
            "binaryninja-mcp",
            "client"
          ]
        }
      }
    }

    SSE-enabled MCP clients can connect using: http://localhost:7000/sse

    Build

    bash
    uv build

    Test

    bash
    pytest
    # To update test snapshots:
    pytest --snapshot-update

    Version Bump

    The PyPI package version is automatically derived from Binary Ninja's

    plugin.json (using package.json format), maintaining version consistency

    between the BN plugin and PyPI package.

    bash
    # bump alpha version
    uvx hatch version a
    
    # bump release version
    uvx hatch version minor,rc
    uvx hatch version release

    See: Versioning - Hatch

    Release

    bash
    uv publish

    License

    Apache 2.0

    Similar MCP

    Based on tags & features

    • MA

      Mayamcp

      Python·
      27
    • BI

      Biothings Mcp

      Python·
      25
    • GG

      Gget Mcp

      Python·
      17
    • FH

      Fhir Mcp Server

      Python·
      55

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • MA

      Mayamcp

      Python·
      27
    • BI

      Biothings Mcp

      Python·
      25
    • GG

      Gget Mcp

      Python·
      17
    • FH

      Fhir Mcp Server

      Python·
      55

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k