使用说明

项目简介

Wazuh MCP Server 是一个轻量级的 MCP 服务器实现,专注于将 Wazuh 安全监控平台的告警数据以标准化的 MCP 格式提供给 LLM 应用,例如 Claude Desktop。它通过 HTTP 协议提供服务,简化了与 LLM 客户端的集成过程,使得 LLM 能够利用实时的安全告警信息进行更智能的分析和响应。

主要功能点

  • 安全认证: 使用 JWT (JSON Web Token) 安全地连接 Wazuh API。
  • 告警检索: 从 Wazuh 的 Elasticsearch 索引中检索安全告警数据。
  • MCP 格式转换: 将 Wazuh 安全事件转换为符合 MCP 规范的 JSON 消息格式。
  • HTTP 接口: 提供 '/mcp' HTTP 端点,供 LLM 客户端(如 Claude Desktop)获取安全上下文。
  • 错误处理: 具备完善的错误处理机制,应对令牌过期、网络超时和数据格式错误等问题。
  • 灵活配置: 通过环境变量轻松配置服务器参数,方便与 Claude Desktop 等 LLM 应用集成。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/unmuktoai/Wazuh-MCP-Server.git
    cd Wazuh-MCP-Server
  2. 创建并激活虚拟环境:
    python3 -m venv venv
    source venv/bin/activate  # 或 Windows: venv\Scripts\activate
  3. 安装依赖:
    pip install -r requirements.txt

服务器配置

MCP 服务器需要配置 Wazuh API 的连接信息以及服务器自身的运行端口。这些配置通过环境变量进行设置。

以下是 Claude Desktop 客户端配置 MCP 服务器的 'mcpServers' 字段示例,用于连接 Wazuh MCP Server:

{
  "mcpServers": {
    "wazuh-security-context": {  // MCP 服务器名称,可以自定义
      "command": "python3 /path/to/Wazuh-MCP-Server/wazuh_mcp_server.py", // MCP 服务器启动命令,请替换为实际路径
      "env": {  // 环境变量配置
        "WAZUH_HOST": "your_wazuh_server",  // Wazuh 服务器主机名或IP地址
        "WAZUH_PORT": "55000",  // Wazuh API 端口,默认为 55000
        "WAZUH_USER": "your_username",  // Wazuh API 用户名
        "WAZUH_PASS": "your_password",  // Wazuh API 密码
        "MCP_SERVER_PORT": "8000",  // MCP 服务器端口,默认为 8000
        "VERIFY_SSL": "false"  // 是否验证 SSL 证书,默认为 false
      }
    }
  }
}

请根据实际情况修改 'command' 中的路径和 'env' 中的 Wazuh 连接信息。

基本使用方法

  1. 配置环境变量: 根据 服务器配置 中的说明,设置必要的环境变量,例如 'WAZUH_HOST'、'WAZUH_USER'、'WAZUH_PASS' 和 'MCP_SERVER_PORT'。
  2. 启动服务器: 在终端中,进入项目根目录,运行以下命令启动 Wazuh MCP Server:
    python wazuh_mcp_server.py
    服务器默认监听 'MCP_SERVER_PORT' 环境变量指定的端口(默认为 8000)。
  3. 配置 Claude Desktop: 根据 服务器配置 中的示例,修改 Claude Desktop 的配置文件 ('claude_desktop_config.json'),添加 'mcpServers' 配置,指向正在运行的 Wazuh MCP Server。
  4. 在 Claude 中使用: 配置完成后,Claude Desktop 即可通过 Wazuh MCP Server 获取实时的安全告警信息,为 LLM 提供安全上下文,从而在对话或分析中利用这些信息。

信息

分类

AI与计算