From b6d49416f01e042509eca0d42580e7f543872bd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20De=20la=20Torre=20Vico?= Date: Tue, 28 Oct 2025 16:36:20 +0100 Subject: [PATCH] docs(mcp): add specific tutorial per famouse MCP Host (#9036) --- .../basic-usage/prowler-mcp.mdx | 94 ++++++++++++++----- docs/getting-started/products/prowler-mcp.mdx | 53 +++++++++++ 2 files changed, 122 insertions(+), 25 deletions(-) diff --git a/docs/getting-started/basic-usage/prowler-mcp.mdx b/docs/getting-started/basic-usage/prowler-mcp.mdx index 5d89756acf..b6d59093e7 100644 --- a/docs/getting-started/basic-usage/prowler-mcp.mdx +++ b/docs/getting-started/basic-usage/prowler-mcp.mdx @@ -4,7 +4,7 @@ title: "Configuration" Configure your MCP client to connect to Prowler MCP Server. -## Step 1: Get Your API Key (Optional) +## Step 1: Get Your API Key **Authentication is optional**: Prowler Hub and Prowler Documentation features work without authentication. An API key is only required for Prowler Cloud and Prowler App (Self-Managed) features. @@ -16,21 +16,17 @@ To use Prowler Cloud or Prowler App (Self-Managed) features. To get the API key, Keep the API key secure. Never share it publicly or commit it to version control. -## Step 2: Configure Your MCP Client +## Step 2: Configure Your MCP Host/Client Choose the configuration based on your deployment: -- **STDIO Mode**: Local installation only (runs as subprocess). - **HTTP Mode**: Prowler Cloud MCP Server or self-hosted Prowler MCP Server. +- **STDIO Mode**: Local installation only (runs as subprocess of your MCP client). -### HTTP Mode (Prowler Cloud MCP Server or self-hosted Prowler MCP Server) +### HTTP Mode - - **Clients that support HTTP with custom headers natively** - - For example: Cursor, VSCode, LobeChat, etc. - + **Configuration:** ```json { @@ -38,20 +34,15 @@ Choose the configuration based on your deployment: "prowler": { "url": "https://mcp.prowler.com/mcp", // or your self-hosted Prowler MCP Server URL "headers": { - "Authorization": "Bearer pk_your_api_key_here" + "Authorization": "Bearer " } } } } ``` - - - **For clients without native HTTP support (like Claude Desktop)** - - For example: Claude Desktop. - + **Configuration:** ```json { @@ -65,26 +56,79 @@ Choose the configuration based on your deployment: "Authorization: Bearer ${PROWLER_APP_API_KEY}" ], "env": { - "PROWLER_APP_API_KEY": "pk_your_api_key_here" + "PROWLER_APP_API_KEY": "" } } } } ``` - The `mcp-remote` tool acts as a bridge for clients that don't support HTTP natively. Learn more at [mcp-remote on npm](https://www.npmjs.com/package/mcp-remote). - + + + 1. Open Claude Desktop settings + 2. Go to "Developer" tab + 3. Click in "Edit Config" button + 4. Edit the `claude_desktop_config.json` file with your favorite editor + 5. Add the following configuration: + ```json + { + "mcpServers": { + "prowler": { + "command": "npx", + "args": [ + "mcp-remote", + "https://mcp.prowler.com/mcp", + "--header", + "Authorization: Bearer ${PROWLER_APP_API_KEY}" + ], + "env": { + "PROWLER_APP_API_KEY": "" + } + } + } + } + ``` + + + + Run the following command: + ```bash + export PROWLER_APP_API_KEY="" + claude mcp add --transport http prowler https://mcp.prowler.com/mcp --header "Authorization: Bearer $PROWLER_APP_API_KEY" --scope user + ``` + + + + 1. Open Cursor settings + 2. Go to "Tools & MCP" + 3. Click in "New MCP Server" button + 4. Add to the JSON Configuration the following: + ```json + { + "mcpServers": { + "prowler": { + "url": "https://mcp.prowler.com/mcp", + "headers": { + "Authorization": "Bearer " + } + } + } + } + ``` + + + -### STDIO Mode (Local Installation Only) +### STDIO Mode STDIO mode is only available when running the MCP server locally. - + **Run from source or local installation** ```json @@ -94,7 +138,7 @@ STDIO mode is only available when running the MCP server locally. "command": "uvx", "args": ["/absolute/path/to/prowler/mcp_server/"], "env": { - "PROWLER_APP_API_KEY": "pk_your_api_key_here", + "PROWLER_APP_API_KEY": "", "PROWLER_API_BASE_URL": "https://api.prowler.com" } } @@ -108,7 +152,7 @@ STDIO mode is only available when running the MCP server locally. - + **Run with Docker image** ```json @@ -121,7 +165,7 @@ STDIO mode is only available when running the MCP server locally. "--rm", "-i", "--env", - "PROWLER_APP_API_KEY=pk_your_api_key_here", + "PROWLER_APP_API_KEY=", "--env", "PROWLER_API_BASE_URL=https://api.prowler.com", "prowlercloud/prowler-mcp" @@ -154,7 +198,7 @@ Prowler MCP Server supports two authentication methods to connect to Prowler Clo Use your Prowler API key directly in the Bearer token: ``` -Authorization: Bearer pk_your_api_key_here +Authorization: Bearer ``` This is the recommended method for most users. diff --git a/docs/getting-started/products/prowler-mcp.mdx b/docs/getting-started/products/prowler-mcp.mdx index cb97efd5ba..40d627007c 100644 --- a/docs/getting-started/products/prowler-mcp.mdx +++ b/docs/getting-started/products/prowler-mcp.mdx @@ -61,6 +61,59 @@ The Prowler MCP Server enables powerful workflows through AI assistants: - "What authentication methods does Prowler support for Azure?" - "How can I contribute with a new security check to Prowler?" +### Example: Creating a custom dashboard with Prowler extracted data + +In the next example you can see how to create a dashboard using Prowler MCP Server and Claude Desktop. + +**Used Prompt:** +``` +Generate me a security dashboard for the Prowler open source project using live data from Prowler MCP tools. + +REQUIREMENTS: +1. Fetch real-time data from Prowler Findings using MCP tools +2. Create a single self-contained HTML file and display it +3. Dashboard must be production-ready with modern design + +DATA TO FETCH: +Use these MCP tools in this order: +1. Prowler app list providers - To get all available configured provider in the account +2. Prowler app get latest findings - To get findings information, if there are so many you can use the filter_fields to get less information, or pagination to get in different batches +3. For most critical findings you can get more context and remediation with Prowler Hub to get remediations for example + +DESIGN REQUIREMENTS: +- Dark theme (gradient background: #0a0e27 to #131830) +- Card-based layout with glassmorphism effects +- Color scheme: + * Primary green + * Secondary purple +- Modern, professional look +- Animated "LIVE DATA" indicator (pulsing green badge) +- Hover effects on all cards (lift, glow, border color change) +- Responsive grid layout +- Mobile-responsive breakpoints at 768px +- Single HTML file with all CSS and JavaScript embedded +- No external dependencies + +SPECIFIC DETAILS TO INCLUDE: +- Show actual counts from the data (don't hardcode numbers) +- Add timestamp showing when dashboard was generated +- Link to GitHub repository: https://github.com/prowler-cloud/prowler + +OUTPUT: +Generate the complete HTML file and display it +``` + +**Video:** + + + ## Deployment Options Prowler MCP Server can be used in three ways: