Wazuh MCP Server

by unmuktoai
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Retrieves security alerts from Elasticsearch indices containing Wazuh data, transforming them into standardized MCP messages.

  • Uses Flask to expose an HTTP endpoint for serving transformed security event data to clients.

Wazuh MCP サーバー

WazuhのセキュリティデータをLLM(Claude Desktop Appなど)と統合するための、本番環境対応のオープンソースMCPサーバーです。このサービスは、Wazuh RESTful APIで認証し、Elasticsearchインデックスからアラートを取得し、イベントをMCP準拠のJSON形式に変換し、Claude Desktopがリアルタイムのセキュリティコンテキストを取得するためのHTTPエンドポイントを公開します。

特徴

  • JWT ベースの認証: JWT トークンを使用して Wazuh で安全に認証します。
  • アラートの取得: Elasticsearch インデックスで Wazuh アラート データをクエリします。
  • **MCP メッセージ変換:**セキュリティ イベントを標準化された MCP メッセージに変換します。
  • Flask HTTP サーバー: Claude Desktop 統合用の/mcpエンドポイントを公開します。
  • **堅牢なエラー処理:**トークンの有効期限、ネットワーク タイムアウト、不正なデータを処理します。
  • **構成可能:**環境変数を使用して簡単に構成し、構成ファイルを使用して Claude Desktop と統合します。

前提条件

  • Python 3.8以上
  • Wazuh API インスタンスへのアクセス。
  • (オプション) Claude Desktop は MCP サーバーを呼び出すように構成されています。

インストール

  1. リポジトリをクローンします。
    git clone https://github.com/unmuktoai/Wazuh-MCP-Server.git cd Wazuh-MCP-Server

仮想環境を作成してアクティブ化する:

python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate

依存関係をインストールします:

pip install -r requirements.txt

構成MCP サーバーを構成するには、次の環境変数を設定します。

WAZUH_HOST: Wazuh server hostname or IP. WAZUH_PORT: Port for the Wazuh API (default: 55000). WAZUH_USER: Wazuh API username. WAZUH_PASS: Wazuh API password. VERIFY_SSL: Set to "true" or "false" (default: false). MCP_SERVER_PORT: Port on which the MCP server will run (default: 8000).

例(MacOS):

export WAZUH_HOST="your_wazuh_server" export WAZUH_PORT="55000" export WAZUH_USER="your_username" export WAZUH_PASS="your_password" export VERIFY_SSL="false" export MCP_SERVER_PORT="8000"

サーバーの実行 次のコマンドで MCP サーバーを起動します。

python wazuh_mcp_server.py

サーバーは指定されたポートのすべてのインターフェースをリッスンします。

MCP_SERVER_PORT.

Claude Desktop との統合Claude Desktop と統合するには、構成ファイルを更新します。

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json mcpServers の下に次のエントリを追加します。

{ "mcpServers": { "mcp-server-wazuh": { "command": "python3 /path/to/Wazuh-MCP-Server/wazuh_mcp_server.py", "env": { "WAZUH_HOST": "your_wazuh_server", "WAZUH_PORT": "55000", "WAZUH_USER": "your_username", "WAZUH_PASS": "your_password", "MCP_SERVER_PORT": "8000", "VERIFY_SSL": "false" } } } }

ライセンス このプロジェクトは MIT ライセンスに基づいてライセンスされます。

貢献 貢献を歓迎します。改善やバグ修正のために、問題を報告したり、プルリクエストを送信したりしてください。

-
security - not tested
A
license - permissive license
-
quality - not tested

Elasticsearch インデックスからアラートを取得して MCP 準拠の形式に変換することで、Wazuh セキュリティ データを LLM (Claude Desktop など) と安全に統合し、LLM アプリケーションでリアルタイムのセキュリティ コンテキストを有効にします。

  1. Features
    1. Prerequisites
      1. Installation
        ID: 8tkuk2554f