wazuh-mcp-server

RayaSatriatama/wazuh-mcp-server

3.3

If you are the rightful owner of wazuh-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Wazuh MCP Server provides seamless integration between the Wazuh security platform and AI applications through the Model Context Protocol (MCP) framework.

Tools
5
Resources
0
Prompts
0

Wazuh MCP Server

Model Context Protocol (MCP) servers for Wazuh services, providing seamless integration between Wazuh security platform and AI applications through the MCP framework.

šŸš€ Quick Start

Get started in 5 minutes with our comprehensive documentation:

  • - Start here for complete guide
  • - 5-minute setup
  • - Production deployment
  • - Complete API documentation
  • - Configuration reference
  • - All available tools
  • - Detailed installation
  • - Common issues and solutions

šŸ“ Project Structure

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

Features

  • Self-Contained: Each MCP server has its own complete module structure
  • Modular Architecture: Clean separation of concerns within each server
  • Docker Ready: Deployable via Docker Compose
  • Warning Suppression: Deprecation and runtime warnings are filtered
  • Local Imports: All imports are relative to prevent external dependencies
  • Clean Logging: Production-ready log output with reduced verbosity

Logging

The MCP servers use structured logging with the following levels:

  • ERROR: Authentication failures, connection errors, critical issues
  • WARNING: JWT expiration, recoverable issues, deprecated usage
  • INFO: Startup messages, connection success, tool registration summaries
  • DEBUG: Data fetching operations, detailed API interactions (disabled by default)

Log Output Examples

āœ… 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

Verbose debug logging (API requests, data fetching operations) has been moved to DEBUG level to reduce log noise while maintaining troubleshooting capabilities when needed.

Architecture Changes

Tool Migration

The tools have been restructured for better organization:

  • Wazuh Indexer tools are located in wazuh_indexer/tools/
  • Wazuh Manager tools are located in wazuh_manager/tools/

Import Cleanup

  • Removed external imports: from utils.logger import logger
  • Removed external imports: from config.wazuh_config import WazuhConfig
  • Removed configuration instantiation: config = WazuhConfig()
  • Updated to use centralized service instances set by servers

Service Integration

Each MCP server now:

  1. Creates its own service instance (WazuhIndexerMCPService/WazuhManagerMCPService)
  2. Patches tool clients to use the centralized service
  3. Imports and registers tools using relative imports
  4. Handles all configuration through environment variables

⚔ Quick Installation

# 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

For detailed installation instructions, see the .

šŸŽ›ļø Server Management

Use the built-in server manager for easy development and testing:

# 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

šŸ—ļø Architecture

The Wazuh MCP Server provides two main services:

  • Wazuh Indexer MCP Server (Port 8001) - Search, alerts, analytics
  • Wazuh Manager MCP Server (Port 8002) - Agents, rules, management

šŸš€ Transport Modes

  • HTTP Mode - Production REST API (ports 8001/8002)
  • SSE Mode - Real-time Server-Sent Events (ports 8003/8004)
  • STDIO Mode - Direct MCP client integration

For detailed architecture and configuration, see:

šŸ”§ Features

  • Comprehensive Wazuh Integration - Full access to Wazuh Manager and Indexer APIs
  • Multi-Transport Support - HTTP, SSE, and STDIO modes for different use cases
  • Modular Architecture - Clean separation of concerns with service layers
  • Production Ready - Docker deployment with health checks and monitoring
  • MCP Compatible - Native integration with Model Context Protocol clients
  • Rich Tool Set - 140+ tools for security analysis, agent management, and system monitoring

Available Tools

Wazuh Indexer Tools (36 tools):

  • Alert search and analytics
  • Vulnerability management
  • Cluster health monitoring
  • Index management
  • Search aggregations

Wazuh Manager Tools (106 tools):

  • Agent management and monitoring
  • Rule and decoder management
  • Group and configuration management
  • Security compliance (SCA, CIS-CAT)
  • System monitoring (Syscheck, Rootcheck)

For complete tool documentation, see .

šŸ¤ Contributing

We welcome contributions! Please see our for:

  • Development environment setup
  • Code style guidelines
  • Testing procedures
  • Pull request process

šŸ“„ License

This project is licensed under the MIT License - see the file for details.

šŸ†˜ Support

  • Documentation: folder contains comprehensive guides
  • Issues: Report bugs and feature requests on GitHub Issues
  • Troubleshooting: See

šŸŽÆ Project Status

āœ… PRODUCTION READY - The Wazuh MCP Server is fully functional and ready for production use with comprehensive documentation, Docker deployment, and multi-transport support.