wazuh-mcp
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 Indexer (OpenSearch) - アラートに必須
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 registeredHermes 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-mcpCodex 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.jsCodexは ~/.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 testsMCPツール
エージェントツール
ツール | 説明 |
| ステータスフィルタリング(active, disconnected, never_connected, pending)付きで全エージェントをリストアップ |
| IDを指定して特定のエージェントの詳細情報を取得 |
| エージェントのCPU、メモリ、ディスク統計を取得 |
アラートツール
ツール | 説明 |
| レベル、エージェント、ルール、テキスト検索によるフィルタリングで最近のアラートを取得 |
| IDを指定して単一のアラートを取得 |
| すべてのアラートに対する全文検索 |
ルールツール
ツール | 説明 |
| レベルとグループフィルタリング付きで検知ルールをリストアップ |
| コンプライアンスマッピングを含むルールの詳細を取得 |
| 説明テキストでルールを検索 |
SCAツール (セキュリティ設定評価)
ツール | 説明 |
| エージェントのSCAポリシーとスコア(CISベンチマークなど)をリストアップ |
| 修復手順とコンプライアンスマッピングを含む個別のチェック結果を取得 |
Syscollectorツール (システムインベントリ)
ツール | 説明 |
| OS情報(名前、バージョン、アーキテクチャ、ホスト名)を取得 |
| インストールされているソフトウェアパッケージとバージョンをリストアップ |
| PIDとコマンドラインを含む実行中のプロセスをリストアップ |
| 関連プロセスを含むオープンネットワークポートをリストアップ |
| ネットワークインターフェースとIPアドレスをリストアップ |
| インストールされているWindows修正プログラム/パッチをリストアップ |
FIM & Rootcheckツール
ツール | 説明 |
| ファイル整合性監視(FIM)の結果(ファイル、レジストリキー、ハッシュ)を取得 |
| ルートキット検知スキャンの結果を取得 |
マネージャーツール
ツール | 説明 |
| レベルとモジュールでフィルタリングされたWazuhマネージャーログを取得 |
| セクションごとにアクティブなマネージャー設定を取得 |
グループツール
ツール | 説明 |
| 全エージェントグループをリストアップ |
| 特定グループ内のエージェントをリストアップ |
その他のツール
ツール | 説明 |
| 名前フィルタリング付きでログデコーダーをリストアップ |
| WazuhマネージャーのバージョンとAPI情報を取得 |
MCPリソース
リソースURI | 説明 |
| 登録済み全エージェントとそのステータス |
| 最新のセキュリティアラート25件 |
| 重要度順に並べ替えられた検知ルール |
MCPプロンプト
プロンプト | 説明 |
| MITREマッピングと修復手順を含むステップバイステップのアラート調査 |
| 包括的なエージェント健全性評価(ステータス、リソース、アラート) |
| コンプライアンスカバレッジを含む環境全体のセキュリティ概要 |
例
アクティブなエージェントをリストアップ
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
Maintenance
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