Commit Graph

43 Commits

Author SHA1 Message Date
Gianluca Brigandi
4db8ebe635 Upgrade to rmcp 0.10 with Streamable HTTP transport support
- Upgrade rmcp from 0.1.5 to 0.10.0
  - Add Streamable HTTP transport with SSE for remote server deployment
  - Update to MCP protocol version 2025-06-18
  - Add CLI arguments: --transport, --host, --port
  - Fix server identity to show actual package name/version
  - Add comprehensive HTTP transport tests
  - Update documentation with transport modes and usage
  - Bump version to 0.3.0
2025-12-05 21:03:03 -08:00
Gianluca Brigandi
c706f1a824 Minor corrections to README.md 2025-12-05 18:41:32 -08:00
Gianluca Brigandi
50f2fc968d debug: add certificate import diagnostics
Rollback conditional signing and add debugging to identify why
"0 valid identities found" error occurs. This will help diagnose:
- Whether APPLE_CERTIFICATE_BASE64 is properly set
- Whether the .p12 file is valid
- What certificates/identities are imported
v0.2.5
2025-12-05 17:55:55 -08:00
Gianluca Brigandi
54be3b63c3 fix: use job-level env vars for conditional Apple signing
GitHub Actions doesn't allow accessing secrets context directly in
step-level 'if' conditions. This fix uses job-level environment
variables to expose boolean flags from secrets, which can then be
checked in step conditions.
2025-12-05 16:25:52 -08:00
Gianluca Brigandi
4dd143af44 Make macOS code signing optional when secrets not configured
Skip signing and notarization steps if Apple secrets are not set,
allowing the release workflow to succeed without code signing.
2025-12-05 16:22:47 -08:00
Gianluca Brigandi
960ee12f19 Bump version to 0.2.5 2025-12-05 16:08:49 -08:00
Gianluca Brigandi
80b0078a7f Added MacOS code signing and notarization 2025-12-05 16:08:03 -08:00
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.
v0.2.4
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 v0.2.3 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
0b12a0cc15 Added glama.json file 2025-06-24 14:11:28 -07:00
Gianluca Brigandi
abd9fc6468 version bump to 0.2.3 2025-06-24 12:18:35 -07:00
Gianluca Brigandi
882995238a Upgraded to latest wazuh client that fixes fetching critical vulnerabilities v0.2.2 2025-06-24 12:03:58 -07:00
Gianluca Brigandi
830b815c02 release bump 2025-06-23 14:33:40 -07:00
Gianluca Brigandi
27071ff32c Bumped Wazuh API version which fixes vulnerability fetching v0.2.1 2025-06-23 12:37:33 -07:00
Gianluca Brigandi
258d01912d fix v0.2.0 2025-06-18 18:22:09 -07:00
Gianluca Brigandi
ee2f88d0e3 addressing opessl issue 2025-06-18 17:49:13 -07:00
Gianluca Brigandi
ca8308ecaa Using used wazuh-client-rs with rusttls support 2025-06-18 17:34:46 -07:00
Gianluca Brigandi
e13d397400 Bumped to new 0.2.0 version 2025-06-18 17:02:05 -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
v0.1.2
2025-05-22 20:02:41 -07:00
Gianluca Brigandi
6661523c0f Update README with correct MCP flow for rmcp implementation
- Aligned initialize response with actual rmcp server output
- Updated tools/list response to match real JSON schema format
- Corrected tool name from 'wazuhAlerts' to 'get_wazuh_alert_summary'
- Added proper MCP content format with text type responses
- Included error response examples for connection failures
- Updated tool call examples with correct parameter structure
- Removed outdated outputSchema references (not used in rmcp)
- Added proper JSON schema format with draft-07 specification
2025-05-22 16:39:13 -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
70f40925fe remove redundant Claude configuration 2025-05-15 18:57:48 -07:00
Gianluca Brigandi
8a916aad2d removed somehow redundant features section 2025-05-15 18:56:08 -07:00
Gianluca Brigandi
e4aabdf607 minor README.md changes 2025-05-15 18:54:51 -07:00
Gianluca Brigandi
35fdd20546 Enhanced documentation and pointing to releases page for installation 2025-05-15 18:52:36 -07:00
Gianluca Brigandi
3cd0cf2153 added permission v0.1.1 2025-05-15 18:36:31 -07:00
Gianluca Brigandi
dd37f9a4e6 automated builds v0.1.0 2025-05-15 18:29:10 -07:00
Gianluca Brigandi
c310f9f751 added screenshot 2025-05-15 16:45:52 -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
gbrigandi
ec498ce8c3 Update README.md 2025-05-07 11:30:10 -07:00
Gianluca Brigandi
f596d4aa79 fixed additional formatting issues with README.md 2025-05-07 11:27:41 -07:00
Gianluca Brigandi
3a34db3c41 minor fixes to the README 2025-05-07 11:23:39 -07:00
Gianluca Brigandi
a6a29aba3f fixed formatting issue 2025-05-07 11:21:44 -07:00
Gianluca Brigandi
ce2460928a first commit 2025-05-07 11:16:24 -07:00