Wazuh MCP 服务器

Wazuh MCP Server 是一个为 Wazuh 安全平台提供模型上下文协议(MCP)集成的服务,支持 AI 应用与 Wazuh 的无缝连接,适用于安全分析和系统监控场景。

  • by RayaSatriatama
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 RayaSatriatama/wazuh-mcp-server

使用说明

Wazuh MCP服务器

用于Wazuh服务的模型上下文协议(MCP)服务器,通过MCP框架在Wazuh安全平台和AI应用程序之间提供无缝集成。

🚀 快速开始

在5分钟内开始使用我们的全面文档:

📁 项目结构

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服务器:

  1. 创建自己的服务实例(WazuhIndexerMCPService/WazuhManagerMCPService)
  2. 修补工具客户端以使用集中式服务
  3. 使用相对导入导入和注册工具
  4. 通过环境变量处理所有配置

⚡ 快速安装

# 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许可证获得许可-请参阅 许可证 文件以获取详细信息。

🆘 支持

  • 文档: docs/ 文件夹包含全面的指南
  • 问题:在GitHub Issues上报告错误和功能请求
  • 故障排除:参见 故障排除指南

🎯 项目状态

✅ 生产就绪 -Wazuh MCP服务器功能齐全,可用于生产,具有全面的文档、Docker部署和多传输支持。