Skip to main content
Glama

一个用于 Wazuh SIEM/XDR 平台的 模型上下文协议 (MCP) 服务器。直接从 Claude 或任何兼容 MCP 的客户端查询代理、安全警报、检测规则和解码器。

功能特性

  • 25 个 MCP 工具 - 代理、警报、规则、解码器、SCA、syscollector、FIM、rootcheck、组和管理器

  • 3 个 MCP 资源 - 预构建的代理、近期警报和规则摘要视图

  • 3 个 MCP 提示词 - 警报调查、代理健康检查和安全概览

  • JWT 身份验证 - 自动令牌管理,过期时自动刷新

  • 完全合规性映射 - PCI-DSS、GDPR、HIPAA、NIST 800-53、MITRE ATT&CK

  • 分页 - 所有列表端点均支持 limit/offset 分页

  • 类型安全 - 完整的 TypeScript 支持,包含严格模式和 Zod 模式验证

先决条件

  • Node.js 20+

  • 运行中的 Wazuh 管理器,且具有 API 访问权限(默认端口 55000)

  • Wazuh API 凭据(用户名/密码)

  • (可选) 用于警报查询的 Wazuh Indexer (OpenSearch) 访问权限

安装

git clone https://github.com/solomonneas/wazuh-mcp.git
cd wazuh-mcp
npm install
npm run build

配置

设置以下环境变量:

变量

必需

默认值

描述

| WAZUH_URL | 是 | - | Wazuh API URL (例如 https://10.0.0.2:55000) | | WAZUH_USERNAME | 是 | - | API 用户名 | | WAZUH_PASSWORD | 是 | - | API 密码 | | WAZUH_VERIFY_SSL | 否 | false | 设置为 true 以验证 SSL 证书 |

同时也支持替代变量名 WAZUH_BASE_URLWAZUH_USER

Wazuh 4.x 将警报存储在 Wazuh Indexer (OpenSearch) 中,而不是 REST API 中。要启用警报工具 (get_alerts, get_alert, search_alerts) 和 wazuh://alerts/recent 资源,请配置索引器连接:

变量

必需

默认值

描述

| WAZUH_INDEXER_URL | 否 | - | Wazuh Indexer URL (例如 https://10.0.0.2:9200) | | WAZUH_INDEXER_USERNAME | 否 | admin | 索引器用户名 | | WAZUH_INDEXER_PASSWORD | 否 | - | 索引器密码 | | WAZUH_INDEXER_VERIFY_SSL | 否 | false | 设置为 true 以验证 SSL 证书 |

如果未设置 WAZUH_INDEXER_URL,警报工具将返回一条有用的配置消息。所有其他工具(代理、规则、解码器、版本)无需索引器即可工作。

使用方法

Claude Desktop

添加到 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) 或 %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "wazuh": {
      "command": "wazuh-mcp",
      "env": {
        "WAZUH_URL": "https://your-wazuh-manager:55000",
        "WAZUH_USERNAME": "wazuh-wui",
        "WAZUH_PASSWORD": "your-password",
        "WAZUH_INDEXER_URL": "https://your-wazuh-indexer:9200",
        "WAZUH_INDEXER_USERNAME": "admin",
        "WAZUH_INDEXER_PASSWORD": "your-indexer-password"
      }
    }
  }
}

Claude Code

claude mcp add wazuh \
  --env WAZUH_URL=https://your-wazuh-manager:55000 \
  --env WAZUH_USERNAME=wazuh-wui \
  --env WAZUH_PASSWORD=your-password \
  --env WAZUH_INDEXER_URL=https://your-wazuh-indexer:9200 \
  --env WAZUH_INDEXER_USERNAME=admin \
  --env WAZUH_INDEXER_PASSWORD=your-indexer-password \
  -- wazuh-mcp

添加 --scope user 以使其在任何目录中可用,而不仅仅是当前项目。

OpenClaw

如果您是从源代码检出运行,而不是从 npm 安装的二进制文件运行,请将 command/args 指向构建好的 dist/index.js

