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.zip

Installs 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.
235 chars · catalog description✓ has a “when” trigger
Advanced

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

You give it
A request to create a new Prowler MCP tool or model
You get back
Guidance on tool implementation, model design, and API client usage

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-ServerPrefixAuthPurpose
Prowlerprowler_*RequiredProwler Cloud, Private Cloud & Local Server management tools
Prowler Hubprowler_hub_*NoSecurity checks catalog
Prowler Docsprowler_docs_*NoDocumentation 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

  1. Create tool class in prowler_app/tools/ extending BaseTool
  2. Create models in prowler_app/models/ using MinimalSerializerMixin
  3. 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

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.

SkillInstallsUpdatedSafetyDifficulty
prowler-mcp (this skill)06moNo flagsAdvanced
mcp-builder1363moReviewAdvanced
copilot-sdk74moReviewIntermediate
openrouter-function-calling527dReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

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).

136215

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.

763

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'.

539

agentica-server

parcadei

Agentica server + Claude proxy setup - architecture, startup sequence, debugging

25

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.

16

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.

15

Search skills

Search the agent skills registry