Commit Graph

16 Commits

Author SHA1 Message Date
Gianluca Brigandi
005e5f89a4 * Using latest 0.1.8 wazuh-client-rs craate which fixes issue with
ordering: (#17)
* Improved unmarshaling for indexer responses
* Other minor changes.
2025-12-05 15:52:19 -08:00
Gianluca Brigandi
8a6bd9e3c6 feat: Refactor tools and upgrade wazuh-client
This commit introduces a major refactoring of the tool implementation by splitting the tools into separate modules based on their domain (agents, alerts, rules, stats, vulnerabilities). This improves modularity and
maintainability.

Key changes:
- Upgraded wazuh-client to version 0.1.7 to leverage the new builder pattern for client instantiation.
- Refactored the main WazuhToolsServer to delegate tool calls to the new domain-specific tool modules.
- Created a tools module with submodules for each domain, each containing the relevant tool implementations and parameter structs.
- Updated the default limit for most tools from 100 to 300, while the vulnerability summary limit is set to 10,000 to ensure comprehensive scans.
- Removed a problematic manual test from the test script that was causing it to hang.
2025-07-10 14:56:37 -07:00
Gianluca Brigandi
4493362932 Improved design by factoring out tool-speciic logic into their own
module leaving the main MCP server entrypoint as just a dispatcher of
the former.
2025-06-27 09:32:31 -07:00
Gianluca Brigandi
50fd6f0608 Fixed get_wazuh_log_collector_stats mcp tool 2025-06-25 17:04:55 -07:00
Gianluca Brigandi
10391710aa several fixes and improvements around playing nice with MCP tool selection and parametrization. 2025-06-25 15:52:07 -07:00
Gianluca Brigandi
882995238a Upgraded to latest wazuh client that fixes fetching critical vulnerabilities 2025-06-24 12:03:58 -07:00
Gianluca Brigandi
dda46a77f3 feat: comprehensive Wazuh integration with Docker CI/CD and expanded security operations
Major enhancements:
- Added Docker image building and publishing to GitHub Container Registry with multi-platform support (linux/amd64, linux/arm64)
- Expanded from basic alert retrieval to comprehensive security operations with 14 MCP tools covering:
  * Vulnerability management (agent vulnerability summaries, critical vulnerabilities)
  * Agent monitoring (running agents, processes, network ports)
  * System statistics (weekly stats, remoted stats, log collector stats)
  * Log analysis (manager logs, error logs with search capabilities)
  * Cluster management (health checks, node listing)
- Updated environment configuration to support both Wazuh Manager API and Wazuh Indexer with proper SSL handling
- Enhanced documentation with detailed use cases, Docker deployment options, and comprehensive tool descriptions
- Upgraded wazuh-client dependency to v0.1.1 for expanded API capabilities
- Added agent ID formatting and validation for consistent three-digit zero-padded identifiers

This transforms the server from a simple alert fetcher into a full-featured security operations platform for AI-assisted Wazuh management.
2025-06-18 16:50:26 -07:00
Gianluca Brigandi
2f1f6c3b3d fixed minor issues with passing configuration as environment variables. 2025-06-18 08:16:23 -07:00
Gianluca Brigandi
7161de3dde feat: migrate to wazuh-client crate and add rules tool
- Replace custom WazuhIndexerClient with wazuh-client crate
- Remove ~150 lines of duplicate code from src/wazuh/ directory
- Add get_wazuh_rules_summary tool with filtering by level/group/filename
- Implement factory pattern for consistent client creation
- Add support for separate WAZUH_API_PORT and WAZUH_INDEXER_PORT
- Maintain backward compatibility with existing environment variables
- Enable access to comprehensive Wazuh API clients (agents, rules, config, etc.)
- Add compliance framework mappings (GDPR, HIPAA, PCI DSS, NIST 800-53)
- All tests passing (19/19) with clean compilation
2025-06-17 23:01:30 -07:00
Gianluca Brigandi
138ae66201 Replaced bespoke indexer client with full fledges indexer and manager API crate. 2025-06-17 22:46:55 -07:00
Gianluca Brigandi
d59d67b8db * Ported code to RMCP
* Implemented unit and e2e testing
* Other fixes and enhancements
2025-05-22 20:02:41 -07:00
Gianluca Brigandi
3897d3f772 Port mcp-server-wazuh to rmcp framework
- Replaced custom MCP implementation with rmcp framework
- Simplified architecture to use stdio transport only
- Implemented WazuhToolsServer with #[tool(tool_box)] attribute
- Added get_wazuh_alert_summary tool with proper parameter schema
- Removed HTTP transport and axum dependencies
- Updated README with new installation and usage instructions
- Maintained compatibility with existing Wazuh Indexer client
- Simplified error handling by removing axum-specific code
2025-05-22 16:24:11 -07:00
Gianluca Brigandi
fcdf4b7b68 Improved documentation 2025-05-15 16:21:46 -07:00
Gianluca Brigandi
7b8ecabb93 Added support for handling initialized and exit notifications 2025-05-12 20:31:34 -07:00
Gianluca Brigandi
f01cbacb18 Wazuh MCP server successfully tested with Claude 2025-05-12 19:29:09 -07:00
Gianluca Brigandi
ce2460928a first commit 2025-05-07 11:16:24 -07:00