Wazuh MCP Server

Read-only Wazuh SIEM/XDR control CLI with an MCP adapter

Remote serverstreamable-httpTypeScript

What is the Wazuh MCP server?

Read-only Wazuh SIEM/XDR control CLI with an MCP adapter. The wazuh mcp server wraps that behind the Model Context Protocol, so an assistant can use it through 14 defined tools rather than through you.

What it actually does

An MCP server that lets an AI client query your Wazuh SIEM/XDR: alerts, agents, vulnerabilities, rules, and more, read-only.

Adding it to your client

Being a remote server, there is no local install. You register the endpoint with your client, authorise it once, and the tools appear.

Its toolset

Everything the assistant can do here goes through one of these:

  • list_agents — List all agents with optional status filtering (active, disconnected, never_connected, pending)
  • get_agent — Get detailed info for a specific agent by ID
  • get_agent_stats — Get CPU, memory, and disk statistics for an agent
  • get_alerts — Retrieve recent alerts with filtering by time range, level, agent, rule, and text search
  • get_alert — Retrieve a single alert by ID
  • search_alerts — Full-text search across alerts with optional time range filtering
  • list_vulnerabilities — List vulnerability inventory with optional CVE, agent, severity, and package filters
  • search_vulnerabilities — Search vulnerability inventory by CVE, package, agent, or description
  • list_rules — List detection rules with level and group filtering
  • get_rule — Get full rule details including compliance mappings
  • search_rules — Search rules by description text
  • get_sca_policies — List SCA policies and scores for an agent (CIS benchmarks, etc.)

Configuration

You will need 7 environment variables: WAZUH_URL, WAZUH_USERNAME, WAZUH_PASSWORD, WAZUH_INDEXER_URL, WAZUH_INDEXER_USERNAME, WAZUH_INDEXER_PASSWORD, WAZUH_BASE_URL. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

  • Node.js 20+ - A running Wazuh manager with API access (default port 55000) - Wazuh API credentials (username/password) - (Optional) Wazuh Indexer (OpenSearch) access for alert queries

Caveats

  • Your data travels to the provider's service, so the usual questions apply about what you send and what they retain.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Wazuh.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the wazuh mcp server does with a few real requests.

When to reach for it

This sits in the knowledge and memory group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Wazuh's toolset — list_agents, get_agent, get_agent_stats and 11 more — is a fair guide to whether it matches your workflow. It is maintained by GitHub Actions; worth a glance at recent repository activity before you build anything load-bearing on it.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Available tools

ToolWhat it does
list_agentsList all agents with optional status filtering (active, disconnected, never_connected, pending)
get_agentGet detailed info for a specific agent by ID
get_agent_statsGet CPU, memory, and disk statistics for an agent
get_alertsRetrieve recent alerts with filtering by time range, level, agent, rule, and text search
get_alertRetrieve a single alert by ID
search_alertsFull-text search across alerts with optional time range filtering
list_vulnerabilitiesList vulnerability inventory with optional CVE, agent, severity, and package filters
search_vulnerabilitiesSearch vulnerability inventory by CVE, package, agent, or description
list_rulesList detection rules with level and group filtering
get_ruleGet full rule details including compliance mappings
search_rulesSearch rules by description text
get_sca_policiesList SCA policies and scores for an agent (CIS benchmarks, etc.)
get_sca_checksGet individual check results with remediation steps and compliance mappings
get_agent_osGet OS information (name, version, architecture, hostname)

How to install the Wazuh MCP server

{
  "mcpServers": {
    "wazuh-1": {
      "command": "npx",
      "args": ["-y", "invocation"],
      "env": {
        "WAZUH_URL": "your-value",
        "WAZUH_USERNAME": "your-value",
        "WAZUH_PASSWORD": "your-value",
        "WAZUH_INDEXER_URL": "your-value",
        "WAZUH_INDEXER_USERNAME": "your-value",
        "WAZUH_INDEXER_PASSWORD": "your-value",
        "WAZUH_BASE_URL": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

  • Node.js 20+ - A running Wazuh manager with API access (default port 55000) - Wazuh API credentials (username/password) - (Optional) Wazuh Indexer (OpenSearch) access for alert queries
VariableDescriptionRequired
WAZUH_URLEndpoint or connection string the server talks to.Yes
WAZUH_USERNAMEConfiguration value read at startup.Optional
WAZUH_PASSWORDConfiguration value read at startup.Optional
WAZUH_INDEXER_URLEndpoint or connection string the server talks to.Yes
WAZUH_INDEXER_USERNAMEConfiguration value read at startup.Optional
WAZUH_INDEXER_PASSWORDConfiguration value read at startup.Optional
WAZUH_BASE_URLEndpoint or connection string the server talks to.Yes

Example prompts to try

  • Use Wazuh to list agents.
  • Use Wazuh to get agent.
  • Use Wazuh to get agent stats.

Frequently asked questions

It connects Wazuh to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (list_agents, get_agent, get_agent_stats, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Wazuh directly.