返回市场
瓦祖赫-MCP服务器

瓦祖赫-MCP服务器

作者:RayaSatriatama2 星标更新:2025-08-03

项目介绍

Wazuh MCP 服务器

Wazuh 服务的 Model Context Protocol (MCP) 服务器,通过 MCP 框架实现 Wazuh 安全平台与 AI 应用之间的无缝集成。

🚀 快速开始

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

📁 项目结构

wazuh-mcp-server/
├── src/                    # 源代码包
│   └── wazuh_mcp_server/   # 主应用包
│       ├── wazuh_indexer/  # Wazuh Indexer MCP 服务器
│       │   ├── config/     # 配置模块
│       │   │   ├── base_config.py
│       │   │   └── indexer_config.py
│       │   ├── services/   # 服务实现
│       │   │   └── indexer_service.py
│       │   ├── utils/      # 实用工具
│       │   │   └── logger.py
│       │   ├── tools/      # MCP 工具
│       │   │   ├── cluster_tools.py
│       │   │   ├── index_tools.py
│       │   │   ├── monitoring_tools.py
│       │   │   ├── search_tools.py
│       │   │   ├── security_tools.py
│       │   │   └── tool_clients.py
│       │   └── server.py   # 主服务器入口点
│       ├── wazuh_manager/  # Wazuh Manager MCP 服务器
│       │   ├── config/     # 配置模块
│       │   │   ├── base_config.py
│       │   │   └── manager_config.py
│       │   ├── services/   # 服务实现
│       │   │   └── manager_service.py
│       │   ├── utils/      # 实用工具
│       │   │   └── logger.py
│       │   ├── tools/      # MCP 工具
│       │   │   ├── 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   # 主服务器入口点
│       ├── server_manager.py  # 服务器管理 CLI
│       └── __init__.py     # 包初始化
├── deployment/             # Docker 部署
│   ├── .env.docker.example      # Docker 环境模板
│   ├── .env.production.example  # 生产环境模板
│   ├── docker/
│   │   ├── docker-compose.yml
│   │   ├── Dockerfile
│   │   └── nginx.conf
│   ├── requirements-mcp.txt     # Python 依赖项
│   └── README.md               # 部署文档
├── docs/                   # 文档
├── tests/                  # 测试套件
├── .env.example            # 环境配置模板
├── pyproject.toml          # 现代 Python 包配置
├── SECURITY.md             # 安全策略
├── CHANGELOG.md            # 版本历史
└── README.md               # 项目文档

功能

  • 自包含:每个 MCP 服务器都有自己的完整模块结构
  • 模块化架构:每个服务器内部职责清晰分离
  • Docker 就绪:可通过 Docker Compose 部署
  • 警告抑制:过滤掉弃用和运行时警告
  • 本地导入:所有导入都是相对的,防止外部依赖
  • 干净的日志记录:生产就绪日志输出,减少冗余信息

日志记录

MCP 服务器使用结构化日志记录,具有以下级别:

  • ERROR:身份验证失败、连接错误、关键问题
  • WARNING:JWT 过期、可恢复的问题、弃用的用法
  • INFO:启动消息、连接成功、工具注册摘要
  • DEBUG:数据获取操作、详细的 API 交互(默认禁用)

日志输出示例

✅ 成功连接到 Wazuh API
✅ 成功导入并注册了来自 18 个模块的 106 个 Wazuh Manager 工具
✅ 成功导入并注册了来自 5 个模块的 36 个 Wazuh Indexer 工具

详细的调试日志记录(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. 克隆仓库
git clone https://github.com/RayaSatriatama/wazuh-mcp-server.git
cd wazuh-mcp-server

# 2. 使用 Docker 部署(推荐)
docker compose --profile http up -d

# 3. 验证部署
curl http://localhost:8001/health  # Indexer
curl http://localhost:8002/health  # Manager

有关详细的安装说明,请参阅 安装指南

🎛️ 服务器管理

使用内置的服务器管理器进行轻松开发和测试:

# 启动所有 MCP 服务器
uvx --from fastmcp python -m src.wazuh_mcp_server.server_manager start-all

# 检查服务器状态
uvx --from fastmcp python -m src.wazuh_mcp_server.server_manager status

# 停止所有服务器
uvx --from fastmcp python -m src.wazuh_mcp_server.server_manager stop-all

# 启动单个服务器
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 Indexer MCP 服务器(端口 8001) - 搜索、警报、分析
  • Wazuh Manager MCP 服务器(端口 8002) - 代理、规则、管理

🚀 传输模式

  • HTTP 模式 - 生产 REST API(端口 8001/8002)
  • SSE 模式 - 实时 Server-Sent Events(端口 8003/8004)
  • STDIO 模式 - 直接 MCP 客户端集成

有关详细的架构和配置,请参阅:

🔧 功能

  • 全面的 Wazuh 集成 - 完全访问 Wazuh Manager 和 Indexer API
  • 多传输支持 - HTTP、SSE 和 STDIO 模式适用于不同的使用场景
  • 模块化架构 - 清晰分离职责的服务层
  • 生产就绪 - 带有健康检查和监控的 Docker 部署
  • MCP 兼容 - 与 Model Context Protocol 客户端的原生集成
  • 丰富的工具集 - 140 多种工具用于安全分析、代理管理和系统监控

可用工具

Wazuh Indexer 工具(36 个工具):

  • 警报搜索和分析
  • 漏洞管理
  • 集群健康监控
  • 索引管理
  • 搜索聚合

Wazuh Manager 工具(106 个工具):

  • 代理管理和监控
  • 规则和解码器管理
  • 组和配置管理
  • 安全合规性(SCA、CIS-CAT)
  • 系统监控(Syscheck、Rootcheck)

有关完整的工具文档,请参阅 工具参考

🤝 贡献

我们欢迎贡献!请参阅我们的 开发指南

  • 开发环境设置
  • 代码风格指南
  • 测试程序
  • 拉取请求流程

📄 许可

此项目根据 MIT 许可证发布 - 详情请参阅 LICENSE 文件。

🆘 支持

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

🎯 项目状态

✅ 生产就绪 - Wazuh MCP 服务器完全功能,并准备好用于生产使用,带有全面的文档、Docker 部署和多传输支持。