使用说明
Wazuh MCP服务器
用于Wazuh服务的模型上下文协议(MCP)服务器,通过MCP框架在Wazuh安全平台和AI应用程序之间提供无缝集成。
🚀 快速开始
在5分钟内开始使用我们的全面文档:
- 📚 文档概述 -从这里开始获取完整指南
- ⚡ 快速入门指南 -5分钟设置
- 🐳 Docker部署 -生产部署
- 📖 api参考 -完整的API文件
- 🔧 配置指南 -配置参考
- 🛠️ 工具参考 -所有可用工具
- 📋 安装指南 -详细安装
- 🔍 故障排除 -常见问题和解决方案
📁 项目结构
wazuh-mcp-server/
├── src/ # Source code package
│ └── wazuh_mcp_server/ # Main application package
│ ├── wazuh_indexer/ # Wazuh Indexer MCP Server
│ │ ├── config/ # Configuration modules
│ │ │ ├── base_config.py
│ │ │ └── indexer_config.py
│ │ ├── services/ # Service implementations
│ │ │ └── indexer_service.py
│ │ ├── utils/ # Utilities
│ │ │ └── logger.py
│ │ ├── tools/ # MCP tools
│ │ │ ├── cluster_tools.py
│ │ │ ├── index_tools.py
│ │ │ ├── monitoring_tools.py
│ │ │ ├── search_tools.py
│ │ │ ├── security_tools.py
│ │ │ └── tool_clients.py
│ │ └── server.py # Main server entry point
│ ├── wazuh_manager/ # Wazuh Manager MCP Server
│ │ ├── config/ # Configuration modules
│ │ │ ├── base_config.py
│ │ │ └── manager_config.py
│ │ ├── services/ # Service implementations
│ │ │ └── manager_service.py
│ │ ├── utils/ # Utilities
│ │ │ └── logger.py
│ │ ├── tools/ # MCP tools
│ │ │ ├── agents.py
│ │ │ ├── api_info.py
│ │ │ ├── cluster.py
│ │ │ ├── decoders.py
│ │ │ ├── experimental.py
│ │ │ ├── groups.py
│ │ │ ├── lists.py
│ │ │ ├── manager.py
│ │ │ ├── mitre.py
│ │ │ ├── overview.py
│ │ │ ├── rootcheck.py
│ │ │ ├── rules.py
│ │ │ ├── sca.py
│ │ │ ├── security.py
│ │ │ ├── syscollector.py
│ │ │ ├── syscheck.py
│ │ │ ├── tasks.py
│ │ │ └── wazuh_manager_base_api.py
│ │ └── server.py # Main server entry point
│ ├── server_manager.py # Server management CLI
│ └── __init__.py # Package initialization
├── deployment/ # Docker deployment
│ ├── .env.docker.example # Docker environment template
│ ├── .env.production.example # Production environment template
│ ├── docker/
│ │ ├── docker-compose.yml
│ │ ├── Dockerfile
│ │ └── nginx.conf
│ ├── requirements-mcp.txt # Python dependencies
│ └── README.md # Deployment documentation
├── docs/ # Documentation
├── tests/ # Test suite
├── .env.example # Environment configuration template
├── pyproject.toml # Modern Python package configuration
├── SECURITY.md # Security policy
├── CHANGELOG.md # Version history
└── README.md # Project documentation
特性
- 独立:每个MCP服务器都有自己完整的模块结构
- 模块化架构:每个服务器内的关注点完全分离
- Docker就绪:可通过Docker Compose部署
- 警告抑制:已过滤弃用和运行时警告
- 本地进口:所有导入都是相对的,以防止外部依赖
- 清理日志:减少冗长的生产就绪日志输出
日志记录
MCP服务器使用以下级别的结构化日志记录:
- 错误:身份验证失败、连接错误、关键问题
- 警告:JWT过期、可恢复问题、不推荐使用
- 信息:启动消息、连接成功、工具注册摘要
- 调试:数据获取操作,详细的API交互(默认禁用)
日志输出示例
✅ Successfully connected to Wazuh API
✅ Successfully imported and registered 106 Wazuh Manager tools from 18 modules
✅ Successfully imported and registered 36 Wazuh Indexer tools from 5 modules
详细调试日志记录(API请求、数据获取操作)已移至debug级别,以减少日志噪音,同时在需要时保持故障排除功能。
架构更改
工具迁移
为了更好地组织,这些工具已经过重组:
- Wazuh Indexer工具位于
wazuh_indexer/tools/ - Wazuh Manager工具位于
wazuh_manager/tools/
导入清理
- 已删除外部导入:
from utils.logger import logger - 已删除外部导入:
from config.wazuh_config import WazuhConfig - 已删除配置实例化:
config = WazuhConfig() - 已更新为使用服务器设置的集中式服务实例
服务集成
现在每个MCP服务器:
- 创建自己的服务实例(WazuhIndexerMCPService/WazuhManagerMCPService)
- 修补工具客户端以使用集中式服务
- 使用相对导入导入和注册工具
- 通过环境变量处理所有配置
⚡ 快速安装
# 1. Clone repository
git clone https://github.com/RayaSatriatama/wazuh-mcp-server.git
cd wazuh-mcp-server
# 2. Deploy with Docker (recommended)
docker compose --profile http up -d
# 3. Verify deployment
curl http://localhost:8001/health # Indexer
curl http://localhost:8002/health # Manager
有关详细的安装说明,请参阅 安装指南.
🎛️ 服务器管理
使用内置的服务器管理器便于开发和测试:
# Start all MCP servers
uvx --from fastmcp python -m src.wazuh_mcp_server.server_manager start-all
# Check server status
uvx --from fastmcp python -m src.wazuh_mcp_server.server_manager status
# Stop all servers
uvx --from fastmcp python -m src.wazuh_mcp_server.server_manager stop-all
# Start individual servers
uvx --from fastmcp python -m src.wazuh_mcp_server.server_manager start wazuh_indexer
uvx --from fastmcp python -m src.wazuh_mcp_server.server_manager start wazuh_manager
🏗️ 建筑
Wazuh MCP服务器提供两项主要服务:
- Wazuh索引器MCP服务器 (端口8001)-搜索、警报、分析
- Wazuh管理器MCP服务器 (端口8002)-代理、规则、管理
🚀 运输方式
- HTTP模式 -生产REST API(端口8001/8002)
- SSE模式 -实时服务器发送事件(端口8003/8004)
- STDIO模式 -直接MCP客户端集成
有关详细的架构和配置,请参阅:
🔧 特性
- Wazuh综合集成 -完全访问Wazuh管理器和索引器API
- 多运输支持 -针对不同用例的HTTP、SSE和STDIO模式
- 模块化架构 -将关注点与服务层彻底分离
- 生产就绪 -带有健康检查和监控的Docker部署
- MCP兼容 -与模型上下文协议客户端的本地集成
- 丰富的工具集 -140多种安全分析、代理管理和系统监控工具
可用工具
Wazuh索引工具(36个工具):
- 警报搜索和分析
- 漏洞管理
- 集群健康监测
- 指标管理
- 搜索聚合
Wazuh管理器工具(106个工具):
- 代理管理和监控
- 规则和解码器管理
- 组和配置管理
- 安全合规性(SCA、CIS-CAT)
- 系统监控(Syscheck、Rootcheck)
有关完整的工具文档,请参阅 工具参考.
🤝 贡献
我们欢迎捐款!请查看我们的 开发指南 用于:
- 开发环境设置
- 代码风格指南
- 测试程序
- 拉取请求流程
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🆘 支持
🎯 项目状态
✅ 生产就绪 -Wazuh MCP服务器功能齐全,可用于生产,具有全面的文档、Docker部署和多传输支持。
