/ Annuaire / Playground / Wazuh-MCP-Server
● Communauté gensecaihq ⚡ Instantané

Wazuh-MCP-Server

par 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.

Pourquoi l'utiliser

Fonctionnalités clés

Démo en direct

Aperçu en pratique

wazuh.replay ▶ prêt
0/0

Installer

Choisissez votre client

~/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
    }
  }
}

Ouvrez Claude Desktop → Settings → Developer → Edit Config. Redémarrez après avoir enregistré.

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

Cursor utilise le même schéma mcpServers que Claude Desktop. La config projet l'emporte sur la globale.

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

Cliquez sur l'icône MCP Servers dans la barre latérale Cline, puis "Edit Configuration".

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

Même format que Claude Desktop. Redémarrez Windsurf pour appliquer.

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

Continue utilise un tableau d'objets serveur plutôt qu'une map.

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

Ajoutez dans context_servers. Zed recharge à chaud à la sauvegarde.

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

Une seule ligne. Vérifiez avec claude mcp list. Supprimez avec claude mcp remove.

Cas d'usage

Usages concrets : Wazuh-MCP-Server

Triage overnight alerts in 10 minutes instead of 2 hours

👤 SOC analysts ⏱ ~20 min advanced

Quand l'utiliser : Shift start. Hundreds of alerts overnight. You need to find the real ones without reading every row.

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

Résultat : Faster MTTD/MTTR without more eyeballs.

Pièges
  • Auto-triggering active response before confirming — Keep active response tools behind a confirmation gate

Weekly vulnerability posture report

👤 Security managers ⏱ ~30 min intermediate

Quand l'utiliser : Friday report for leadership. How many CVEs open? Where? Trend vs last week?

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

Résultat : Board-ready security posture summary.

Pièges
  • Vuln data only as fresh as last scan — Check scan timestamps before drawing conclusions
Combiner avec : notion

Isolate a compromised host on confirmation

👤 SOC on-call ⏱ ~10 min advanced

Quand l'utiliser : Alert fires: unambiguous malware on endpoint. You need to isolate fast.

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

Résultat : Compromised host isolated within minutes.

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

Combinaisons

Associez-le à d'autres MCPs pour un effet X10

wazuh + notion

Weekly security digest to exec

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

Outils

Ce que ce MCP expose

OutilEntréesQuand appelerCoût
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

Coût et limites

Coût d'exécution

Quota d'API
Bounded by Wazuh Manager API limits
Tokens par appel
Alert listings can be huge — always filter by time + severity
Monétaire
Free. Wazuh itself is open-source.
Astuce
Use limit aggressively. Don't list a week's alerts without grouping.

Sécurité

Permissions, secrets, portée

Portées minimales : Wazuh API user scoped read-only for inspection; elevate for active response
Stockage des identifiants : Wazuh API creds in env or Docker secrets
Sortie de données : Alert/event data goes to your LLM provider
Ne jamais accorder : Active-response scope to a dev/eval instance

Dépannage

Erreurs courantes et correctifs

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.

Alternatives

Wazuh-MCP-Server vs autres

AlternativeQuand l'utiliserCompromis
Splunk / Sentinel MCPsYou use Splunk or Sentinel insteadDifferent SIEM
Wazuh UI directlySingle-alert deep diveSlower; no LLM synthesis

Plus

Ressources

📖 Lire le README officiel sur GitHub

🐙 Voir les issues ouvertes

🔍 Parcourir les 400+ serveurs MCP et Skills