Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"binaryninja": {
"args": [
"--directory",
"C:/path/to/binaryninja-mcp",
"run",
"binaryninja-mcp",
"client"
],
"command": "uv"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
[pypi-badge]: https://img.shields.io/pypi/v/binaryninja-mcp.svg [pypi-url]: https://pypi.org/project/binaryninja-mcp/ [license-badge]: https://img.shields.io/pypi/l/binaryninja-mcp.svg [license-url]: https://github.com/MCPPhalanx/binaryninja-mcp/blob/main/LICENSE [python-badge]: https://img.shields.io/pypi/pyversions/binaryninja-mcp.svg [python-url]: https://www.python.org/downloads/ https://img.shields.io/github/discussions/MCPPhalanx/binaryninja-mcp [discussions-url]: https://github.com/MCPPha
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
uvx 'binaryninja-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked binaryninja-mcp against OSV.dev.
Click any tool to inspect its schema.
triage_summaryBasic information from BinaryNinja Triage view
binaryninja://{filename}/triage_summary
importsDictionary of imported symbols/functions
binaryninja://{filename}/imports
exportsDictionary of exported symbols/functions
binaryninja://{filename}/exports
segmentsList of memory segments
binaryninja://{filename}/segments
sectionsList of binary sections
binaryninja://{filename}/sections
stringsList of strings found in the binary
binaryninja://{filename}/strings
functionsList of functions
binaryninja://{filename}/functions
data_variablesList of data variables
binaryninja://{filename}/data_variables
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in security
Proof primitive for AI agents on MultiversX. Anchor file hashes on-chain as verifiable proofs.
Security scanner for GitHub repos, Agent Skills, Plugins, and MCP servers. 18 scanners. Zero dependencies.
mcpki-server is the backend infrastructure for https://www.mcpki.org, enabling secure public key management and autonomous certificate handling for large language models (LLMs).
AI-powered reverse engineering assistant that bridges IDA Pro with language models through MCP.
MCP Security Weekly
Get CVE alerts and security updates for Binaryninja Mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
English | 中文
The tests/binary/beleaf.elf is taken from CSAW'19: Beleaf - Nightmare. You can also find the complete writeup from the link above!

See: Key Differences from the Existing Plugin
There are two ways to run the MCP server:
Binary Ninja UI Plugin:
Settings - MCP Server - Auto StartSettings - MCP Server - Server port numberBinary Ninja Headless Mode:
uvx binaryninja-mcp install-api # only run once
uvx binaryninja-mcp server <filename> [filename]...
filename could be any binary files or BNDB, like in UI mode, all opened
files are available to the MCP client.--port flag to specify a different portClaude Desktop (stdio relay client): Configure the client to connect via stdio transport using built-in relay.
{
"mcpServers": {
"binaryninja": {
"command": "uvx",
"args": ["binaryninja-mcp", "client"]
}
}
}
Cherry Studio:
http://localhost:7000/sseuvxbinaryninja-mcp
client
Add --port 12345 to both server and client command line if you prefer to run
MCP server on port other than default.
The MCP server provides the following tools:
rename_symbol: Rename a function or a data variablepseudo_c: Get pseudo C code of a specified functionpseudo_rust: Get pseudo Rust code of a specified functionhigh_level_il: Get high level IL of a specified functionmedium_level_il: Get medium level IL of a specified functiondisassembly: Get disassembly of a function or specified rangeupdate_analysis_and_wait: Update analysis for the binary and wait for
completionget_triage_summary: Get basic information from BinaryNinja Triage viewget_imports: Get dictionary of imported symbolsget_exports: Get dictionary of exported symbolsget_segments: Get list of memory segmentsget_sections: Get list of binary sectionsget_strings: Get list of strings found in the binaryget_functions: Get list of functionsget_data_variables: Get list of data variablesMCP Resources can be accessed via URIs in the format:
binaryninja://{filename}/{resource_type}
The server provides these resource