flowchart LR
    subgraph HOSTS["MCP Hosts"]
        chat["Chat Interfaces<br/>(Claude Desktop, LobeChat)"]
        ide["IDEs and Code Editors<br/>(Claude Code, Cursor)"]
        apps["Other AI Applications<br/>(5ire, custom agents)"]
    end

    subgraph MCP["Prowler MCP Server"]
        app_tools["prowler_app_* tools<br/>(JWT or API key auth)<br/>Findings · Providers · Scans<br/>Resources · Muting · Compliance<br/>Attack Paths"]
        hub_tools["prowler_hub_* tools<br/>(no auth)<br/>Checks Catalog · Check Code<br/>Fixers · Compliance Frameworks"]
        docs_tools["prowler_docs_* tools<br/>(no auth)<br/>Search · Document Retrieval"]
    end

    api["Prowler API<br/>(REST)"]
    hub["hub.prowler.com<br/>(REST)"]
    docs["docs.prowler.com<br/>(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
