> For the complete documentation index, see [llms.txt](https://docs.flowcp.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flowcp.ai/reference/plans-and-features.md).

# Plans & features

FlowCP ships the same four plans in both deployment modes — **Starter**, **Team**, **Business**, and **Enterprise** (keys: `starter`, `team`, `business`, `enterprise`). What changes between modes is how requests are metered and where the plan comes from; what stays the same is that **features are gated by plan**.

## Cloud vs Self-Hosted

| Aspect           | Cloud                                                         | Self-Hosted                                                          |
| ---------------- | ------------------------------------------------------------- | -------------------------------------------------------------------- |
| Deployment       | Managed multi-tenant service ([flowcp.ai](https://flowcp.ai)) | You run it ([self-host the platform](/guides/self-host-platform.md)) |
| MCP requests     | **Metered** per plan (included volume + overage)              | **Unlimited** — no metered quota                                     |
| Plan source      | **Stripe subscription**                                       | Signed **license key** (`FLOWCP_LICENSE_KEY`)                        |
| No plan / no key | New workspaces start on **Starter**                           | No key → free **Starter** plan                                       |
| Plan management  | **Billing** tab (Stripe Checkout / Portal)                    | **License** panel (no Stripe config shipped)                         |

For Cloud request metering, included volumes, overage rates, and quota behavior, see [Billing & plans](/reference/billing-and-plans.md). Self-Hosted forgoes metering entirely — there is no included-call allowance or overage.

## Plan → feature matrix

Features unlock **cumulatively**: each plan includes everything below it plus its own additions.

| Plan           | Requests (Cloud / Self-Hosted)  | Premium features unlocked (cumulative)                                  |
| -------------- | ------------------------------- | ----------------------------------------------------------------------- |
| **Starter**    | Metered (free tier) / Unlimited | Core only                                                               |
| **Team**       | Metered / Unlimited             | + Environments + Version history + Conversation history + Log streaming |
| **Business**   | Metered / Unlimited             | + RBAC / advanced roles + Alerts & monitoring                           |
| **Enterprise** | Metered / Unlimited             | + Golden-scenario replay + Enterprise managed auth                      |

### Core (every plan, both modes)

Available on every plan in both Cloud and Self-Hosted:

* Connect / import APIs (Generic OpenAPI, Bubble, Git-backed sources)
* Tools, resources, prompts, widgets, and skills
* MCP serving and publishing
* User-context OAuth and all auth providers
* Playground
* Embeddable chat widget (chatting is core; **retaining** conversations is paid — see Team adds)
* Connector library
* CLI and GitHub Actions
* Per-server export folder
* Feedback
* Server tests
* Logs, health, and stats views

### Team adds

* **Environments** — separate dev/prod URLs per server.
* **Version history** — server-config version snapshots and rollback.
* **Chat-widget conversation history** — retain each visitor's transcript so threads resume across pages and visits, and read them in the dashboard. Without it the widget still chats, but stores nothing. See [Embed an AI chat widget](/guides/embed-ai-chat-widget.md#conversation-history).

  How long a conversation may be kept grows with the tier:

  | Plan       | Longest retention window |
  | ---------- | ------------------------ |
  | Starter    | Not retained             |
  | Team       | 30 days                  |
  | Business   | 60 days                  |
  | Enterprise | 180 days                 |

  A widget may be set to any window up to its plan's ceiling. The runtime purges against the shorter of the two, so moving to a lower tier shortens existing widgets' windows immediately, with no migration.
* **Log streaming** — forward MCP execution logs to your own observability system (Axiom, ClickHouse, OpenTelemetry, Datadog, Grafana Loki, Splunk, or any HTTP endpoint). See [Stream logs to external sinks](/guides/stream-logs.md).

### Business adds

* **RBAC / advanced roles** — finer-grained workspace roles.
* **Alerts & monitoring** — health alerts and monitoring.

### Enterprise adds

* **Golden-scenario replay** — recorded-scenario regression replay.

## Where the matrix is defined

The authoritative plan definitions — keys, ordering, and which feature each plan unlocks — live in code in **`PLAN_CONFIGS`** (`packages/shared/src/plans.ts`). Both modes read from the same config; the only difference is the plan **source** (Stripe subscription on Cloud vs. license key on Self-Hosted) and request metering (on for Cloud, off for Self-Hosted).

> **Custom domains** are not plan-gated. They depend on Cloudflare for SaaS being configured for the deployment (see [Custom domain](/guides/custom-domain.md)) and are available regardless of plan once that configuration is present.
