Creates MCP tools for Prowler MCP Server. Covers BaseTool pattern, model design, and API client usage. Trigger: When working in mcp_server/ on tools (BaseTool), models (MinimalSerializerMixin/from_api_response), or API client patterns.
The Prowler MCP Server uses three sub-servers with prefixed namespacing:
| Sub-Server | Prefix | Auth | Purpose |
|---|---|---|---|
| Prowler App | prowler_app_* | Required | Cloud management tools |
| Prowler Hub | prowler_hub_* | No | Security checks catalog |
| Prowler Docs | prowler_docs_* | No | Documentation search |
For complete architecture, patterns, and examples, see docs/developer-guide/mcp-server.mdx.
BaseTool (auto-registered via tool_loader.py, only public methods from the class are exposed as a tool)MinimalSerializerMixin for responsesfrom_api_response() factory methodself.api_client singletonbuild_filter_params() for query parametersUse @mcp.tool() decorator directly—no BaseTool or models required.
prowler_app/tools/ extending BaseToolprowler_app/models/ using MinimalSerializerMixintool_loader.pyMinimalSerializerMixin{"error": str, "status": "failed"}Field() with descriptions