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:
Después de la instalación, puedes ejecutarlo como un script usando:
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:
Uso
- Abra Binary Ninja y cargue un binario
- Inicie el servidor MCP desde el menú Herramientas o usando el atajo de teclado
- 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 nombradabinja_get_function_decompiled
: Obtener el código descompilado para una función nombradabinja_get_global_variable
: Obtener información sobre una variable globalbinja_get_current_function_assembly
: Obtener el ensamblaje para la función actualbinja_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:
- Ejecute el inspector MCP para probar sus cambios:
- Pruebe usando la aplicación de escritorio Claude agregando lo siguiente a su
claude_desktop_config.json
:
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
This server cannot be installed
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.