prowler-mcp
Assists in building Prowler MCP server tools by enforcing BaseTool patterns and model design standards.
Install
mkdir -p .claude/skills/prowler-mcp && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/8017" && unzip -o skill.zip -d .claude/skills/prowler-mcp && rm skill.zipInstalls to .claude/skills/prowler-mcp
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
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.Key capabilities
- →Extend BaseTool for tool implementation
- →Use MinimalSerializerMixin for models
- →Implement from_api_response() factory method
- →Use self.api_client singleton for API calls
- →Apply @mcp.tool() decorator for Hub/Docs tools
How it works
The skill details critical rules for implementing Prowler tools, designing models, and using the API client within the MCP Server.
Inputs & outputs
When to use prowler-mcp
- →Implement new MCP tools in the Prowler server
- →Apply MinimalSerializerMixin to API responses
- →Register new tools using the BaseTool pattern
About this skill
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 viatool_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
MinimalSerializerMixinfor 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_clientsingleton - 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/extendingBaseTool - Create models in
prowler_app/models/usingMinimalSerializerMixin - Tools auto-register via
tool_loader.py
QA Checklist (Prowler Tools)
- Tool docstrings describe LLM-relevant behavior
- Models use
MinimalSerializerMixin - API responses transformed to simplified models
- Error handling returns
{"error": str, "status": "failed"} - Parameters use
Field()with descriptions - No hardcoded secrets
- Tests added under
mcp_server/tests/
Resources
- Full Guide: docs/developer-guide/mcp-server.mdx
- Templates: See assets/ for tool and model templates
- Testing: See prowler-test-mcp for fixtures and test patterns
When not to use it
- →When not working on Prowler MCP Server tools
- →When not creating models for Prowler MCP Server
Limitations
- →Specific to Prowler MCP Server development
- →Rules apply primarily to Prowler tools, not Hub/Docs tools
How it compares
This skill provides specific architectural patterns and rules for Prowler MCP tool development, unlike general programming guidance.
Compared to similar skills
prowler-mcp side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| prowler-mcp (this skill) | 0 | 6mo | No flags | Advanced |
| mcp-builder | 136 | 3mo | Review | Advanced |
| copilot-sdk | 7 | 4mo | Review | Intermediate |
| openrouter-function-calling | 5 | 27d | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by prowler-cloud
View all by prowler-cloud →You might also like
mcp-builder
anthropics
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
copilot-sdk
github
Build agentic applications with GitHub Copilot SDK. Use when embedding AI agents in apps, creating custom tools, implementing streaming responses, managing sessions, connecting to MCP servers, or creating custom agents. Triggers on Copilot SDK, GitHub SDK, agentic app, embed Copilot, programmable agent, MCP server, custom agent.
openrouter-function-calling
jeremylongshore
Implement function/tool calling with OpenRouter models. Use when building agents or structured outputs. Trigger with phrases like 'openrouter functions', 'openrouter tools', 'openrouter agent', 'function calling'.
agentica-server
parcadei
Agentica server + Claude proxy setup - architecture, startup sequence, debugging
mcp-developer
Jeffallan
Use when building MCP servers or clients that connect AI systems with external tools and data sources. Invoke for MCP protocol compliance, TypeScript/Python SDKs, resource providers, tool functions.
create-mcp-servers
glittercowboy
Create Model Context Protocol (MCP) servers that expose tools, resources, and prompts to Claude. Use when building custom integrations, APIs, data sources, or any server that Claude should interact with via the MCP protocol. Supports both TypeScript and Python implementations.