Skip to content
Security
Skill

/prowler-mcp

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.

From plugin
prowler
15k39 skills1 MCP
Install
$ npx -y skills add prowler-cloud/prowler --skill prowler-mcp --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/prowler-mcp

Context preview

The summary Claude sees to decide when to auto-load this skill.

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.

SKILL.md

prowler-mcp.SKILL.md
name: prowler-mcp
description: >
  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.
license: Apache-2.0
metadata:
  author: prowler-cloud
  version: "1.0"
  scope: [root, mcp_server]
  auto_invoke: "Working on MCP server tools"
allowed-tools: Read, Edit, Write, Glob, Grep, Bash, WebFetch, WebSearch, Task

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](../../../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

  • **Full Guide**: [docs/developer-guide/mcp-server.mdx](../../docs/developer-guide/mcp-server.mdx)
  • **Templates**: See [assets/](assets/) for tool and model templates
  • **Testing**: See [prowler-test-mcp](../prowler-test-mcp/SKILL.md) for fixtures and test patterns
Read more
Ships withprowler

Prowler is the world’s most widely used Open-Source Cloud Security Platform that automates security and compliance across any cloud environment.

Get the whole plugin
Stats
14,557
Stars
2,311
Forks
Active
Maintenance
Python
Language
Apache-2.0
License
33m ago
Last commit
9y ago
Created

Repo: prowler-cloud/prowler