EMBA-MCP
Esta herramienta crea un servidor MCP para cerrar la brecha entre los flujos
Documentación
🧠 EMBA-MCP
Servidor de Protocolo de Contexto de Modelo (MCP) para el análisis de firmware EMBA. EMBA-MCP expone los resultados del análisis de firmware EMBA como herramientas estructuradas a través de MCP, permitiendo a los LLMs (Claude, ChatGPT, etc.) consultar, razonar y correlacionar hallazgos de seguridad del firmware de forma programática. Analiza, normaliza y razona sobre la salida de EMBA.
✨ Características
📦 Analizar resultados de EMBA (kernel, servicios, credenciales, criptografía, SBOM, binarios, PHP, etc.)
🔍 Análisis consciente del sistema de archivos (SUID, secretos, criptografía débil, servicios)
🚨 Motor de correlación de alto riesgo (hallazgos de múltiples señales)
🧭 Motor de explicación de rutas de ataque
🧠 Herramientas nativas de MCP (conéctalas a Claude / clientes MCP)
🔁 Funciona con la salida existente de EMBA (no requiere re-escaneo)
📋 Requisitos Sistema Linux (recomendado: Ubuntu / Kali) Python 3.10+ Herramienta EMBA
🛠️ Instalación
git clone https://github.com/0xbuz3R/EMBA-MCP.git
cd EMBA-MCP
Set Up a Virtual Environment (Recommended)
Bash
python -m venv venv
# On Windows:
.\venv\Scripts\activate
# On macOS:
source venv/bin/activate
3. Install Dependencies
Bash
pip install -e .
Asegúrate de que EMBA esté instalado en tu máquina local: https://github.com/e-m-b-a/emba
🧩 Configuración de MCP en Claude Desktop (Obligatoria)
Para usar EMBA-MCP dentro de Claude Desktop, debes registrar el servidor MCP en el archivo de configuración de Claude. Este paso es obligatorio y es el problema de configuración más común.
📍 1. Localizar claude_config_desktop.json
Claude Desktop almacena la configuración de MCP en la siguiente ubicación:
Linux
~/.config/claude/claude_config_desktop.json
Si el archivo no existe, créalo manualmente.
📍 2. Añadir la Configuración del Servidor EMBA-MCP
Añade el siguiente JSON bajo la sección mcpServers.
⚠️ No copies las rutas a ciegas — reemplázalas con rutas válidas en tu sistema.
{
"mcpServers": {
"emba": {
"command": "<PATH_TO_PYTHON>",
"args": ["-m", "emba_mcp.mcp_server"],
"env": {
"EMBA_HOME": "<PATH_TO_EMBA_DIRECTORY>"
}
}
}
}
📌 3. Cómo Rellenar las Rutas Correctamente
🔹 PATH_TO_PYTHON
Este debe ser el intérprete de Python donde está instalado EMBA-MCP. Ejemplos:
which python
which python3
Valores típicos:
/usr/bin/python3 /home/user/.venv/bin/python /home/user/.local/bin/python
🔹 PATH_TO_EMBA_DIRECTORY
Este debe ser el directorio raíz de EMBA, donde se encuentra el ejecutable emba.
Ejemplo:
ls <EMBA_HOME>/emba
Ejemplo de valor:
/home/user/tools/emba
📍 4. Reiniciar Claude Desktop
Después de guardar el archivo:
- Cierra completamente Claude Desktop
- Vuelve a abrirlo
Claude ahora cargará automáticamente el servidor MCP de EMBA
✅ 5. Verificar que MCP está Cargado
Dentro de Claude, intenta:
Listar escaneos EMBA o Ejecutar escaneo EMBA en firmware
Si está configurado correctamente, Claude responderá sin errores de MCP.
📽️ Demo
🤝 Contribución y Comentarios
Todavía estoy trabajando en algunos otros elementos de datos para integrar; lo actualizaré en la próxima versión.
Mientras tanto, ¡pruébalo y envíanos comentarios sobre cómo mejorar! Puedes dejar tus sugerencias en nuestro https://github.com/0xbuz3R/EMBA-MCP/issues/1