openclaw mcp set wazuh '{
  "command": "node",
  "args": ["/absolute/path/to/wazuh-mcp/dist/index.js"],
  "env": {
    "WAZUH_URL": "https://your-wazuh-manager:55000",
    "WAZUH_USERNAME": "wazuh-wui",
    "WAZUH_PASSWORD": "your-password",
    "WAZUH_INDEXER_URL": "https://your-wazuh-indexer:9200",
    "WAZUH_INDEXER_USERNAME": "admin",
    "WAZUH_INDEXER_PASSWORD": "your-indexer-password"
  }
}'

或者,使用全局 npm 安装:

openclaw mcp set wazuh '{
  "command": "wazuh-mcp",
  "env": {
    "WAZUH_URL": "https://your-wazuh-manager:55000",
    "WAZUH_USERNAME": "wazuh-wui",
    "WAZUH_PASSWORD": "your-password",
    "WAZUH_INDEXER_URL": "https://your-wazuh-indexer:9200",
    "WAZUH_INDEXER_USERNAME": "admin",
    "WAZUH_INDEXER_PASSWORD": "your-indexer-password"
  }
}'

然后重启 OpenClaw 网关以加载新服务器:

systemctl --user restart openclaw-gateway
openclaw mcp list   # confirm "wazuh" is registered

Hermes Agent

Hermes Agent~/.hermes/config.yaml 中的 mcp_servers 键读取 MCP 配置。添加一个条目:

mcp_servers:
  wazuh:
    command: "wazuh-mcp"
    env:
      WAZUH_URL: "https://your-wazuh-manager:55000"
      WAZUH_USERNAME: "wazuh-wui"
      WAZUH_PASSWORD: "your-password"
      WAZUH_INDEXER_URL: "https://your-wazuh-indexer:9200"
      WAZUH_INDEXER_USERNAME: "admin"
      WAZUH_INDEXER_PASSWORD: "your-indexer-password"

或者,从源代码检出运行而不是全局 npm 安装时:

mcp_servers:
  wazuh:
    command: "node"
    args: ["/absolute/path/to/wazuh-mcp/dist/index.js"]
    env:
      WAZUH_URL: "https://your-wazuh-manager:55000"
      WAZUH_USERNAME: "wazuh-wui"
      WAZUH_PASSWORD: "your-password"
      WAZUH_INDEXER_URL: "https://your-wazuh-indexer:9200"
      WAZUH_INDEXER_USERNAME: "admin"
      WAZUH_INDEXER_PASSWORD: "your-indexer-password"

然后在 Hermes 会话中重新加载 MCP:

/reload-mcp

Codex CLI

Codex CLI 通过 codex mcp add 注册 MCP 服务器:

codex mcp add wazuh \
  --env WAZUH_URL=https://your-wazuh-manager:55000 \
  --env WAZUH_USERNAME=wazuh-wui \
  --env WAZUH_PASSWORD=your-password \
  --env WAZUH_INDEXER_URL=https://your-wazuh-indexer:9200 \
  --env WAZUH_INDEXER_USERNAME=admin \
  --env WAZUH_INDEXER_PASSWORD=your-indexer-password \
  -- wazuh-mcp

或者,从源代码检出运行:

codex mcp add wazuh \
  --env WAZUH_URL=https://your-wazuh-manager:55000 \
  --env WAZUH_USERNAME=wazuh-wui \
  --env WAZUH_PASSWORD=your-password \
  -- node /absolute/path/to/wazuh-mcp/dist/index.js

Codex 将条目写入 ~/.codex/config.toml 下的 [mcp_servers.wazuh]。使用以下命令验证:

codex mcp list

独立运行

export WAZUH_URL=https://your-wazuh-manager:55000
export WAZUH_USERNAME=wazuh-wui
export WAZUH_PASSWORD=your-password
npm start

开发

npm run dev    # Watch mode with tsx
npm run lint   # Type checking
npm test       # Run tests

MCP 工具

代理工具

工具

描述

list_agents

列出所有代理,支持可选的状态过滤 (active, disconnected, never_connected, pending)

get_agent

通过 ID 获取特定代理的详细信息

get_agent_stats

获取代理的 CPU、内存和磁盘统计信息

