--- title: 'Overview' --- Prowler Local Server is a self-hosted web application that simplifies running Prowler. It provides: - **User-friendly interface** for configuring and executing scans - Dashboard to **view results** and manage **security findings** ![Prowler Local Server](/images/products/overview.png) ## Components Prowler Local Server consists of four main components: - **Prowler UI**: User-friendly web interface for running Prowler and viewing results, powered by Next.js - **Prowler API**: Backend API that executes Prowler scans and stores results, built with Django REST Framework - **Prowler SDK**: Python SDK that integrates with Prowler CLI for advanced functionality - **Prowler MCP Server**: Model Context Protocol server that exposes AI tools for Lighthouse, the AI-powered security assistant. Required dependency for Lighthouse. Supporting infrastructure includes: - **PostgreSQL**: Persistent storage of scan results - **Celery Workers**: Asynchronous execution of Prowler scans - **Celery Beat (API Scheduler)**: Schedules recurring scans and enqueues jobs on the broker - **Valkey**: In-memory database serving as message broker for Celery workers - **Neo4j**: Graph database used by the Attack Paths feature to combine cloud inventory with Prowler findings (currently populated by AWS scans) ```mermaid flowchart TB user([User / Security Team]) cli([Prowler CLI]) subgraph APP["Prowler Local Server"] ui["Prowler UI
(Next.js)"] api["Prowler API
(Django REST Framework)"] worker["API Worker
(Celery)"] beat["API Scheduler
(Celery Beat)"] mcp["Prowler MCP Server
(Lighthouse AI tools)"] end sdk["Prowler SDK
(Python)"] subgraph DATA["Data Layer"] pg[("PostgreSQL")] valkey[("Valkey / Redis")] neo4j[("Neo4j")] end providers["Providers"] user --> ui user --> cli ui -->|REST| api ui -->|MCP HTTP| mcp mcp -->|REST| api api --> pg api --> valkey beat -->|enqueue jobs| valkey valkey -->|dispatch| worker worker --> pg worker -->|Attack Paths| neo4j worker -->|invokes| sdk cli --> sdk sdk --> providers ```