diff --git a/docs/developer-guide/lighthouse-architecture.mdx b/docs/developer-guide/lighthouse-architecture.mdx index 38ee50c5b8..e8acc6278c 100644 --- a/docs/developer-guide/lighthouse-architecture.mdx +++ b/docs/developer-guide/lighthouse-architecture.mdx @@ -15,8 +15,7 @@ This document describes the internal architecture of Prowler Lighthouse AI, enab Lighthouse AI operates as a Langchain-based agent that connects Large Language Models (LLMs) with Prowler security data through the Model Context Protocol (MCP). -Prowler Lighthouse Architecture -Prowler Lighthouse Architecture +![Prowler Lighthouse Architecture](/images/lighthouse-architecture.png) ### Three-Tier Architecture diff --git a/docs/getting-started/products/prowler-lighthouse-ai.mdx b/docs/getting-started/products/prowler-lighthouse-ai.mdx index 6f197ae546..4e2eed8538 100644 --- a/docs/getting-started/products/prowler-lighthouse-ai.mdx +++ b/docs/getting-started/products/prowler-lighthouse-ai.mdx @@ -59,6 +59,10 @@ Prowler Lighthouse AI is powerful, but there are limitations: - **NextJS session dependence**: If your Prowler application session expires or logs out, Lighthouse AI will error out. Refresh and log back in to continue. - **Response quality**: The response quality depends on the selected LLM provider and model. Choose models with strong tool-calling capabilities for best results. We recommend `gpt-5` model from OpenAI. +## Architecture + +![Prowler Lighthouse Architecture](/images/lighthouse-architecture.png) + ## Extending Lighthouse AI Lighthouse AI retrieves data through Prowler MCP. To add new capabilities, extend the Prowler MCP Server with additional tools and Lighthouse AI discovers them automatically. diff --git a/docs/getting-started/products/prowler-mcp.mdx b/docs/getting-started/products/prowler-mcp.mdx index ea6fe8fcc0..762b088326 100644 --- a/docs/getting-started/products/prowler-mcp.mdx +++ b/docs/getting-started/products/prowler-mcp.mdx @@ -46,8 +46,7 @@ Search and retrieve official Prowler documentation: The following diagram illustrates the Prowler MCP Server architecture and its integration points: -Prowler MCP Server Schema -Prowler MCP Server Schema +![Prowler MCP Server Schema](/images/prowler_mcp_schema.png) The architecture shows how AI assistants connect through the MCP protocol to access Prowler's three main components: - Prowler Cloud/App for security operations diff --git a/docs/images/lighthouse-architecture-dark.png b/docs/images/lighthouse-architecture-dark.png deleted file mode 100644 index 0ed77712c5..0000000000 Binary files a/docs/images/lighthouse-architecture-dark.png and /dev/null differ diff --git a/docs/images/lighthouse-architecture-light.png b/docs/images/lighthouse-architecture-light.png deleted file mode 100644 index 076240ccb2..0000000000 Binary files a/docs/images/lighthouse-architecture-light.png and /dev/null differ diff --git a/docs/images/lighthouse-architecture.mmd b/docs/images/lighthouse-architecture.mmd new file mode 100644 index 0000000000..47407544e9 --- /dev/null +++ b/docs/images/lighthouse-architecture.mmd @@ -0,0 +1,37 @@ +flowchart TB + browser([Browser]) + + subgraph NEXTJS["Next.js Server"] + route["API Route
(auth + context assembly)"] + agent["LangChain Agent"] + + subgraph TOOLS["Agent Tools"] + metatools["Meta-tools
describe_tool / execute_tool / load_skill"] + end + + mcpclient["MCP Client
(HTTP transport)"] + end + + llm["LLM Provider
(OpenAI / Bedrock / OpenAI-compatible)"] + + subgraph MCP["Prowler MCP Server"] + app_tools["prowler_app_* tools
(auth required)"] + hub_tools["prowler_hub_* tools
(no auth)"] + docs_tools["prowler_docs_* tools
(no auth)"] + end + + api["Prowler API"] + hub["hub.prowler.com"] + docs["docs.prowler.com
(Mintlify)"] + + browser <-->|SSE stream| route + route --> agent + agent <-->|LLM API| llm + agent --> metatools + metatools --> mcpclient + mcpclient -->|MCP HTTP · Bearer token
for prowler_app_* only| app_tools + mcpclient -->|MCP HTTP| hub_tools + mcpclient -->|MCP HTTP| docs_tools + app_tools -->|REST| api + hub_tools -->|REST| hub + docs_tools -->|REST| docs diff --git a/docs/images/lighthouse-architecture.png b/docs/images/lighthouse-architecture.png new file mode 100644 index 0000000000..b2e8266154 Binary files /dev/null and b/docs/images/lighthouse-architecture.png differ diff --git a/docs/images/products/prowler-app-architecture.mmd b/docs/images/products/prowler-app-architecture.mmd index bfc687b82e..0c13d580c3 100644 --- a/docs/images/products/prowler-app-architecture.mmd +++ b/docs/images/products/prowler-app-architecture.mmd @@ -23,6 +23,8 @@ flowchart TB user --> ui user --> cli ui -->|REST| api + ui -->|MCP HTTP| mcp + mcp -->|REST| api api --> pg api --> valkey beat -->|enqueue jobs| valkey @@ -31,7 +33,5 @@ flowchart TB worker -->|Attack Paths| neo4j worker -->|invokes| sdk cli --> sdk - api -. AI tools .-> mcp - mcp -. context .-> api sdk --> providers diff --git a/docs/images/products/prowler-app-architecture.png b/docs/images/products/prowler-app-architecture.png index 19bbfab0ee..6b0dacb776 100644 Binary files a/docs/images/products/prowler-app-architecture.png and b/docs/images/products/prowler-app-architecture.png differ diff --git a/docs/images/prowler_mcp_schema.mmd b/docs/images/prowler_mcp_schema.mmd new file mode 100644 index 0000000000..96973546f6 --- /dev/null +++ b/docs/images/prowler_mcp_schema.mmd @@ -0,0 +1,29 @@ +flowchart LR + subgraph HOSTS["MCP Hosts"] + chat["Chat Interfaces
(Claude Desktop, LobeChat)"] + ide["IDEs and Code Editors
(Claude Code, Cursor)"] + apps["Other AI Applications
(5ire, custom agents)"] + end + + subgraph MCP["Prowler MCP Server"] + app_tools["prowler_app_* tools
(JWT or API key auth)
Findings · Providers · Scans
Resources · Muting · Compliance
Attack Paths"] + hub_tools["prowler_hub_* tools
(no auth)
Checks Catalog · Check Code
Fixers · Compliance Frameworks"] + docs_tools["prowler_docs_* tools
(no auth)
Search · Document Retrieval"] + end + + api["Prowler API
(REST)"] + hub["hub.prowler.com
(REST)"] + docs["docs.prowler.com
(Mintlify)"] + + chat -->|STDIO or HTTP| app_tools + chat -->|STDIO or HTTP| hub_tools + chat -->|STDIO or HTTP| docs_tools + ide -->|STDIO or HTTP| app_tools + ide -->|STDIO or HTTP| hub_tools + ide -->|STDIO or HTTP| docs_tools + apps -->|STDIO or HTTP| app_tools + apps -->|STDIO or HTTP| hub_tools + apps -->|STDIO or HTTP| docs_tools + app_tools -->|REST| api + hub_tools -->|REST| hub + docs_tools -->|REST| docs diff --git a/docs/images/prowler_mcp_schema.png b/docs/images/prowler_mcp_schema.png new file mode 100644 index 0000000000..8a8884fa5e Binary files /dev/null and b/docs/images/prowler_mcp_schema.png differ diff --git a/docs/images/prowler_mcp_schema_dark.png b/docs/images/prowler_mcp_schema_dark.png deleted file mode 100644 index 7771557601..0000000000 Binary files a/docs/images/prowler_mcp_schema_dark.png and /dev/null differ diff --git a/docs/images/prowler_mcp_schema_light.png b/docs/images/prowler_mcp_schema_light.png deleted file mode 100644 index c542d84ed2..0000000000 Binary files a/docs/images/prowler_mcp_schema_light.png and /dev/null differ diff --git a/docs/user-guide/tutorials/prowler-app-lighthouse.mdx b/docs/user-guide/tutorials/prowler-app-lighthouse.mdx index cf4886d2ee..b119893cb5 100644 --- a/docs/user-guide/tutorials/prowler-app-lighthouse.mdx +++ b/docs/user-guide/tutorials/prowler-app-lighthouse.mdx @@ -25,8 +25,7 @@ Behind the scenes, Lighthouse AI works as follows: Lighthouse AI supports multiple LLM providers including OpenAI, Amazon Bedrock, and OpenAI-compatible services. For configuration details, see [Using Multiple LLM Providers with Lighthouse](/user-guide/tutorials/prowler-app-lighthouse-multi-llm). -Prowler Lighthouse Architecture -Prowler Lighthouse Architecture +![Prowler Lighthouse Architecture](/images/lighthouse-architecture.png)