You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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.
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...
Activity
ttimasdf commentedon Apr 6, 2025
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.
psifertex commentedon Apr 6, 2025
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...