Wazuh MCP Server

by unmuktoai
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Retrieves security alerts from Elasticsearch indices containing Wazuh data, transforming them into standardized MCP messages.

  • Uses Flask to expose an HTTP endpoint for serving transformed security event data to clients.

Servidor MCP de Wazuh

Un servidor MCP de código abierto y de nivel de producción para integrar los datos de seguridad de Wazuh con LLM (como la app de escritorio de Claude). Este servicio se autentica con la API RESTful de Wazuh, recupera alertas de los índices de Elasticsearch, transforma eventos a formato JSON compatible con MCP y expone un endpoint HTTP para que Claude Desktop obtenga el contexto de seguridad en tiempo real.

Características

  • Autenticación basada en JWT: autentique de forma segura con Wazuh utilizando tokens JWT.
  • Recuperación de alertas: consulte los índices de Elasticsearch para obtener datos de alerta de Wazuh.
  • Transformación de mensajes MCP: convierte eventos de seguridad en mensajes MCP estandarizados.
  • Servidor HTTP Flask: expone un punto final /mcp para la integración de Claude Desktop.
  • Manejo robusto de errores: maneja la expiración del token, los tiempos de espera de la red y los datos malformados.
  • Configurable: se configura fácilmente a través de variables de entorno y se integra con Claude Desktop a través de su archivo de configuración.

Prerrequisitos

  • Python 3.8+
  • Acceso a una instancia de API de Wazuh.
  • (Opcional) Claude Desktop configurado para llamar al servidor MCP.

Instalación

  1. Clonar el repositorio:
    git clone https://github.com/unmuktoai/Wazuh-MCP-Server.git cd Wazuh-MCP-Server

Crear y activar un entorno virtual:

python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate

Dependencias de instalación:

pip install -r requirements.txt

Configuración Establezca las siguientes variables de entorno para configurar el servidor MCP:

WAZUH_HOST: Wazuh server hostname or IP. WAZUH_PORT: Port for the Wazuh API (default: 55000). WAZUH_USER: Wazuh API username. WAZUH_PASS: Wazuh API password. VERIFY_SSL: Set to "true" or "false" (default: false). MCP_SERVER_PORT: Port on which the MCP server will run (default: 8000).

Ejemplo (MacOS):

export WAZUH_HOST="your_wazuh_server" export WAZUH_PORT="55000" export WAZUH_USER="your_username" export WAZUH_PASS="your_password" export VERIFY_SSL="false" export MCP_SERVER_PORT="8000"

Ejecución del servidor Inicie el servidor MCP con:

python wazuh_mcp_server.py

El servidor escuchará en todas las interfaces en el puerto especificado por

MCP_SERVER_PORT.

Integración con Claude Desktop Para integrar con Claude Desktop, actualice su archivo de configuración:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json Agregue la siguiente entrada en mcpServers:

{ "mcpServers": { "mcp-server-wazuh": { "command": "python3 /path/to/Wazuh-MCP-Server/wazuh_mcp_server.py", "env": { "WAZUH_HOST": "your_wazuh_server", "WAZUH_PORT": "55000", "WAZUH_USER": "your_username", "WAZUH_PASS": "your_password", "MCP_SERVER_PORT": "8000", "VERIFY_SSL": "false" } } } }

Licencia Este proyecto está licenciado bajo la licencia MIT.

¡Agradecemos sus contribuciones! Abra problemas o envíe solicitudes de incorporación de cambios para mejoras o correcciones de errores.

-
security - not tested
A
license - permissive license
-
quality - not tested

Integra de forma segura los datos de seguridad de Wazuh con LLM (como Claude Desktop) recuperando alertas de los índices de Elasticsearch y transformándolas en un formato compatible con MCP, lo que permite un contexto de seguridad en tiempo real en las aplicaciones LLM.

  1. Features
    1. Prerequisites
      1. Installation
        ID: 8tkuk2554f