- Ghidra MCP Server es un servidor Model Context Protocol (MCP) que conecta las funciones de ingeniería inversa de Ghidra con IA y frameworks de automatización
- A través de 110 herramientas MCP y 132 endpoints, ofrece amplias capacidades de análisis binario como análisis de funciones, exploración de estructuras de datos y extracción de cadenas
- Soporta procesamiento por lotes, transacciones atómicas y análisis en tiempo real, y puede operarse con despliegue en Docker y modo headless
- La función de transferencia de documentación entre binarios permite emparejar automáticamente la documentación de funciones entre distintas versiones de binarios
- Una plataforma que permite implementar flujos de trabajo de ingeniería inversa basados en IA con estabilidad a nivel de producción
Resumen general
- Ghidra MCP Server es un servidor MCP de nivel de producción que conecta el motor de análisis de Ghidra con herramientas de IA y sistemas de automatización
- Implementa completamente Model Context Protocol para permitir la interacción con modelos de IA
- Expone las funciones de Ghidra mediante HTTP REST y el protocolo MCP (stdio/SSE)
Funciones principales
- Integración central de MCP
- Compatibilidad total con MCP, 110 herramientas MCP, soporte para operaciones por lotes y transacciones atómicas
- Integración en tiempo real con el motor de análisis de Ghidra
- Análisis binario
- Decompilación de funciones, grafo de llamadas, referencias cruzadas, generación automática de estructuras de datos
- Incluye extracción de cadenas, análisis de tabla de símbolos, mapeo de memoria y transferencia de documentación entre binarios
- Desarrollo y automatización
- Pipeline automatizado de compilación-pruebas-despliegue-validación
- Creación, ejecución y gestión de scripts de Ghidra, comparación de múltiples programas, renombrado masivo y anotación con comentarios
Instalación y ejecución
- Requisitos previos: Java 21 LTS, Apache Maven 3.9+, Ghidra 12.0.2, Python 3.8+
- Procedimiento de instalación
- Clonar el repositorio e instalar las dependencias de Python
- Copiar 14 bibliotecas de Ghidra y compilar con Maven
- Desplegar el plugin en la carpeta de extensiones de Ghidra
- Formas de ejecución
- Elegir transporte por Stdio (predeterminado, para herramientas de IA) o SSE (para clientes Web/HTTP)
- Ejecutar Tools > GhidraMCP > Start MCP Server dentro de Ghidra
Rendimiento y estabilidad
- Implementación completa de 110 herramientas MCP, con tiempo de respuesta inferior a 1 segundo en la mayoría de las operaciones
- Estructura de operaciones por lotes que logra una reducción del 93% en llamadas API
- Todas las operaciones se procesan como transacciones atómicas para garantizar confiabilidad
- Incluye scripts de despliegue automático con reconocimiento de versión
Configuración de la API
- Operaciones clave: verificación de conexión, consulta de metadatos, información de versión, exploración de puntos de entrada
- Análisis de funciones: lista de funciones, búsqueda por nombre, decompilación, grafo de relaciones de llamada, evaluación de completitud de documentación
- Memoria y datos: lista de segmentos, desensamblado, referencias cruzadas, inspección del contenido de memoria
- Documentación entre binarios: generación de hashes de funciones, exportación/aplicación de documentación, emparejamiento basado en hashes
- Gestión de tipos de datos: creación de estructuras y enumeraciones, modificación de campos, fusión de tipos duplicados
- Gestión de símbolos y etiquetas: listas de importación/exportación, análisis de cadenas, gestión de espacios de nombres y variables globales
- Renombrado y comentarios: renombrado de funciones, datos y variables, configuración masiva de comentarios
- Sistema de tipos: definición de prototipos de funciones, configuración de tipos de variables, consulta de convenciones de llamada
- Gestión de scripts de Ghidra: listado, ejecución, guardado, modificación y eliminación de scripts
- Soporte para múltiples programas: cambio entre programas abiertos, listado de archivos del proyecto, comparación de documentación
- Herramientas de análisis: búsqueda de funciones no definidas, búsqueda basada en cadenas, búsqueda de patrones de bytes
Arquitectura
- Estructura herramientas de IA/automatización ↔ puente MCP ↔ plugin de Ghidra
bridge_mcp_ghidra.py: servidor Python que convierte el protocolo MCP en llamadas HTTP
GhidraMCP.jar: plugin Java que expone las funciones de Ghidra vía HTTP
ghidra_scripts/: incluye más de 70 scripts de automatización
Desarrollo y compilación
- Incluye compilación basada en Maven y scripts de despliegue en PowerShell
- La estructura del proyecto se compone de servidor Python, plugin Java, bibliotecas de Ghidra, documentación, ejemplos y scripts de compilación
- Es necesario copiar 14 bibliotecas obligatorias (aprox. 37 MB) desde la ruta de instalación de Ghidra
- Incluye despliegue automático, operaciones por lotes, transacciones atómicas y registro detallado
Documentación y flujo de trabajo con IA
- La carpeta docs/ incluye documentación completa, estructura del proyecto, convenciones de nombres y notación húngara
- Prompts de flujo de trabajo con IA: documentación de funciones, emparejamiento entre versiones y prompts de inicio rápido
- Historial de versiones:
CHANGELOG.md y docs/releases incluyen detalles por versión
Licencia y estado
- Bajo Apache License 2.0
- Versión 2.0.0, implementación completa de 110 herramientas MCP e inclusión de más de 70 scripts de Ghidra
- Listo para despliegue en entornos de producción, adecuado para ingeniería inversa basada en IA
Proyectos relacionados
- re-universe: plataforma de análisis de similitud binaria a gran escala basada en PostgreSQL
- cheat-engine-server-python: servidor MCP para análisis dinámico de memoria y depuración
Agradecimientos
- Agradecimientos al equipo de Ghidra, a los desarrolladores de Model Context Protocol y a los contribuidores de la comunidad
1 comentarios
Comentarios en Hacker News
Crear este proyecto surgió de lo doloroso que era hacer ingeniería inversa de varias versiones de software
La clave es un sistema de hash de funciones normalizado que genera hashes según la estructura lógica de la función (instrucciones, operandos, flujo de control)
Gracias a eso, aunque el binario se reconstruya o se rebase, la misma función conserva el mismo hash, y todos los comentarios, tipos y nombres se trasladan automáticamente
Incluye 110 herramientas mediante un puente MCP para Ghidra, y puede integrarse con Claude, Claude Code u otros clientes MCP
Se validó con varias versiones de parche de Diablo II, y fue posible trasladar automáticamente más de 1,300 comentarios de funciones
También permite integración con CI mediante modo headless basado en Docker
En v2.0.0 se agregaron binding solo para localhost, configuración de timeout, eliminación de labels, configuración con
.env, etc.Se agradece cualquier discusión sobre el enfoque de hashing o el diseño de MCP
La guía de instalación parece incompleta. Después de instalarlo en Ghidra y reiniciar, no aparece GhidraMCP en el menú Tools
Me pregunto si GH Discussions es el canal correcto para comunicarse
Probé el servidor MCP de Ghidra de LaurieWired, y analizar binarios y crear keygens fue demasiado divertido y sencillo
Sin duda pienso probar también este servidor MCP
Qué curioso que este proyecto aparezca justo en este momento
mainen LaurieWired/GhidraMCPVi que un colega de la empresa usó Ghidra con Claude para hackear el juego River Ride, y yo también lo probé
Había porteado un juego antiguo de PowerPC a Apple Silicon, y aunque probé varios MCP, Claude Code alucinaba código con frecuencia
Al final obtuve los mejores resultados con Cursor + modo headless de GPT 5.2 Codex
Por ejemplo, restauró por completo en 30 minutos un archivo C64-SID de 1,300 líneas
Ahora mismo estoy construyendo un sistema multiagente para hacer ingeniería inversa de un juego completo de C64
Ver código de ejemplo
La ingeniería inversa con IA está subestimada
Yo logré extraer claves de cifrado de una app Android, pero las claves estaban ocultas dentro de un shader y solo se podían obtener ejecutando realmente ese shader
Ahora le estamos agregando funcionalidad multijugador en el navegador
Llevo meses usando la versión de LaurieWired con 15 herramientas, y da la sensación de que la estructura interna de la app se vuelve completamente transparente
Sirve para rastrear bugs, crear plugins e incluso modificar apps
También uso Hopper Disassembler junto con código Objective-C
Artículo relacionado: Full recompilation with LLMs and Ghidra
La ingeniería inversa con LLM de verdad está subestimada
Estoy restaurando un juego de hace 30 años, y cuando le doy al modelo los resultados del decompilado de Ghidra y la información de símbolos en formato RAG, salen resultados sorprendentes
Incluso modelos baratos como Gemini 3 Flash son bastante utilizables
Omite partes de la función o deja solo comentarios dentro de bloques
switchEn cambio, Claude Opus o Qwen3-30B-A3B producen código mucho más completo
La gran ventana de contexto de Gemini es una ventaja, pero en la práctica sigue habiendo muchas limitaciones por lo verboso de PCode
Pensé que conectar demasiadas herramientas a MCP hacía caer el rendimiento, así que esto no parece un buen diseño
Aun así, las herramientas centradas en traducir APIs siguen siendo poco compatibles con los LLM
No soy ingeniero inverso, pero mejoré un desencriptador de ransomware usando Claude Code y Ghidra MCP
Cuando recuperé varios terabytes de datos, sentí de verdad que había obtenido superpoderes
Creo que la IA puede mostrar capacidades sobrehumanas en el análisis de binarios
Hoy es un trabajo poco productivo y aburrido, pero con IA también podría usarse para auditorías de seguridad o para defenderse de ataques a la cadena de suministro
“skill-snitch” de MOOLLM monitorea cómo operan otras skills, y “cursor-mirror” permite ver por completo el estado interno de Cursor
Estas skills pueden combinarse y llamarse recursivamente entre sí, y funcionan de una manera “speed of light” mucho más rápida que MCP
Material relacionado: Leela MOOLLM Demo Transcript, speed-of-light skill, skill-snitch report
Me pregunto por qué no lo hicieron basado en CLI. Parece que hoy los LLM y los agentes manejan mejor la CLI