MCP Directory

How to add Binary Ninja MCP to Claude Desktop

Connect your LLM/MCP client to Binary Ninja for AI-assisted reverse engineering and malware analysis. Paste the config into ~/Library/Application Support/Claude/claude_desktop_config.json and restart Claude Desktop.

Last updated June 14, 2026 ยท 392โ˜… ยท stdio ยท no auth

Claude Desktop config for Binary Ninja MCP

npx -y binary-ninja-mcp
{
  "mcpServers": {
    "binary-ninja-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "binary-ninja-mcp",
        "--host",
        "localhost",
        "--port",
        "9009"
      ]
    }
  }
}

Setup steps

  1. 1Open Claude Desktop โ†’ Settings โ†’ Developer โ†’ Edit Config (this opens ~/Library/Application Support/Claude/claude_desktop_config.json).
  2. 2Paste the Binary Ninja MCP config below under the top-level "mcpServers" key.
  3. 3Fill in any placeholder secrets (API keys, paths) in the snippet.
  4. 4Save the file, then fully quit and reopen Claude Desktop.
  5. 5Open a chat and confirm Binary Ninja MCP's tools appear under the ๐Ÿ”Œ tools menu.

Before you start

  • Binary Ninja (https://binary.ninja/)
  • Python 3.12+
  • An MCP client (Cline, Roo Code, Claude Desktop, Cursor, Windsurf, Claude Code, or LM Studio)
  • Node.js / npx (for the recommended npm bridge)

What Binary Ninja MCP can do in Claude Desktop

decompile_function

Decompile a specific function by name and return HLIL-like code with addresses.

get_il

Get IL for a function in hlil, mlil, or llil (SSA supported for MLIL/LLIL).

fetch_disassembly

Get the assembly representation of a function by name or address.

define_types

Add type definitions from a C string type definition.

declare_c_type

Create/update a local type from a single C declaration.

get_user_defined_type

Retrieve definition of a user-defined type (struct, enum, typedef, union).

get_type_info

Resolve a type and return declaration, kind, and members.

set_comment

Set a comment at a specific address.

Security

The MCP bridge connects to a local Binary Ninja HTTP server (default localhost:9009) with no authentication. The server can patch bytes and write files to disk (patch_bytes with save_to_file defaults to True, and re-signs binaries on macOS). Only analyze binaries you trust, and keep the HTTP server bound to localhost.

Binary Ninja MCP + Claude Desktop FAQ

Where is the Claude Desktop config file?

Claude Desktop reads MCP servers from ~/Library/Application Support/Claude/claude_desktop_config.json. Paste the Binary Ninja MCP config there under the "mcpServers" key and restart the client.

Is Binary Ninja MCP safe to use with Claude Desktop?

The MCP bridge connects to a local Binary Ninja HTTP server (default localhost:9009) with no authentication. The server can patch bytes and write files to disk (patch_bytes with save_to_file defaults to True, and re-signs binaries on macOS). Only analyze binaries you trust, and keep the HTTP server bound to localhost.

What are the two components?

A Binary Ninja plugin that runs an MCP server exposing Binary Ninja over HTTP endpoints, and a separate MCP bridge that connects your MCP client to that server.

How do I install it?

Install your MCP client first, then install the plugin via Binary Ninja's Plugin Manager (or manually). Supported clients are auto-configured. The recommended bridge is the npm package run with 'npx -y binary-ninja-mcp'.

Which MCP clients are supported?

Auto-setup is supported for Cline, Roo Code, Claude Desktop, Cursor, Windsurf, Claude Code, and LM Studio. Any MCP-compatible client can also be configured manually.

View repo Full Binary Ninja MCP page