feat(mcp_server): add provider management tools #9350
+757
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context
This PR extends PR #9300's new MCP server architecture with provider management capabilities.
PR #9300 introduced a modular, workflow-based MCP server design optimized for AI agents (Lighthouse AI). This PR builds on that foundation by adding tools for managing cloud provider connections.
Builds on top of PR #9300
Description
Summary
Adds provider management capabilities to the new Prowler App MCP server, enabling AI agents to search, connect, and manage cloud provider integrations.
New Tools (3 total)
1. search_cloud_providers
Search and view configured cloud providers with filtering and pagination.
Features:
2. connect_provider
Complete provider onboarding workflow in a single operation.
Features:
3. delete_provider
Permanently remove a provider from Prowler.
Features:
New Files
models/providers.py (128 lines)
Pydantic models for provider data:
SimplifiedProvider: Basic provider infoDetailedProvider: Extended info with temporal dataProvidersListResponse: Paginated list wrapperProviderConnectionStatus: Connection test resultsAll models include
from_api_response()for JSON:API transformation.tools/providers.py (568 lines)
Provider management tools implementation:
Architecture
api_client.pyfor consistent HTTP operationsToken Optimization
Steps to review
Review provider models -
mcp_server/prowler_mcp_server/prowler_app/models/providers.pyReview provider tools -
mcp_server/prowler_mcp_server/prowler_app/tools/providers.pyReview API client updates -
mcp_server/prowler_mcp_server/prowler_app/utils/api_client.pypoll_task_until_complete()methodIntegration testing
Security review
Checklist
UI
API
License
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.