ghidraMCP
ghidraMCP es un servidor de Protocolo de Contexto de Modelo que permite a los LLM realizar ingeniería inversa de aplicaciones de forma autónoma. Expone numerosas herramientas de la funcionalidad principal de Ghidra a los clientes MCP.
https://github.com/user-attachments/assets/36080514-f227-44bd-af84-78e29ee1d7f9
Características
Servidor MCP + complemento Ghidra
- Descompilar y analizar binarios en Ghidra
- Renombrar automáticamente métodos y datos
- Enumere métodos, clases, importaciones y exportaciones
Instalación
Prerrequisitos
- Instalar Ghidra
- Python3
- Kit de desarrollo de software de MCP
Ghidra
Primero, descarga la última versión de este repositorio. Esta contiene el plugin de Ghidra y el cliente MCP de Python. Después, puedes importar el plugin directamente a Ghidra.
- Ejecutar Ghidra
- Seleccione
File
->Install Extensions
- Haga clic en el botón
+
- Seleccione
GhidraMCP-1-2.zip
(o la versión que elija) de la versión descargada - Reiniciar Ghidra
- Asegúrese de que GhidraMCPPlugin esté habilitado en
File
->Configure
->Developer
- Opcional : Configure el puerto en Ghidra con
Edit
->Tool Options
->GhidraMCP HTTP Server
Guía de instalación en vídeo:
https://github.com/user-attachments/assets/75f0c176-6da1-48dc-ad96-c182eb4648c3
Clientes de MCP
En teoría, cualquier cliente MCP debería funcionar con ghidraMCP. A continuación se muestran tres ejemplos.
Ejemplo 1: Claude Desktop
Para configurar Claude Desktop como un cliente Ghidra MCP, vaya a Claude
-> Settings
-> Developer
-> Edit Config
-> claude_desktop_config.json
y agregue lo siguiente:
Alternativamente, edite este archivo directamente:
La IP y el puerto del servidor son configurables y deben apuntar a la instancia de Ghidra de destino. Si no se configuran, ambos se establecerán como localhost:8080.
Ejemplo 2: Cline
Para usar GhidraMCP con Cline , también es necesario ejecutar manualmente el servidor MCP. Primero, ejecute el siguiente comando:
El único argumento obligatorio es el transporte. Si no se especifican los demás argumentos, se usarán los anteriores por defecto. Una vez que el servidor MCP esté en ejecución, abra Cline y seleccione MCP Servers
en la parte superior.
Luego, seleccione Remote Servers
y agregue lo siguiente, asegurándose de que la URL coincida con el host y el puerto de MCP:
- Nombre del servidor: GhidraMCP
- URL del servidor:
http://127.0.0.1:8081/sse
Ejemplo 3: 5ire
Otro cliente MCP compatible con múltiples modelos en el backend es 5ire . Para configurar GhidraMCP, abra 5ire y vaya a Tools
-> New
y configure lo siguiente:
- Clave de herramienta: ghidra
- Nombre: GhidraMCP
- Comando:
python /ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py
Construyendo desde la fuente
- Copie los siguientes archivos desde su directorio Ghidra al directorio
lib/
de este proyecto:
Ghidra/Features/Base/lib/Base.jar
Ghidra/Features/Decompiler/lib/Decompiler.jar
Ghidra/Framework/Docking/lib/Docking.jar
Ghidra/Framework/Generic/lib/Generic.jar
Ghidra/Framework/Project/lib/Project.jar
Ghidra/Framework/SoftwareModeling/lib/SoftwareModeling.jar
Ghidra/Framework/Utility/lib/Utility.jar
Ghidra/Framework/Gui/lib/Gui.jar
- Construya con Maven ejecutando:
mvn clean package assembly:single
El archivo zip generado incluye el plugin de Ghidra compilado y sus recursos. Estos archivos son necesarios para que Ghidra reconozca la nueva extensión.
- lib/GhidraMCP.jar
- extensiones.propiedades
- Módulo.manifiesto
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Un servidor MCP que permite a los LLM realizar ingeniería inversa de aplicaciones de forma autónoma al exponer la funcionalidad de Ghidra, lo que permite la descompilación, el análisis y el cambio de nombre automático de métodos y datos.
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that enables secure terminal command execution, directory navigation, and file system operations through a standardized interface for LLMs.Last updated -1023PythonMIT License
- AsecurityFlicenseAqualityA lightweight MCP server that provides a unified interface to various LLM providers including OpenAI, Anthropic, Google Gemini, Groq, DeepSeek, and Ollama.Last updated -6218Python
- -securityFlicense-qualityEnables LLMs to perform binary analysis using Ghidra in headless mode, extracting functions, pseudocode, structs, and enums from binaries for interactive reverse-engineering.Last updated -1Python
- AsecurityAlicenseAqualityMCP server implementation that enables LLMs to interact with Rollbar error tracking data, allowing users to list and analyze errors, view occurrences, track deployments, and access project information.Last updated -132562TypeScriptMIT License