Skip to content

[New Plugin]: MCP Server for Binary Ninja #305

Closed

Description

@ttimasdf

Plugin Description

MCP Server for Binary Ninja

This PR introduces an MCP Server that enables LLM-powered tool calling functionalities to automate Binary Ninja. Unlike the existing plugin, this implementation adopts a distinct architectural approach with several key differences.

Key Differences from the Existing Plugin

  • Headless Mode Support – Run headlessly with a simple command:
    uvx binaryninja-mcp server file_to_reverse.elf
  • Multi-Binary Loading – Open and manage multiple binaries simultaneously in both UI and headless modes. MCP clients can retrieve a list of opened files.
  • Alternative Architectural Design:
    • Uses SSE transport instead of a handcrafted HTTP server for improved responsiveness.
    • Implements a built-in SSE-to-stdio relay, ensuring compatibility with stdio-transport-only clients like Claude Desktop.
  • Configurable via Binary Ninja Settings – Manage server parameters effortlessly, including listening configurations.
  • Packaged as a PyPI Module – The plugin version is strictly bound to the package version, ensuring consistency across updates.
  • Extensive Testing Coverage – CI pipelines, unit tests, and smoke tests validate reliability.
  • Minimal Setup Required – Configure MCP clients with one single command:
    uvx binaryninja-mcp client
    Even without prior installation, this command is all you need.

Plugin Repository URL

Repo URL: https://github.com/MCPPhalanx/binaryninja-mcp

Real Release

  • I have made a real release

Activity

  1. ttimasdf commented on Apr 6, 2025

    @ttimasdf
    Author

    I reviewed my release workflow and discovered that the publishing step to GitHub Releases is currently broken. For now, I have manually created a release and will test the workflow with the next version bump. 😅 Since I don’t have permission to reopen issue #304, I’ve created a duplicate instead—apologies for any inconvenience.

  2. psifertex commented on Apr 6, 2025

    @psifertex
    Member

    Thanks! Adding it now -- one small comment is that a more unique name might have been helpful since we already have one plugin with a very similar name...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions