Skip to main content
Glama

Сервер Model Context Protocol (MCP) для платформы Wazuh SIEM/XDR. Запрашивайте данные об агентах, оповещениях безопасности, правилах обнаружения и декодерах напрямую из 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)

  • Учетные данные API Wazuh (имя пользователя/пароль)

  • (Опционально) Доступ к Wazuh Indexer (OpenSearch) для запросов оповещений

Установка

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

Конфигурация

Установите следующие переменные окружения:

Переменная

Обязательно

По умолчанию

Описание

| WAZUH_URL | Да | - | URL API Wazuh (например, https://10.0.0.2:55000) | | WAZUH_USERNAME | Да | - | Имя пользователя API | | WAZUH_PASSWORD | Да | - | Пароль API | | WAZUH_VERIFY_SSL | Нет | false | Установите true для проверки SSL-сертификатов |

Также поддерживаются альтернативные имена переменных WAZUH_BASE_URL и WAZUH_USER.

Wazuh Indexer (OpenSearch) — требуется для оповещений

Wazuh 4.x хранит оповещения в Wazuh Indexer (OpenSearch), а не в REST API. Чтобы включить инструменты для работы с оповещениями (get_alerts, get_alert, search_alerts) и ресурс wazuh://alerts/recent, настройте подключение к индексатору:

Переменная

Обязательно

По умолчанию

Описание

| WAZUH_INDEXER_URL | Нет | - | URL Wazuh Indexer (например, 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 считывает конфигурацию MCP из ~/.hermes/config.yaml в ключе mcp_servers. Добавьте запись:

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"

Затем перезагрузите MCP внутри сессии Hermes:

/reload-mcp

Codex CLI

Codex CLI регистрирует MCP-серверы через codex mcp add:

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

Получение результатов сканирования на наличие руткитов

Инструменты менеджера

Инструмент

Описание

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

Тесты используют имитированные ответы API Wazuh — работающий экземпляр 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