Wazuh-MCP-Server GitHub Details, Stars and Alternatives | OpenRepoFinder
gensecaihq / repository
Wazuh-MCP-Server
AI-powered security operations for Wazuh SIEM—use any MCP-compatible client to ask security questions in plain English. Faster threat detection, incident triage, and compliance checks with real-time monitoring and anomaly spotting. Production-ready MCP server for conversational SOC workflows.
A transparent discovery signal based on current public GitHub metadata.
Recent activity35% weight
100
Community adoption25% weight
46
Maintenance state20% weight
85
License clarity10% weight
100
Project information10% weight
100
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
README preview
Wazuh MCP Server
Talk to your SIEM. Query alerts, hunt threats, check vulnerabilities, and trigger active responses across your entire Wazuh deployment — through natural conversation with any AI assistant.
Your Wazuh SIEM generates thousands of alerts, vulnerability findings, and agent events daily. Investigating them means juggling dashboards, writing API queries, and manually correlating data across tools.
This MCP server turns that workflow into a conversation:
You: "Show me critical alerts from the last hour"
AI: [calls get_wazuh_alerts] Found 3 critical alerts:
1. SSH brute force from 10.0.1.45 → agent-003 (Rule 5712, Level 10)
2. Rootkit detection on agent-007 (Rule 510, Level 12)
3. FIM change /etc/shadow on agent-001 (Rule 550, Level 10)
You: "Block that source IP on agent-003"
AI: [calls wazuh_block_ip] Blocked 10.0.1.45 via firewall-drop on agent-003.
You: "Which agents have unpatched critical CVEs?"
AI: [calls get_wazuh_critical_vulnerabilities] 3 agents with critical vulnerabilities...
It works with Claude Desktop, Open WebUI + Ollama (fully local, air-gapped), mcphost, or any MCP-compliant client.
Works With Cloud AND Local LLMs
This is a standard MCP tool server. It doesn't care what LLM you use — it just executes tools and returns results.
Mode
LLM
Client
Data leaves your network?
Cloud
Claude, GPT, etc.
Claude Desktop, any MCP client
Yes (to LLM provider)
ALGORITHMICALLY RELATED
Similar Open-Source Projects
Selected from shared topics, language and repository description—not editorial ratings.
The ultimate Android Penetration Testing Framework. A professional operations platform featuring automated APK binding, live TUI dashboards, Telegram remote control, AI-powered smali mutation, and Claude AI integration for security researchers.
An AI-powered, Project-Aware coding assistant MCP server built with Gemini 2.0 Flash and UV. Plug it into Antigravity or Claude Desktop for AI-assisted coding, debugging, and robust Git operations — now with a built-in Pre-Push Security Gate.
For security teams that can't send SIEM data to cloud APIs (compliance, air-gapped networks, data sovereignty), the local mode with Ollama keeps everything on-premises. Both modes coexist — same server, same tools, same API.
Quick Start: Local LLM with mcphost
# 1. Start the MCP server
docker compose up -d
# 2. Install mcphost (Go binary, no dependencies)
go install github.com/mark3labs/mcphost@latest
# 3. Configure
cat > ~/.mcphost.yml << 'EOF'
mcpServers:
wazuh:
type: remote
url: http://localhost:3000/mcp
headers: ["Authorization: Bearer ${env://MCP_API_KEY}"]
EOF
# 4. Chat with your SIEM using a local model
export MCP_API_KEY="your-key-from-server-logs"
mcphost --model ollama/qwen2.5:7b
Quick Start: Multi-User SOC with Open WebUI
Open WebUI v0.6.31+ connects to our /mcp endpoint natively. Add it as an MCP tool server in Admin Settings, and your entire team gets AI-powered SIEM analysis with conversation history, RBAC, and a web UI.
54 Security Tools
Every tool is validated, rate-limited, scope-checked, and audit-logged.
Query, filter, search, and aggregate alert data via the Indexer. Timestamps accept ISO 8601 or relative date math (now-24h); get_alerts_aggregated summarizes a whole period with no document limit
The 14 state-changing tools (Active Response + Rollback) require the wazuh:write scope; everything else needs only wazuh:read. ISO 27001 also adds an iso27001_assessment guided prompt (5 prompts total).
Quick Start
Prerequisites
Docker 20.10+ with Compose v2
Wazuh 4.8.0–4.14.4 with API access enabled
Deploy
git clone https://github.com/gensecaihq/Wazuh-MCP-Server.git
cd Wazuh-MCP-Server
cp .env.example .env
This server sits between an LLM and your SIEM. Security is not optional.
Layer
What It Does
RBAC
Per-tool scope enforcement, fail-closed: a token with no scope claim gets read-only, never write. The 14 state-changing tools (active response + rollback) require wazuh:write, which is opt-in (MCP_API_KEY_SCOPES="wazuh:read wazuh:write"). Authless mode is read-only unless AUTHLESS_ALLOW_WRITE=true.
Audit Logging
Every destructive tool call (block IP, isolate host, kill process) is logged with client ID, session, timestamp, and full arguments.
Output Sanitization
Credentials, tokens, and API keys in alert full_log fields are redacted before reaching the LLM. Prevents credential leakage through AI responses.
Input Validation
Every parameter validated: regex agent IDs, ipaddress module for IPs, shell metacharacter blocking for active response, Elasticsearch Query DSL (no string interpolation).
Rate Limiting
Per-client sliding window with escalating block duration (10s → 5min).
Circuit Breakers
Wazuh API failures trigger fail-fast for 60s, auto-recover. Single trial in HALF_OPEN state.
Log Sanitization
Global filter redacts passwords, tokens, secrets from all server logs.
Container Hardening
Non-root user, read-only filesystem, CAP_DROP ALL, no-new-privileges.
# Generate a secure API key
python -c "import secrets; print('wazuh_' + secrets.token_urlsafe(32))"
Configuration
Required
Variable
Description
WAZUH_HOST
Wazuh Manager hostname or IP
WAZUH_USER
API username
WAZUH_PASS
API password
Optional
Variable
Default
Description
ENVIRONMENT
development
production enforces stricter checks (see below)
WAZUH_PORT
55000
Manager API port
WAZUH_VERIFY_SSL
true
Verify the Manager's TLS certificate
MCP_HOST
0.0.0.0
Server bind address
MCP_PORT
3000
Server port
AUTH_MODE
bearer
oauth, bearer, or none
AUTH_SECRET_KEY
auto (dev only)
JWT signing key. Required when ENVIRONMENT=production (the server refuses to start without it) — set the same value on every instance
MCP_API_KEY
auto (dev only)
Pre-set API key (wazuh_…)
MCP_API_KEY_SCOPES
wazuh:read
Scopes for MCP_API_KEY. Add wazuh:write to enable active-response tools
AUTHLESS_ALLOW_WRITE
false
Allow active response in authless mode
ALLOWED_ORIGINS
https://claude.ai,...
CORS origins (comma-separated)
TRUSTED_PROXIES
—
Proxy IPs to trust for X-Forwarded-For (correct per-client rate limiting behind a proxy)
REDIS_URL
—
Redis URL for multi-instance session storage
Production note: the server listens over plain HTTP — terminate TLS at a reverse proxy or load balancer. OAuth knobs (OAUTH_ENABLE_DCR — off by default, OAUTH_*_TTL) and rate-limit tuning (RATE_LIMIT_REQUESTS, RATE_LIMIT_WINDOW) are in the Configuration Guide.
Combine this MCP server with Wazuh OpenClaw Autopilot to build a fully autonomous Security Operations Center.
While this server gives you conversational access to Wazuh, OpenClaw deploys AI agents that work around the clock — triaging alerts, correlating incidents, and recommending responses without human intervention.