Binary Ninja MCP Server

MIT License
  • Linux
  • Apple

Integrations

  • Supports running the Binary Ninja MCP Server on Linux, with specific paths for plugin installation in the Linux environment.

  • Supports running the Binary Ninja MCP Server on macOS, with specific paths for plugin installation in the macOS environment.

  • Provides a Python module interface for the Binary Ninja MCP Server, allowing it to be run as a Python script.

Servidor MCP de Binary Ninja

Un servidor de Protocolo de Contexto de Modelo para la interacción y automatización de Binary Ninja. Este servidor proporciona herramientas para interactuar con Binary Ninja mediante grandes modelos de lenguaje.

Descripción general

El servidor MCP de Binary Ninja es un complemento y una implementación de servidor que permite que los modelos de lenguaje grandes interactúen con Binary Ninja mediante el Protocolo de Contexto de Modelo (MCP). Ofrece funcionalidades como:

  • Obtener código de ensamblaje para funciones
  • Obtener código descompilado (HLIL) para funciones
  • Cambiar el nombre de funciones y variables
  • Añadir comentarios

Instalación

Uso de uv (recomendado)

Al usar uv no se requiere ninguna instalación específica. Usaremos uvx para ejecutar directamente binja_mcp .

Uso de PIP

Alternativamente puedes instalar binja-mcp a través de pip:

pip install binja-mcp

Después de la instalación, puedes ejecutarlo como un script usando:

python -m binja_mcp

Instalación del complemento Binary Ninja

Clone este repositorio O vincule el repositorio clonado al directorio de complementos de Binary Ninja:

  • Linux: ~/.binaryninja/plugins/
  • macOS: ~/Library/Application Support/Binary Ninja/plugins/
  • Windows: %APPDATA%\Binary Ninja\plugins\

Configuración

Uso con Claude Desktop/Cursor

Agregue esto a sus servidores claude_desktop_config.json o Cursor MCP:

"mcpServers": { "binja": { "command": "uvx", "args": [ "-n", "mcp-server-binja" ] } }
"mcpServers": { "binja": { "command": "python", "args": [ "-m", "mcp_server_binja" ] } }

Uso

  1. Abra Binary Ninja y cargue un binario
  2. Inicie el servidor MCP desde el menú Herramientas o usando el atajo de teclado
  3. Utilice Claude Desktop, Cursor o cualquier cliente MCP de su preferencia para interactuar con el binario

Comandos disponibles

Los siguientes comandos están disponibles a través de la interfaz MCP:

  • binja_get_function_assembly : Obtener el código de ensamblaje para una función nombrada
  • binja_get_function_decompiled : Obtener el código descompilado para una función nombrada
  • binja_get_global_variable : Obtener información sobre una variable global
  • binja_get_current_function_assembly : Obtener el ensamblaje para la función actual
  • binja_get_current_function_decompiled : Obtener el código descompilado para la función actual

Desarrollo

Si está realizando un desarrollo local, hay dos formas de probar sus cambios:

  1. Ejecute el inspector MCP para probar sus cambios:
npx @modelcontextprotocol/inspector uvx binja_mcp
  1. Pruebe usando la aplicación de escritorio Claude agregando lo siguiente a su claude_desktop_config.json :
{ "mcpServers": { "binja": { "command": "uv", "args": [ "--directory", "/<path to mcp-server-binja>/src", "run", "mcp-server-binja" ] } } }

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor de protocolo de contexto de modelo que permite que los modelos de lenguaje grandes interactúen con Binary Ninja para tareas de ingeniería inversa, como ver código de ensamblaje, código descompilado, cambiar el nombre de funciones y agregar comentarios.

  1. Overview
    1. Installation
      1. Using uv (recommended)
      2. Using PIP
      3. Binary Ninja Plugin Installation
    2. Configuration
      1. Usage with Claude Desktop/Cursor
    3. Usage
      1. Available Commands
        1. Development
          1. License
            ID: 7q8rq07sbh