Skip to main content
Glama

Wazuh SIEM/XDRプラットフォーム用のModel Context Protocol (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ページネーションをサポート

  • 型安全 - 厳格モードとZodスキーマバリデーションを備えた完全なTypeScript実装

前提条件

  • Node.js 20以上

  • APIアクセスが有効なWazuhマネージャー(デフォルトポート 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 | SSL証明書を検証する場合は true に設定 |

代替の変数名 WAZUH_BASE_URL および WAZUH_USER もサポートされています。

Wazuh 4.xはアラートをREST APIではなくWazuh Indexer (OpenSearch) に保存します。アラートツール (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 | SSL証明書を検証する場合は true に設定 |

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.yamlmcp_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 CLIcodex 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

OS情報(名前、バージョン、アーキテクチャ、ホスト名)を取得

get_agent_packages

インストールされているソフトウェアパッケージとバージョンをリストアップ

get_agent_processes

PIDとコマンドラインを含む実行中のプロセスをリストアップ

get_agent_ports

関連プロセスを含むオープンネットワークポートをリストアップ

get_agent_network

ネットワークインターフェースとIPアドレスをリストアップ

get_agent_hotfixes

インストールされているWindows修正プログラム/パッチをリストアップ

FIM & Rootcheckツール

ツール

説明

get_fim_files

ファイル整合性監視(FIM)の結果(ファイル、レジストリキー、ハッシュ)を取得

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

テストはモック化された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