项目简介
这是一个基于 Rust 语言实现的 Wazuh MCP 服务器。其核心功能是将 Wazuh Security Information and Event Management (SIEM) 系统中的安全告警数据转换为符合 Model Context Protocol (MCP) 规范的格式,供兼容的 LLM 客户端(如 Claude Desktop)使用,从而为 LLM 应用提供丰富的安全上下文信息和可调用的功能。
主要功能点
- 获取 Wazuh 数据: 通过调用 Wazuh Indexer API,获取最新的安全告警信息。
- 数据转换: 将 Wazuh 告警的原始 JSON 数据结构转换为 MCP 协议定义的标准化上下文信息。
- 支持 MCP 协议: 实现 MCP 协议的 JSON-RPC 通信,处理来自 LLM 客户端的初始化、获取能力、请求上下文、调用工具、获取 Prompt 等请求。
- 多种传输方式: 支持通过标准输入/输出 (Stdio) 或 HTTP 协议与 MCP 客户端通信。
- 能力声明: 向客户端声明服务器支持的功能,包括工具、资源和 Prompt。
- 工具注册与执行: 提供一个名为 'wazuhAlertSummary' 的工具,当 LLM 客户端调用该工具时,服务器会获取 Wazuh 告警并生成一个文本摘要作为结果返回。
- Prompt 定义: 定义 Prompt 模板,指导 LLM 进行特定的交互,例如 'list-wazuh-alerts' Prompt。
安装步骤
- 下载可执行文件:
- 访问项目的 GitHub Releases 页面 ('https://github.com/gbrigandi/mcp-server-wazuh/releases')。
- 下载与您的操作系统架构相匹配的最新版本二进制文件(例如 'mcp-server-wazuh-linux-amd64', 'mcp-server-wazuh-macos-amd64', 'mcp-server-wazuh-windows-amd64.exe')。
- 赋予执行权限 (Linux/macOS):
- 打开终端,导航到下载文件的目录。
- 运行命令 'chmod +x <下载的文件名>'。
- (可选) 简化访问:
- 将下载的文件重命名为更简洁的名称(如 'mcp-server-wazuh')。
- 将其移动到系统 PATH 包含的目录中(如 '/usr/local/bin'),以便可以直接通过名称运行。
服务器配置 (针对 MCP 客户端)
MCP 服务器通常作为 LLM 客户端的子进程启动(Stdio 模式)或通过网络连接(HTTP 模式)。您需要在 MCP 客户端的配置文件中指定如何启动和连接到此 Wazuh MCP 服务器。以下是一个常见的配置结构示例(具体字段名称和配置方式取决于您使用的 MCP 客户端):
{ // ... 您的 MCP 客户端的其他配置 "mcpServers": { "wazuh": { // 给这个MCP服务器实例起一个唯一的名称,例如 "wazuh" "command": "/path/to/your/downloaded/mcp-server-wazuh", // 指向您下载并赋予执行权限的MCP服务器可执行文件的完整路径 "args": [], // 传递给MCP服务器启动命令的额外参数列表,通常留空 "env": { // 设置MCP服务器运行所需的环境变量,特别是连接Wazuh的信息 "WAZUH_HOST": "your_wazuh_indexer_host", // Wazuh Indexer 的 IP 地址或主机名 "WAZUH_PORT": "9200", // Wazuh Indexer API 的端口号,默认为 9200 "WAZUH_USER": "your_wazuh_user", // 具有 API 访问权限的 Wazuh 用户名 "WAZUH_PASS": "your_wazuh_password", // 对应 Wazuh 用户的密码 "VERIFY_SSL": "false", // 是否验证 Wazuh API 的 SSL 证书,设置为 "true" 会进行验证,"false" 跳过验证 (生产环境强烈建议设置为 "true") "MCP_SERVER_PORT": "8000", // 如果您希望 MCP 服务器也启动 HTTP 监听模式,指定一个端口号 "RUST_LOG": "info" // 控制 MCP 服务器输出的日志级别 (可选,常见值有 info, debug, trace) } } // ... 可以配置其他 MCP 服务器实例 } }
请根据您的实际 Wazuh 环境和 MCP 客户端的要求填写上述配置信息。
基本使用方法
完成上述安装和配置步骤后:
- 确保您的 Wazuh Indexer API 已启用并可从运行 MCP 服务器的机器访问。
- 启动您的 MCP 客户端(例如配置好的 Claude Desktop)。
- MCP 客户端将根据配置自动启动 'mcp-server-wazuh' 可执行文件(Stdio 模式)或尝试连接到指定的 HTTP 地址。
- 一旦连接成功,MCP 客户端将能够通过 MCP 协议向服务器请求 Wazuh 安全告警的上下文信息,或调用服务器提供的工具(例如 'wazuhAlertSummary')来获取 Wazuh 数据的处理结果。
- LLM 将可以使用这些信息来回答关于您的安全环境的问题,分析告警,或执行工具来获取特定格式的输出。
信息
分类
AI与计算