README
🚀 Wazuh MCP 服务器
Wazuh MCP 服务器是一个生产级别的开源 MCP 服务器,它能将 Wazuh 安全数据与大型语言模型(如 Claude Desktop App)集成。该服务借助 JWT 令牌,通过 REST API 与 Wazuh 进行身份验证,从 Elasticsearch 索引中检索警报,把事件转换为符合 MCP 标准的 JSON 格式,还提供一个 HTTP 端点,供 Claude Desktop 实时获取安全上下文。
✨ 主要特性
- 基于 JWT 的身份验证:使用 JWT 令牌安全地与 Wazuh 进行身份验证。
- 警报检索:查询 Elasticsearch 索引以获取 Wazuh 警报数据。
- MCP 消息转换:将安全事件转换为标准化的 MCP 消息。
- Flask HTTP 服务器:提供一个
/mcp端点,用于 Claude Desktop 集成。 - 强大的错误处理:处理令牌过期、网络超时和格式错误的数据。
- 可配置性:通过环境变量轻松配置,并通过 Claude Desktop 的配置文件进行集成。
📦 安装指南
先决条件
- Python 3.8+
- 对 Wazuh API 实例的访问权限
- (可选) 已配置好的 Claude Desktop,以便调用 MCP 服务器
安装步骤
- 克隆仓库
git clone https://github.com/unmuktoai/Wazuh-MCP-Server.git cd Wazuh-MCP-Server - 创建并激活虚拟环境
python3 -m venv venv source venv/bin/activate # Windows用户请使用: venv\Scripts\activate - 安装依赖项
pip install -r requirements.txt - 配置 设置以下环境变量以配置 MCP 服务器:
WAZUH_HOST: 指定Wazuh服务器的主机名或IP地址。
WAZUH_PORT: Wazuh API使用的端口(默认: 55000)。
WAZUH_USER: Wazuh API用户名。
WAZUH_PASS: Wazuh API密码。
VERIFY_SSL: 设置为"true"或"false"(默认: false)。
MCP_SERVER_PORT: MCP服务器运行的端口(默认: 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 端口上监听所有接口。
6. 与 Claude Desktop 集成
要将 MCP 服务器与 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 License 下开源。
扫码联系在线客服