There are two ways to use Prowler MCP Server:
Option 1: Managed by Prowler No installation required - Just configurationUse https://mcp.prowler.com/mcp
Option 2: Run Locally Local installation - Full controlInstall via Docker, PyPI, or source code
For “Option 1: Managed by Prowler”, go directly to the Configuration Guide to set up your Claude Desktop, Cursor, or other MCP client.
This guide is focused on local installation, “Option 2: Run Locally” .
Installation Methods
Choose one of the following installation methods:
Pull from Docker Hub The easiest way to run locally is using the official Docker image: docker pull prowlercloud/prowler-mcp
Run the Container # STDIO mode (for local MCP clients)
docker run --rm -i prowlercloud/prowler-mcp
# HTTP mode (for remote access)
docker run --rm -p 8000:8000 \
prowlercloud/prowler-mcp \
--transport http --host 0.0.0.0 --port 8000
With Environment Variables docker run --rm -i \
-e PROWLER_APP_API_KEY="pk_your_api_key" \
-e PROWLER_API_BASE_URL="https://api.prowler.com" \
prowlercloud/prowler-mcp
Install via pip Coming Soon - PyPI package will be available shortly
Install uv If uv is not installed, install it first. Visit uv documentation for more installation options. Clone the Repository git clone https://github.com/prowler-cloud/prowler.git
cd prowler/mcp_server
Install Dependencies The MCP server uses uv for dependency management. Install dependencies with: Verify Installation Test that the server is properly installed: uv run prowler-mcp --help
The help message with available command-line options should appear. For Development: This method is recommended if you’re developing or contributing to the MCP server.
Prerequisites Ensure Docker is installed on your system. Visit Docker documentation for more installation options. Clone the Repository git clone https://github.com/prowler-cloud/prowler.git
cd prowler/mcp_server
Build the Docker Image docker build -t prowler-mcp .
This creates a Docker image named prowler-mcp with all necessary dependencies. Verify Installation Test that the Docker image was built successfully: docker run --rm prowler-mcp --help
The help message with available command-line options should appear.
Command Line Options
The Prowler MCP Server supports the following command-line arguments:
prowler-mcp [--transport {stdio,http}] [--host HOST] [--port PORT]
Argument Values Default Description --transportstdio, httpstdioTransport method for MCP communication --hostAny valid hostname/IP 127.0.0.1Host to bind to (HTTP mode only) --portPort number 8000Port to bind to (HTTP mode only)
Examples
# Default STDIO mode for local MCP client integration
prowler-mcp
# Explicit STDIO mode
prowler-mcp --transport stdio
# HTTP mode on default host and port (127.0.0.1:8000)
prowler-mcp --transport http
# HTTP mode accessible from any network interface
prowler-mcp --transport http --host 0.0.0.0
# HTTP mode with custom port
prowler-mcp --transport http --host 0.0.0.0 --port 8080
Environment Variables
Configure the server using environment variables:
Variable Description Required Default PROWLER_APP_API_KEYProwler API key Only for STDIO mode - PROWLER_API_BASE_URLCustom Prowler API endpoint No https://api.prowler.comPROWLER_MCP_TRANSPORT_MODEDefault transport mode (overwritten by --transport argument) No stdio
macOS/Linux
Windows PowerShell
export PROWLER_APP_API_KEY = "pk_your_api_key_here"
export PROWLER_API_BASE_URL = "https://api.prowler.com"
export PROWLER_MCP_TRANSPORT_MODE = "http"
Never commit your API key to version control. Use environment variables or secure secret management solutions.
Using Environment Files
For convenience, create a .env file in the mcp_server directory:
PROWLER_APP_API_KEY = pk_your_api_key_here
PROWLER_API_BASE_URL = https://api.prowler.com
PROWLER_MCP_TRANSPORT_MODE = stdio
When using Docker, pass the environment file:
docker run --rm --env-file .env -it prowler-mcp
Running from Any Location
Run the MCP server from anywhere using uvx:
uvx /path/to/prowler/mcp_server/
This is particularly useful when configuring MCP clients that need to launch the server from a specific path.
Production Deployment
For production deployments that require customization, it is recommended to use the ASGI application that can be found in prowler_mcp_server.server. This can be run with uvicorn:
uvicorn prowler_mcp_server.server:app --host 0.0.0.0 --port 8000
For more details on production deployment options, see the FastMCP production deployment guide and uvicorn settings .
Entrypoint Script
The source tree includes entrypoint.sh to simplify switching between the
standard CLI runner and the ASGI app. The first argument selects the mode and
any additional flags are passed straight through:
# Default CLI experience (prowler-mcp console script)
./entrypoint.sh main --transport http --host 0.0.0.0
# ASGI app via uvicorn
./entrypoint.sh uvicorn --host 0.0.0.0 --port 9000
Omitting the mode defaults to main, matching the prowler-mcp console script.
When uvicorn mode is selected, the script exports PROWLER_MCP_TRANSPORT_MODE=http automatically.
This is the default entrypoint for the Docker container.
Next Steps
Now that you have the Prowler MCP Server installed, proceed to configure your MCP client:
Getting Help
If you encounter issues during installation: