Skip to main content 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.
npx skills add prowler-cloud/prowler --skill prowler-mcp Read, Edit, Write, Glob, Grep, Bash, WebFetch, WebSearch, Task security security-tools security-audit security-hardening hardening aws
Overview
The Prowler MCP Server uses three sub-servers with prefixed namespacing:
Sub-Server Prefix Auth Purpose Prowler prowler_*Required Prowler Cloud, Private Cloud & Local Server 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 .
Critical Rules (Prowler Tools Only)
Tool Implementation
ALWAYS : Extend BaseTool (auto-registered via tool_loader.py, only public methods from the class are exposed as a tool)
NEVER : Manually register BaseTool subclasses
NEVER : Import tools directly in server.py
Models
ALWAYS : Use MinimalSerializerMixin for responses
ALWAYS : Implement from_api_response() factory method
ALWAYS : Use two-tier models (Simplified for lists, Detailed for single items)
NEVER : Return raw API responses
API Client
ALWAYS : Use self.api_client singleton
ALWAYS : Use build_filter_params() for query parameters
NEVER : Create new httpx clients
Hub/Docs Tools Use @mcp.tool() decorator directly—no BaseTool or models required.
Quick Reference: New Prowler Tool
Create tool class in prowler_app/tools/ extending BaseTool
Create models in prowler_app/models/ using MinimalSerializerMixin
Tools auto-register via tool_loader.py
QA Checklist (Prowler Tools)
Resources Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).