/ Directorio / Playground / Wazuh-MCP-Server
● Comunidad gensecaihq ⚡ Instantáneo

Wazuh-MCP-Server

por gensecaihq · gensecaihq/Wazuh-MCP-Server

Conversational SOC for Wazuh — query alerts, hunt threats, check vulnerabilities, and trigger active responses in plain English, with 48 tools and audit logging.

Wazuh-MCP-Server turns your Wazuh SIEM into a chat-driven SOC. 48 tools across alerts/agents/vulnerabilities/active response/compliance. Built for real SOC work: output sanitization, rate limiting, circuit breakers, per-tool RBAC, and destructive-action audit logs.

Por qué usarlo

Características clave

Demo en vivo

Cómo se ve en la práctica

wazuh.replay ▶ listo
0/0

Instalar

Elige tu cliente

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "wazuh": {
      "command": "uvx",
      "args": [
        "Wazuh-MCP-Server"
      ],
      "_inferred": true
    }
  }
}

Abre Claude Desktop → Settings → Developer → Edit Config. Reinicia después de guardar.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "wazuh": {
      "command": "uvx",
      "args": [
        "Wazuh-MCP-Server"
      ],
      "_inferred": true
    }
  }
}

Cursor usa el mismo esquema mcpServers que Claude Desktop. La configuración del proyecto prevalece sobre la global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "wazuh": {
      "command": "uvx",
      "args": [
        "Wazuh-MCP-Server"
      ],
      "_inferred": true
    }
  }
}

Haz clic en el icono MCP Servers de la barra lateral de Cline y luego en "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "wazuh": {
      "command": "uvx",
      "args": [
        "Wazuh-MCP-Server"
      ],
      "_inferred": true
    }
  }
}

Mismo formato que Claude Desktop. Reinicia Windsurf para aplicar.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "wazuh",
      "command": "uvx",
      "args": [
        "Wazuh-MCP-Server"
      ]
    }
  ]
}

Continue usa un array de objetos de servidor en lugar de un mapa.

~/.config/zed/settings.json
{
  "context_servers": {
    "wazuh": {
      "command": {
        "path": "uvx",
        "args": [
          "Wazuh-MCP-Server"
        ]
      }
    }
  }
}

Añádelo a context_servers. Zed recarga en caliente al guardar.

claude mcp add wazuh -- uvx Wazuh-MCP-Server

Un solo comando. Verifica con claude mcp list. Quita con claude mcp remove.

Casos de uso

Usos del mundo real: Wazuh-MCP-Server

Triage overnight alerts in 10 minutes instead of 2 hours

👤 SOC analysts ⏱ ~20 min advanced

Cuándo usarlo: Shift start. Hundreds of alerts overnight. You need to find the real ones without reading every row.

Requisitos previos
  • Wazuh Manager API creds — Wazuh UI > API credentials
Flujo
  1. Summarize
    For last 12 hours: group alerts by rule group, count severity 10+ per group, top 5 agents with most high-sev alerts.✓ Copiado
    → Ranked summary
  2. Investigate
    For top agent, pull the 10 most recent high-sev alerts with full details.✓ Copiado
    → Detailed events
  3. Determine action
    Based on these events, is this a true positive? If yes, propose response: isolate agent / disable account / create ticket.✓ Copiado
    → Verdict + action plan

Resultado: Faster MTTD/MTTR without more eyeballs.

Errores comunes
  • Auto-triggering active response before confirming — Keep active response tools behind a confirmation gate

Weekly vulnerability posture report

👤 Security managers ⏱ ~30 min intermediate

Cuándo usarlo: Friday report for leadership. How many CVEs open? Where? Trend vs last week?

Flujo
  1. Pull vulnerabilities
    From Wazuh vulnerability module: total open CVEs by severity, top 10 agents by critical CVE count.✓ Copiado
    → Numbers + top agents
  2. Compare to last week
    Compare counts to last Friday's report [paste]. What improved, what regressed?✓ Copiado
    → Delta analysis
  3. Prioritize
    List the 5 critical CVEs affecting most hosts that should be patched this weekend.✓ Copiado
    → Actionable patch list

Resultado: Board-ready security posture summary.

Errores comunes
  • Vuln data only as fresh as last scan — Check scan timestamps before drawing conclusions
Combinar con: notion

Isolate a compromised host on confirmation

👤 SOC on-call ⏱ ~10 min advanced

Cuándo usarlo: Alert fires: unambiguous malware on endpoint. You need to isolate fast.

Flujo
  1. Confirm scope
    For agent 'ws-4412': show active processes with parent PID, recent listening ports, and last 20 alerts. Is this clearly compromised?✓ Copiado
    → Risk assessment
  2. Isolate
    Isolate agent ws-4412 via active response. Require my explicit confirm first.✓ Copiado
    → Confirmation prompt, then isolation + audit log entry

Resultado: Compromised host isolated within minutes.

Errores comunes
  • False-positive isolation of prod server — Double-check agent ID and classification before confirming; keep an out-of-band way to re-enable

Combinaciones

Combínalo con otros MCPs para multiplicar por 10

wazuh + notion

Weekly security digest to exec

Compose a weekly Wazuh summary and create a Notion page in 'Security Weekly'.✓ Copiado

Herramientas

Lo que expone este MCP

HerramientaEntradasCuándo llamarCoste
list_alerts filter: obj, from, to, limit Investigate by time/severity/rule 1 API call
get_agent agent_id Profile a specific endpoint 1 API call
list_vulnerabilities agent_id?, severity? Vuln posture checks 1 API call
trigger_active_response agent_id, command, arguments? Isolate / kill process / disable account — destructive; confirm 1 API call + physical effect
compliance_report framework: 'pci'|'hipaa'|'nist', scope Audit readiness 1 API call

Coste y límites

Lo que cuesta ejecutarlo

Cuota de API
Bounded by Wazuh Manager API limits
Tokens por llamada
Alert listings can be huge — always filter by time + severity
Monetario
Free. Wazuh itself is open-source.
Consejo
Use limit aggressively. Don't list a week's alerts without grouping.

Seguridad

Permisos, secretos, alcance

Ámbitos mínimos: Wazuh API user scoped read-only for inspection; elevate for active response
Almacenamiento de credenciales: Wazuh API creds in env or Docker secrets
Salida de datos: Alert/event data goes to your LLM provider
No conceder nunca: Active-response scope to a dev/eval instance

Resolución de problemas

Errores comunes y soluciones

401 from Wazuh API

Creds wrong, or JWT expired. Server auto-rotates; if persistent, check ENV.

Empty alert list despite known alerts

Indexer (Elasticsearch) not reachable from MCP container. Check docker-compose networks.

Active response failed / no effect

Confirm the active-response script is enabled on that agent (ossec.conf). Some actions are agent-side only.

Alternativas

Wazuh-MCP-Server vs otros

AlternativaCuándo usarlaContrapartida
Splunk / Sentinel MCPsYou use Splunk or Sentinel insteadDifferent SIEM
Wazuh UI directlySingle-alert deep diveSlower; no LLM synthesis

Más

Recursos

📖 Lee el README oficial en GitHub

🐙 Ver issues abiertas

🔍 Ver todos los 400+ servidores MCP y Skills