Binary Ninja MCP
@fosdickio
A Binary Ninja plugin containing an MCP server that enables seamless integration with your favorite LLM/MCP client.
Overview
What is Binary Ninja MCP?
Binary Ninja MCP is a Binary Ninja plugin, MCP server, and bridge that enables real-time integration of Binary Ninja’s reverse engineering capabilities with any MCP (Model Context Protocol) client. It is built for reverse engineers and malware analysts who want AI‑assisted workflows.
How to use Binary Ninja MCP?
Install the plugin via Binary Ninja Plugin Manager (Plugins > Manage Plugins) or by copying the repository into the Binary Ninja plugins folder. Open Binary Ninja, load a binary, and click the button at the left bottom corner to start the server. Then use your MCP client to prompt LLMs with the exposed tools. For auto‑setup, install the MCP client first; manual configuration is also possible with the binary-ninja-mcp npm package or the legacy Python bridge.
Key features of Binary Ninja MCP
- Seamless, real‑time integration between Binary Ninja and MCP clients
- Enhanced reverse engineering workflow with AI assistance
- Support for every MCP client (Cline, Claude Desktop, Roo Code, etc.)
- Open multiple binaries and switch the active target automatically
- Wide set of MCP tools (decompile, disassemble, cross‑reference, define types, etc.)
Use cases of Binary Ninja MCP
- Solve CTF reverse engineering challenges with LLM‑guided analysis
- Perform deep malware analysis: rename functions/variables, add comments, generate reports
- Reverse engineer binaries interactively using natural language prompts
FAQ from Binary Ninja MCP
What MCP clients does Binary Ninja MCP support?
Cline, Roo Code, Claude Desktop, Cursor, Windsurf, Claude Code, and LM Studio. Auto‑setup is available for all these clients if installed before the extension.
How do I install Binary Ninja MCP?
Either through the Binary Ninja Plugin Manager (Plugins > Manage Plugins) or by manually copying the repository into the Binary Ninja plugins folder. Both methods support auto‑setup of supported MCP clients.
What are the prerequisites for using Binary Ninja MCP?
Binary Ninja, Python 3.12+, and a supported MCP client. No additional runtime dependencies are required beyond those included in the plugin.
Can Binary Ninja MCP handle multiple open binaries?
Yes. The server provides list_binaries and select_binary tools to list all open binaries and switch the active target automatically.
How can I set up the MCP client manually?
Use the npm package (npx -y binary-ninja-mcp) or the legacy Python bridge. Configuration JSON snippets for both methods are provided in the README, specifying host and port (default localhost:9009).