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:

  1. Cierra completamente Claude Desktop
  2. 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

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