警报工具

工具

描述

get_alerts

获取近期警报,支持按级别、代理、规则和文本搜索进行过滤

get_alert

通过 ID 获取单个警报

search_alerts

在所有警报中进行全文搜索

规则工具

工具

描述

list_rules

列出检测规则,支持级别和组过滤

get_rule

获取完整的规则详细信息,包括合规性映射

search_rules

按描述文本搜索规则

SCA 工具 (安全配置评估)

工具

描述

get_sca_policies

列出代理的 SCA 策略和评分 (CIS 基准等)

get_sca_checks

获取单个检查结果,包含补救步骤和合规性映射

Syscollector 工具 (系统清单)

工具

描述

get_agent_os

获取操作系统信息 (名称、版本、架构、主机名)

get_agent_packages

列出已安装的软件包及其版本

get_agent_processes

列出正在运行的进程及其 PID 和命令行

get_agent_ports

列出开放的网络端口及其关联进程

get_agent_network

列出网络接口和 IP 地址

get_agent_hotfixes

列出已安装的 Windows 修补程序/补丁

FIM & Rootcheck 工具

工具

描述

get_fim_files

获取文件完整性监控结果 (文件、注册表项、哈希值)

get_rootcheck

获取 Rootkit 检测扫描结果

管理器工具

工具

描述

get_manager_logs

获取按级别和模块过滤的 Wazuh 管理器日志

get_manager_config

按部分获取活动的管理器配置

组工具

工具

描述

list_groups

列出所有代理组

get_group_agents

列出特定组中的代理

其他工具

工具

描述

list_decoders

列出日志解码器,支持可选的名称过滤

get_wazuh_version

获取 Wazuh 管理器版本和 API 信息

MCP 资源

资源 URI

描述

wazuh://agents

所有已注册的代理及其状态

wazuh://alerts/recent

最近 25 条安全警报

wazuh://rules/summary

按严重性排序的检测规则

MCP 提示词

提示词

描述

investigate-alert

带有 MITRE 映射和补救措施的分步警报调查

agent-health-check

全面的代理健康评估 (状态、资源、警报)

security-overview

包含合规性覆盖范围的完整环境安全摘要

示例

列出活跃代理

Use list_agents with status "active" to see all connected agents.

调查暴力破解尝试

Search alerts for "brute force" and investigate the top result,
including the MITRE ATT&CK technique and remediation steps.

检查代理健康状况

Run an agent health check on agent 001 - check its connection status,
resource usage, and any recent critical alerts.

查找高严重性规则

List all rules with level 12 or higher to see critical detection rules
and their compliance framework mappings.

测试

npm test              # Run all tests
npm run test:watch    # Watch mode

测试使用模拟的 Wazuh API 响应 - 无需实时 Wazuh 实例。

项目结构

wazuh-mcp/
├── src/
│   ├── index.ts           # MCP server entry point
│   ├── config.ts          # Environment configuration
│   ├── client.ts          # Wazuh REST API client (JWT auth)
│   ├── indexer-client.ts  # Wazuh Indexer (OpenSearch) client
│   ├── types.ts           # TypeScript type definitions
│   ├── resources.ts       # MCP resource handlers
│   ├── prompts.ts         # MCP prompt templates
│   └── tools/
│       ├── agents.ts      # Agent management tools
│       ├── alerts.ts      # Alert query tools
│       ├── rules.ts       # Rule query tools
│       ├── decoders.ts    # Decoder listing tool
│       ├── version.ts     # Version info tool
│       ├── sca.ts         # Security Configuration Assessment
│       ├── syscollector.ts # System inventory (OS, packages, ports, etc.)
│       ├── syscheck.ts    # File Integrity Monitoring
│       ├── rootcheck.ts   # Rootkit detection
│       ├── manager.ts     # Manager logs and configuration
│       └── groups.ts      # Agent group management
├── tests/
│   ├── client.test.ts     # API client unit tests
│   └── tools.test.ts      # Tool handler unit tests
├── package.json
├── tsconfig.json
├── tsup.config.ts
└── vitest.config.ts

许可证

MIT

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/solomonneas/wazuh-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server