Wazuh MCP Server
Securely integrates Wazuh security data with LLMs (such as Claude Desktop) by retrieving alerts from Elasticsearch indices and transforming them into MCP-compliant format, enabling real-time security context in LLM applications.
unmuktoai
README
Wazuh MCP Server
A production-grade, open-source MCP server for integrating Wazuh security data with LLMs (such as the Claude Desktop App). This service authenticates with the Wazuh RESTful API, retrieves alerts from Elasticsearch indices, transforms events into an MCP-compliant JSON format, and exposes an HTTP endpoint for Claude Desktop to fetch real-time security context.
Features
- JWT-Based Authentication: Securely authenticate with Wazuh using JWT tokens.
- Alert Retrieval: Query Elasticsearch indices for Wazuh alert data.
- MCP Message Transformation: Convert security events into standardized MCP messages.
- Flask HTTP Server: Exposes an
/mcpendpoint for Claude Desktop integration. - Robust Error Handling: Handles token expiration, network timeouts, and malformed data.
- Configurable: Easily configure via environment variables and integrate with Claude Desktop via its config file.
Prerequisites
- Python 3.8+
- Access to a Wazuh API instance.
- (Optional) Claude Desktop configured to call the MCP server.
Installation
-
Clone the Repository:
git clone https://github.com/unmuktoai/Wazuh-MCP-Server.git cd Wazuh-MCP-Server
Create and Activate a Virtual Environment:
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
Install Dependencies:
pip install -r requirements.txt
Configuration Set the following environment variables to configure the MCP server:
WAZUH_HOST: Wazuh server hostname or IP.
WAZUH_PORT: Port for the Wazuh API (default: 55000).
WAZUH_USER: Wazuh API username.
WAZUH_PASS: Wazuh API password.
VERIFY_SSL: Set to "true" or "false" (default: false).
MCP_SERVER_PORT: Port on which the MCP server will run (default: 8000).
Example (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"
Running the Server Start the MCP server with:
python wazuh_mcp_server.py
The server will listen on all interfaces at the port specified by
MCP_SERVER_PORT.
Integration with Claude Desktop To integrate with Claude Desktop, update its configuration file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json Add the following entry under 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"
}
}
}
}
License This project is licensed under the MIT License.
Contributing Contributions are welcome! Please open issues or submit pull requests for improvements or bug fixes.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
React MCP
react-mcp integrates with Claude Desktop, enabling the creation and modification of React apps based on user prompts
AIO-MCP Server
🚀 All-in-one MCP server with AI search, RAG, and multi-service integrations (GitLab/Jira/Confluence/YouTube) for AI-enhanced development workflows. Folk from
Search1API MCP Server
A Model Context Protocol (MCP) server that provides search and crawl functionality using Search1API.
Supabase MCP Server (used by Deploya.dev)
Enables Cursor and Windsurf to safely interact with Supabase databases by providing tools for database management, SQL query execution, and Supabase Management API access with built-in safety controls.
Perplexity Server
Interacting with Perplexity API.
OpenRouter MCP Server
Provides integration with OpenRouter.ai, allowing access to various AI models through a unified interface.