From 4bb34edb319ab381032f4f7e3fae285e4fbbe753 Mon Sep 17 00:00:00 2001 From: Giuseppe Scuglia Date: Sun, 17 May 2026 10:46:26 +0200 Subject: [PATCH 1/8] Add Cloud UI documentation section Closes #870. Adds a new Cloud UI section under Platform capabilities with an introduction, Docker Compose quickstart, and configuration guide covering environment variables, OIDC setup, and deployment options (Docker, Compose, Helm). Adds cross-reference from the Registry Server index page. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../guides-cloud-ui/configuration.mdx | 140 ++++++++++++++++++ docs/toolhive/guides-cloud-ui/index.mdx | 71 +++++++++ docs/toolhive/guides-cloud-ui/quickstart.mdx | 134 +++++++++++++++++ docs/toolhive/guides-registry/index.mdx | 8 + sidebars.ts | 15 ++ 5 files changed, 368 insertions(+) create mode 100644 docs/toolhive/guides-cloud-ui/configuration.mdx create mode 100644 docs/toolhive/guides-cloud-ui/index.mdx create mode 100644 docs/toolhive/guides-cloud-ui/quickstart.mdx diff --git a/docs/toolhive/guides-cloud-ui/configuration.mdx b/docs/toolhive/guides-cloud-ui/configuration.mdx new file mode 100644 index 00000000..f5c0f741 --- /dev/null +++ b/docs/toolhive/guides-cloud-ui/configuration.mdx @@ -0,0 +1,140 @@ +--- +title: Cloud UI configuration +sidebar_label: Configuration +description: + Configure environment variables, OIDC authentication, and deployment options + for the Cloud UI +--- + +This guide covers the environment variables and configuration options for +running the Cloud UI in different environments. + +## Environment variables + +The Cloud UI is configured entirely through environment variables. The table +below lists the required and optional variables. + +### Required variables + +| Variable | Description | +| -------------------- | --------------------------------------------------------------------------------------- | +| `OIDC_ISSUER_URL` | Issuer URL of your OIDC provider (for example, `https://your-org.okta.com`) | +| `OIDC_CLIENT_ID` | OAuth2 client ID registered with your OIDC provider | +| `OIDC_CLIENT_SECRET` | OAuth2 client secret for the registered client | +| `BETTER_AUTH_SECRET` | Secret used to encrypt session tokens. Generate one with `openssl rand -base64 32` | +| `BETTER_AUTH_URL` | Base URL where the Cloud UI is accessible (for example, `https://cloud-ui.example.com`) | +| `API_BASE_URL` | URL of the Registry Server API (for example, `https://registry.example.com`) | + +### Optional variables + +| Variable | Description | +| ----------------- | ---------------------------------------------------------------------------------------------------------------- | +| `DATABASE_URL` | PostgreSQL connection string for the auth database. When omitted, the Cloud UI uses an in-memory SQLite database | +| `TRUSTED_ORIGINS` | Comma-separated list of allowed CORS origins | + +## Configure OIDC authentication + +The Cloud UI delegates authentication to an external OIDC provider using +[Better Auth](https://www.better-auth.com/). It works with any +standards-compliant provider, including Okta, Microsoft Entra ID, and Auth0. + +To configure your provider: + +1. Register a new OAuth2/OIDC application in your identity provider. +2. Set the redirect URI to `/api/auth/callback/oidc` (for + example, `https://cloud-ui.example.com/api/auth/callback/oidc`). +3. Copy the issuer URL, client ID, and client secret into the corresponding + environment variables. + +:::tip + +For local development or testing, use the built-in mock OIDC provider by +starting the Docker Compose stack with the `mock` profile. See the +[quickstart](./quickstart.mdx) for details. + +::: + +## Deployment options + +### Docker + +Build and run the Cloud UI as a standalone container: + +```bash title="Build the image" +docker build -t toolhive-cloud-ui:latest . +``` + +```bash title="Run the container" +docker run -p 3000:3000 \ + -e OIDC_ISSUER_URL=https://your-org.okta.com \ + -e OIDC_CLIENT_ID=your-client-id \ + -e OIDC_CLIENT_SECRET=your-client-secret \ + -e BETTER_AUTH_SECRET=$(openssl rand -base64 32) \ + -e BETTER_AUTH_URL=http://localhost:3000 \ + -e API_BASE_URL=http://your-registry-server:8080 \ + toolhive-cloud-ui:latest +``` + +The application listens on port 3000. + +### Docker Compose + +The repository includes a Docker Compose file that starts the full stack (Cloud +UI, Registry Server, and databases). See the [quickstart](./quickstart.mdx) for +a walkthrough. + +For production use with a real OIDC provider, create a `.env` file with your +credentials and start without the `mock` profile: + +```bash title=".env" +OIDC_ISSUER_URL=https://your-org.okta.com +OIDC_CLIENT_ID=your-client-id +OIDC_CLIENT_SECRET=your-client-secret +BETTER_AUTH_SECRET=your-generated-secret +``` + +```bash +make compose-up +``` + +### Kubernetes (Helm) + +The Cloud UI repository includes a Helm chart in the `helm/` directory. To +deploy on Kubernetes: + +```bash +helm install cloud-ui ./helm \ + --set env.OIDC_ISSUER_URL=https://your-org.okta.com \ + --set env.OIDC_CLIENT_ID=your-client-id \ + --set env.OIDC_CLIENT_SECRET=your-client-secret \ + --set env.BETTER_AUTH_SECRET=your-generated-secret \ + --set env.BETTER_AUTH_URL=https://cloud-ui.example.com \ + --set env.API_BASE_URL=http://registry-server:8080 +``` + +:::info + +For production Kubernetes deployments, store sensitive values like +`OIDC_CLIENT_SECRET` and `BETTER_AUTH_SECRET` in a Kubernetes Secret rather than +passing them as Helm values. + +::: + +The Helm chart supports: + +- Replica count and horizontal pod autoscaling (HPA) +- Resource requests and limits +- Liveness and readiness probes +- Ingress configuration +- Custom service types (ClusterIP, NodePort, LoadBalancer) + +Refer to the chart's `values.yaml` for the full set of configurable parameters. + +## Next steps + +- [Publish servers](../guides-registry/publish-servers.mdx) to populate your + catalog with MCP server entries. +- Set up [Registry Server authentication](../guides-registry/authentication.mdx) + to control access to the catalog API. +- Learn about the [Registry Server architecture](../guides-registry/intro.mdx) + to understand how the backend works. diff --git a/docs/toolhive/guides-cloud-ui/index.mdx b/docs/toolhive/guides-cloud-ui/index.mdx new file mode 100644 index 00000000..8eaea243 --- /dev/null +++ b/docs/toolhive/guides-cloud-ui/index.mdx @@ -0,0 +1,71 @@ +--- +title: ToolHive Cloud UI +description: + Browse and manage MCP servers from a web-based catalog backed by the Registry + Server +--- + +import DocCardList from '@theme/DocCardList'; + +## Introduction + +The ToolHive Cloud UI is a web application that gives your team a shared catalog +of MCP servers. It connects to a [Registry Server](../guides-registry/index.mdx) +and displays every registered server in a browsable interface, so team members +can discover available servers and copy connection URLs into their AI agents or +clients. + +Use the Cloud UI when you want to: + +- Give your team a single place to discover MCP servers without using the CLI or + desktop app. +- Provide a self-service catalog where users copy server URLs directly into + their AI workflows. +- Layer authentication on top of the catalog with your existing identity + provider (IdP). + +:::note + +The Cloud UI is a **read-oriented catalog** that works alongside the Registry +Server. It does not start or stop MCP servers. To manage server lifecycles, use +the [ToolHive CLI](../guides-cli/index.mdx), +[ToolHive UI](../guides-ui/index.mdx), or +[Kubernetes Operator](../guides-k8s/index.mdx). + +::: + +## Architecture overview + +The Cloud UI is a Next.js application with two main dependencies: + +- **Registry Server** - provides the MCP server catalog through the + [MCP Registry API](../reference/registry-api.mdx). The Cloud UI reads server + entries from this API. +- **OIDC provider** - handles user authentication. The Cloud UI uses + [Better Auth](https://www.better-auth.com/) with any standards-compliant OIDC + provider (Okta, Microsoft Entra ID, Auth0, and others). + +```text ++-----------+ +----------+ +-----------------+ +| Browser | ----> | Cloud UI | ----> | Registry Server | ++-----------+ +----------+ +-----------------+ + | + v + +---------------+ + | OIDC Provider | + +---------------+ +``` + +## Where to start + +- **New to the Cloud UI?** Follow the [quickstart](./quickstart.mdx) to deploy a + local instance with Docker Compose. +- **Configuring a deployment?** See [Configuration](./configuration.mdx) for + environment variables, OIDC setup, and deployment options. +- **Setting up the backend?** The Cloud UI requires a running Registry Server. + See the [Registry Server quickstart](../guides-registry/quickstart.mdx) to get + one running. + +## Contents + + diff --git a/docs/toolhive/guides-cloud-ui/quickstart.mdx b/docs/toolhive/guides-cloud-ui/quickstart.mdx new file mode 100644 index 00000000..ba2ce8c8 --- /dev/null +++ b/docs/toolhive/guides-cloud-ui/quickstart.mdx @@ -0,0 +1,134 @@ +--- +title: 'Quickstart: Cloud UI' +sidebar_label: Quickstart +description: + Deploy the ToolHive Cloud UI locally with Docker Compose and browse your MCP + server catalog +schema_type: tutorial +--- + +In this tutorial, you'll deploy the ToolHive Cloud UI alongside the Registry +Server using Docker Compose. By the end, you'll have a running web catalog where +you can browse MCP servers and copy their connection URLs. + +## What you'll learn + +- How to clone and configure the Cloud UI repository +- How to start the full stack (Cloud UI, Registry Server, and databases) with + Docker Compose +- How to sign in with a mock OIDC provider for local testing +- How to browse the MCP server catalog + +## Prerequisites + +Before starting, make sure you have: + +- [Docker](https://docs.docker.com/get-docker/) and + [Docker Compose](https://docs.docker.com/compose/install/) (v2.20+) +- [Git](https://git-scm.com/downloads) + +## Step 1: Clone the repositories + +The Cloud UI depends on the Registry Server, which is included as a Docker +Compose reference from a sibling directory. Clone both repositories into the +same parent folder: + +```bash +git clone https://github.com/stacklok/toolhive-registry-server.git +git clone https://github.com/stacklok/toolhive-cloud-ui.git +``` + +Your directory layout should look like this: + +```text +parent-folder/ + toolhive-registry-server/ + toolhive-cloud-ui/ +``` + +## Step 2: Start the stack with mock authentication + +Change into the Cloud UI directory and start all services using the `mock` +profile. This profile includes a built-in OIDC mock server so you don't need to +configure a real identity provider: + +```bash +cd toolhive-cloud-ui +make compose-up-mock +``` + +Alternatively, use Docker Compose directly: + +```bash +docker compose --profile mock up --build +``` + +This starts five services: + +| Service | Port | Description | +| ---------------- | ---- | -------------------------------------- | +| **cloud-ui** | 3000 | The Cloud UI web application | +| **registry-api** | 8080 | The Registry Server API | +| **auth-db** | 5433 | PostgreSQL database for authentication | +| **postgres** | 5432 | PostgreSQL database for the registry | +| **oidc-mock** | 4000 | Mock OIDC provider for local testing | + +Wait until all services are healthy. You can check their status with: + +```bash +docker compose --profile mock ps +``` + +## Step 3: Open the Cloud UI + +Open your browser and navigate to `http://localhost:3000`. You'll see the +sign-in page. + +Sign in using the mock OIDC provider. The mock provider accepts any credentials, +so you can use any email and password combination. + +## Step 4: Browse the catalog + +After signing in, you'll see the MCP server catalog. The catalog displays +servers registered in the Registry Server. From here, you can: + +- Browse available MCP servers +- View server details and connection information +- Copy server URLs for use in your AI agents or MCP clients + +:::tip + +The Registry Server starts with a default configuration file. To add your own +MCP server entries, see the +[Registry Server configuration](../guides-registry/configuration.mdx) guide. + +::: + +## Clean up + +To stop all services and remove the containers: + +```bash +make compose-down +``` + +Or with Docker Compose directly: + +```bash +docker compose --profile mock down +``` + +To also remove the database volumes (deletes all stored data): + +```bash +docker compose --profile mock down -v +``` + +## Next steps + +- [Configure the Cloud UI](./configuration.mdx) for production use with a real + OIDC provider. +- [Deploy the Registry Server](../guides-registry/deployment.mdx) on Kubernetes + for a production-grade backend. +- Learn about [publishing servers](../guides-registry/publish-servers.mdx) to + populate your catalog. diff --git a/docs/toolhive/guides-registry/index.mdx b/docs/toolhive/guides-registry/index.mdx index 3209da8d..ef21ff2c 100644 --- a/docs/toolhive/guides-registry/index.mdx +++ b/docs/toolhive/guides-registry/index.mdx @@ -31,6 +31,14 @@ If you want to host and operate your own catalog, use the Registry Server. If you only need to browse the default ToolHive catalog from the UI or CLI, you do not need to deploy it. +:::tip + +Want a web-based interface for your Registry Server catalog? The +[Cloud UI](../guides-cloud-ui/index.mdx) connects to the Registry Server and +gives your team a browsable catalog with OIDC-based authentication. + +::: + ## Where to start - **New to the Registry Server?** Follow the diff --git a/sidebars.ts b/sidebars.ts index bd77117e..8240728c 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -261,6 +261,21 @@ const sidebars: SidebarsConfig = { ], }, + { + type: 'category', + label: 'Cloud UI', + description: + 'How to deploy and use the ToolHive Cloud UI to browse and manage MCP servers', + link: { + type: 'doc', + id: 'toolhive/guides-cloud-ui/index', + }, + items: [ + 'toolhive/guides-cloud-ui/quickstart', + 'toolhive/guides-cloud-ui/configuration', + ], + }, + { type: 'html', value: 'Shared guides', From a4e932e03947aa99eb0852d4439c532c11a3d46f Mon Sep 17 00:00:00 2001 From: Giuseppe Scuglia Date: Mon, 8 Jun 2026 14:11:56 +0200 Subject: [PATCH 2/8] Pivot Cloud UI docs to Kubernetes-first deployment Replace the Docker Compose quickstart with a Kubernetes deployment how-to guide that builds on the Registry Server quickstart as a prerequisite and walks through OIDC setup, per Dan's review feedback. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../guides-cloud-ui/configuration.mdx | 149 ++++----- docs/toolhive/guides-cloud-ui/deployment.mdx | 286 ++++++++++++++++++ docs/toolhive/guides-cloud-ui/index.mdx | 15 +- docs/toolhive/guides-cloud-ui/quickstart.mdx | 134 -------- sidebars.ts | 2 +- 5 files changed, 348 insertions(+), 238 deletions(-) create mode 100644 docs/toolhive/guides-cloud-ui/deployment.mdx delete mode 100644 docs/toolhive/guides-cloud-ui/quickstart.mdx diff --git a/docs/toolhive/guides-cloud-ui/configuration.mdx b/docs/toolhive/guides-cloud-ui/configuration.mdx index f5c0f741..78a738f4 100644 --- a/docs/toolhive/guides-cloud-ui/configuration.mdx +++ b/docs/toolhive/guides-cloud-ui/configuration.mdx @@ -2,28 +2,30 @@ title: Cloud UI configuration sidebar_label: Configuration description: - Configure environment variables, OIDC authentication, and deployment options - for the Cloud UI + Configure environment variables and OIDC authentication for the ToolHive Cloud + UI. --- -This guide covers the environment variables and configuration options for -running the Cloud UI in different environments. +This guide covers the environment variables and OIDC settings that the ToolHive +Cloud UI reads at startup. For end-to-end deployment steps on Kubernetes, see +[Deploy the Cloud UI](./deployment.mdx). ## Environment variables -The Cloud UI is configured entirely through environment variables. The table -below lists the required and optional variables. +The Cloud UI is configured entirely through environment variables. In a +Kubernetes deployment, supply them through a Kubernetes Secret referenced from +`envFrom` (recommended) or through the chart's `env` values. ### Required variables -| Variable | Description | -| -------------------- | --------------------------------------------------------------------------------------- | -| `OIDC_ISSUER_URL` | Issuer URL of your OIDC provider (for example, `https://your-org.okta.com`) | -| `OIDC_CLIENT_ID` | OAuth2 client ID registered with your OIDC provider | -| `OIDC_CLIENT_SECRET` | OAuth2 client secret for the registered client | -| `BETTER_AUTH_SECRET` | Secret used to encrypt session tokens. Generate one with `openssl rand -base64 32` | -| `BETTER_AUTH_URL` | Base URL where the Cloud UI is accessible (for example, `https://cloud-ui.example.com`) | -| `API_BASE_URL` | URL of the Registry Server API (for example, `https://registry.example.com`) | +| Variable | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------- | +| `OIDC_ISSUER_URL` | Issuer URL of your OIDC provider (for example, `https://your-org.okta.com`) | +| `OIDC_CLIENT_ID` | OAuth2 client ID registered with your OIDC provider | +| `OIDC_CLIENT_SECRET` | OAuth2 client secret for the registered client | +| `BETTER_AUTH_SECRET` | Secret used to encrypt session tokens. Generate one with `openssl rand -base64 32` | +| `BETTER_AUTH_URL` | Public URL where the Cloud UI is reachable (for example, `https://cloud-ui.example.com`) | +| `API_BASE_URL` | URL of the Registry Server API (for example, `http://my-registry-api.toolhive-system.svc.cluster.local:8080`) | ### Optional variables @@ -32,109 +34,64 @@ below lists the required and optional variables. | `DATABASE_URL` | PostgreSQL connection string for the auth database. When omitted, the Cloud UI uses an in-memory SQLite database | | `TRUSTED_ORIGINS` | Comma-separated list of allowed CORS origins | +:::warning + +The default in-memory SQLite database is not suitable for production. Sessions +are lost on pod restart and can't be shared across replicas. For multi-replica +deployments or any non-evaluation environment, set `DATABASE_URL` to point at a +managed PostgreSQL instance. + +::: + ## Configure OIDC authentication The Cloud UI delegates authentication to an external OIDC provider using [Better Auth](https://www.better-auth.com/). It works with any -standards-compliant provider, including Okta, Microsoft Entra ID, and Auth0. +standards-compliant provider, including Okta, Microsoft Entra ID, Auth0, and +Keycloak. To configure your provider: -1. Register a new OAuth2/OIDC application in your identity provider. +1. Register a new OAuth2 / OIDC application in your identity provider. 2. Set the redirect URI to `/api/auth/callback/oidc` (for example, `https://cloud-ui.example.com/api/auth/callback/oidc`). -3. Copy the issuer URL, client ID, and client secret into the corresponding - environment variables. - -:::tip - -For local development or testing, use the built-in mock OIDC provider by -starting the Docker Compose stack with the `mock` profile. See the -[quickstart](./quickstart.mdx) for details. - -::: - -## Deployment options - -### Docker - -Build and run the Cloud UI as a standalone container: - -```bash title="Build the image" -docker build -t toolhive-cloud-ui:latest . -``` - -```bash title="Run the container" -docker run -p 3000:3000 \ - -e OIDC_ISSUER_URL=https://your-org.okta.com \ - -e OIDC_CLIENT_ID=your-client-id \ - -e OIDC_CLIENT_SECRET=your-client-secret \ - -e BETTER_AUTH_SECRET=$(openssl rand -base64 32) \ - -e BETTER_AUTH_URL=http://localhost:3000 \ - -e API_BASE_URL=http://your-registry-server:8080 \ - toolhive-cloud-ui:latest -``` +3. Request the `openid`, `profile`, and `email` scopes. +4. Copy the issuer URL, client ID, and client secret into a Kubernetes Secret as + described in [Deploy the Cloud UI](./deployment.mdx). -The application listens on port 3000. +## Helm chart values -### Docker Compose +The chart in +[`toolhive-cloud-ui/helm`](https://github.com/stacklok/toolhive-cloud-ui/tree/main/helm) +supports the following customizations beyond environment variables: -The repository includes a Docker Compose file that starts the full stack (Cloud -UI, Registry Server, and databases). See the [quickstart](./quickstart.mdx) for -a walkthrough. - -For production use with a real OIDC provider, create a `.env` file with your -credentials and start without the `mock` profile: - -```bash title=".env" -OIDC_ISSUER_URL=https://your-org.okta.com -OIDC_CLIENT_ID=your-client-id -OIDC_CLIENT_SECRET=your-client-secret -BETTER_AUTH_SECRET=your-generated-secret -``` - -```bash -make compose-up -``` - -### Kubernetes (Helm) - -The Cloud UI repository includes a Helm chart in the `helm/` directory. To -deploy on Kubernetes: +- Replica count and horizontal pod autoscaling (HPA) +- Resource requests and limits +- Liveness, readiness, and startup probes +- Pod and container security contexts +- Image pull secrets for private registries +- Custom Service types (ClusterIP, NodePort) +- Additional volumes and volume mounts -```bash -helm install cloud-ui ./helm \ - --set env.OIDC_ISSUER_URL=https://your-org.okta.com \ - --set env.OIDC_CLIENT_ID=your-client-id \ - --set env.OIDC_CLIENT_SECRET=your-client-secret \ - --set env.BETTER_AUTH_SECRET=your-generated-secret \ - --set env.BETTER_AUTH_URL=https://cloud-ui.example.com \ - --set env.API_BASE_URL=http://registry-server:8080 -``` +Refer to the chart's +[`values.yaml`](https://github.com/stacklok/toolhive-cloud-ui/blob/main/helm/values.yaml) +for the full set of configurable parameters and their defaults. :::info -For production Kubernetes deployments, store sensitive values like -`OIDC_CLIENT_SECRET` and `BETTER_AUTH_SECRET` in a Kubernetes Secret rather than -passing them as Helm values. +The chart does not ship an Ingress template. To expose the Cloud UI outside the +cluster, create an Ingress resource separately or use a Service of type +`NodePort` or `LoadBalancer`. See +[Step 5 of the deployment guide](./deployment.mdx#step-5-expose-the-cloud-ui) +for an Ingress example. ::: -The Helm chart supports: - -- Replica count and horizontal pod autoscaling (HPA) -- Resource requests and limits -- Liveness and readiness probes -- Ingress configuration -- Custom service types (ClusterIP, NodePort, LoadBalancer) - -Refer to the chart's `values.yaml` for the full set of configurable parameters. - ## Next steps +- [Deploy the Cloud UI](./deployment.mdx) end-to-end on Kubernetes if you + haven't already. - [Publish servers](../guides-registry/publish-servers.mdx) to populate your catalog with MCP server entries. - Set up [Registry Server authentication](../guides-registry/authentication.mdx) - to control access to the catalog API. -- Learn about the [Registry Server architecture](../guides-registry/intro.mdx) - to understand how the backend works. + to control access to the catalog API the Cloud UI reads from. diff --git a/docs/toolhive/guides-cloud-ui/deployment.mdx b/docs/toolhive/guides-cloud-ui/deployment.mdx new file mode 100644 index 00000000..46028965 --- /dev/null +++ b/docs/toolhive/guides-cloud-ui/deployment.mdx @@ -0,0 +1,286 @@ +--- +title: Deploy the Cloud UI +sidebar_label: Deploy on Kubernetes +description: + Deploy the ToolHive Cloud UI on Kubernetes alongside a Registry Server, with + OIDC authentication. +--- + +This guide walks you through deploying the ToolHive Cloud UI on a Kubernetes +cluster using the Helm chart shipped in the +[`toolhive-cloud-ui`](https://github.com/stacklok/toolhive-cloud-ui) repository. +Because the Cloud UI requires both a running Registry Server and an OIDC +identity provider, it isn't a "few-minute" setup, so plan to work through this +guide end-to-end. + +## What you'll learn + +- How to install the Cloud UI Helm chart in an existing Kubernetes cluster +- How to wire the Cloud UI to a running Registry Server +- How to configure OIDC authentication using a Kubernetes Secret +- How to expose the Cloud UI for browser access + +## Prerequisites + +Before starting, make sure you have: + +- A running Kubernetes cluster (v1.24+). The + [Registry Server quickstart](../guides-registry/quickstart.mdx) walks through + a local kind cluster you can reuse. +- A **Registry Server** reachable from the cluster. If you don't have one yet, + complete the [Registry Server quickstart](../guides-registry/quickstart.mdx) + first. Take note of the in-cluster Service name and port (the quickstart + exposes `my-registry-api:8080` in the `toolhive-system` namespace). +- An **OIDC application** registered with your identity provider (Okta, + Microsoft Entra ID, Auth0, Keycloak, or any standards-compliant provider). + You'll need the issuer URL, client ID, and client secret. +- [`kubectl`](https://kubernetes.io/docs/tasks/tools/) and + [Helm](https://helm.sh/docs/intro/install/) v3.10+ installed locally. +- [Git](https://git-scm.com/downloads) to clone the chart repository. + +:::tip[Don't have an OIDC provider yet?] + +If you want to evaluate the Cloud UI without setting up a real IdP, the +`toolhive-cloud-ui` repository includes a mock OIDC provider for local +development. See the +[repository README](https://github.com/stacklok/toolhive-cloud-ui#development-modes) +for details. Use the Kubernetes path below for any environment beyond local +evaluation. + +::: + +## Step 1: Register the OIDC application + +In your identity provider, create a new OAuth2 / OIDC application with the +following settings: + +- **Application type**: Web application +- **Redirect URI**: `/api/auth/callback/oidc`, where + `` is the public URL where you plan to expose the Cloud UI (for + example, `https://cloud-ui.example.com/api/auth/callback/oidc`). +- **Scopes**: `openid`, `profile`, `email` + +Copy the **issuer URL**, **client ID**, and **client secret** that your provider +returns. You'll reference them in the next step. + +## Step 2: Clone the chart repository + +The Helm chart lives inside the `toolhive-cloud-ui` repository under `helm/`. +Clone it to your workstation: + +```bash +git clone https://github.com/stacklok/toolhive-cloud-ui.git +cd toolhive-cloud-ui +``` + +## Step 3: Create a namespace and OIDC Secret + +Create a namespace for the Cloud UI and a Kubernetes Secret that holds the +sensitive configuration. Storing credentials in a Secret keeps them out of your +Helm values file and chart history. + +```bash +kubectl create namespace cloud-ui +``` + +```bash +kubectl create secret generic cloud-ui-config \ + -n cloud-ui \ + --from-literal=OIDC_ISSUER_URL=https://your-org.okta.com \ + --from-literal=OIDC_CLIENT_ID= \ + --from-literal=OIDC_CLIENT_SECRET= \ + --from-literal=BETTER_AUTH_SECRET=$(openssl rand -base64 32) \ + --from-literal=BETTER_AUTH_URL=https://cloud-ui.example.com \ + --from-literal=API_BASE_URL=http://my-registry-api.toolhive-system.svc.cluster.local:8080 +``` + +Replace the placeholder values: + +- `OIDC_ISSUER_URL`, `OIDC_CLIENT_ID`, `OIDC_CLIENT_SECRET`: values from + [Step 1](#step-1-register-the-oidc-application). +- `BETTER_AUTH_URL`: the public URL where users will reach the Cloud UI. +- `API_BASE_URL`: the in-cluster URL of the Registry Server Service. If you + followed the [Registry Server quickstart](../guides-registry/quickstart.mdx), + it's `http://my-registry-api.toolhive-system.svc.cluster.local:8080`. + +See [Configuration](./configuration.mdx) for the full list of supported +environment variables. + +## Step 4: Install the Helm chart + +Install the chart from the cloned repository and reference the Secret you just +created with `envFrom`: + +```bash title="Install the Cloud UI" +helm install cloud-ui ./helm \ + --namespace cloud-ui \ + --set envFrom[0].secretRef.name=cloud-ui-config +``` + +Wait for the pod to become ready: + +```bash +kubectl rollout status deployment/cloud-ui -n cloud-ui --timeout=120s +``` + +:::info[What's happening?] + +The chart deploys the Cloud UI as a single-replica Deployment with a ClusterIP +Service on port 80 that targets the container on port 3000. The container reads +all OIDC and Registry Server settings from the Secret you mounted with +`envFrom`. Check `helm/values.yaml` in the repository for the full set of +configurable parameters (replicas, resources, probes, HPA, security context). + +::: + +## Step 5: Expose the Cloud UI + +The chart creates a ClusterIP Service by default. To make the Cloud UI reachable +from a browser, choose one of the following options. + +### Option A: Port-forward (testing only) + +For testing, forward the Service port to your local machine: + +```bash +kubectl port-forward svc/cloud-ui 3000:80 -n cloud-ui +``` + +Open `http://localhost:3000` in your browser. For this to work end-to-end, set +`BETTER_AUTH_URL=http://localhost:3000` and register the matching redirect URI +(`http://localhost:3000/api/auth/callback/oidc`) in your OIDC application. + +### Option B: Ingress (recommended for shared environments) + +For shared or production deployments, expose the Cloud UI through an Ingress +controller. The chart does not ship an Ingress template, so create one yourself. +The example below assumes you have an Ingress controller (such as NGINX) and a +TLS certificate already configured: + +```yaml title="cloud-ui-ingress.yaml" +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: cloud-ui + namespace: cloud-ui +spec: + ingressClassName: nginx + tls: + - hosts: + - cloud-ui.example.com + secretName: cloud-ui-tls + rules: + - host: cloud-ui.example.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: cloud-ui + port: + number: 80 +``` + +Apply the manifest: + +```bash +kubectl apply -f cloud-ui-ingress.yaml +``` + +Make sure the host matches `BETTER_AUTH_URL` and the registered redirect URI in +your IdP. + +## Step 6: Sign in + +Open the Cloud UI in your browser. You should be redirected to your OIDC +provider's sign-in page. After signing in successfully, your provider redirects +you back to the Cloud UI's `/catalog` page where you can: + +- Browse MCP servers registered in your Registry Server +- View server details and connection information +- Copy server URLs into your AI agents or MCP clients + +If sign-in fails, see the [Troubleshooting](#troubleshooting) section below. + +## Clean up + +To remove the Cloud UI deployment: + +```bash +helm uninstall cloud-ui -n cloud-ui +kubectl delete namespace cloud-ui +``` + +This leaves the Registry Server and your IdP application untouched. + +## Next steps + +- [Cloud UI configuration](./configuration.mdx) covers every supported + environment variable, including optional persistence with PostgreSQL and CORS + origins. +- [Publish servers](../guides-registry/publish-servers.mdx) to populate the + catalog that the Cloud UI displays. +- [Set up Registry Server authentication](../guides-registry/authentication.mdx) + to protect the catalog API the Cloud UI reads from. + +## Related information + +- [Registry Server quickstart](../guides-registry/quickstart.mdx) - deploy the + backend the Cloud UI depends on +- [Deploy the Registry Server](../guides-registry/deployment.mdx) - production + deployment patterns for the Registry Server + +## Troubleshooting + +
+Sign-in redirects to the IdP but never returns to the Cloud UI + +The most common cause is a mismatch between the redirect URI registered in your +IdP and the value the Cloud UI sends. Confirm that: + +- `BETTER_AUTH_URL` in the Secret matches the public URL the browser uses to + reach the Cloud UI (scheme, host, and port). +- The redirect URI registered in your IdP is exactly + `/api/auth/callback/oidc`. + +Restart the pod after changing the Secret so the new values take effect: + +```bash +kubectl rollout restart deployment/cloud-ui -n cloud-ui +``` + +
+ +
+Catalog page shows no MCP servers + +The Cloud UI talks to the Registry Server through `API_BASE_URL`. If the catalog +is empty: + +1. Confirm the Registry Server is reachable from inside the cluster: + + ```bash + kubectl run curl --rm -it --image=curlimages/curl --restart=Never -- \ + curl -s http://my-registry-api.toolhive-system.svc.cluster.local:8080/registry/default/v0.1/servers + ``` + +2. Confirm the registry has at least one server published. See + [Publish servers](../guides-registry/publish-servers.mdx). + +
+ +
+Pod fails to start with missing environment variable errors + +The Cloud UI requires all six environment variables listed in +[Step 3](#step-3-create-a-namespace-and-oidc-secret). Confirm the Secret +contains every key: + +```bash +kubectl describe secret cloud-ui-config -n cloud-ui +``` + +Recreate the Secret with the missing keys, then restart the deployment. + +
diff --git a/docs/toolhive/guides-cloud-ui/index.mdx b/docs/toolhive/guides-cloud-ui/index.mdx index 8eaea243..fef6cb42 100644 --- a/docs/toolhive/guides-cloud-ui/index.mdx +++ b/docs/toolhive/guides-cloud-ui/index.mdx @@ -58,13 +58,14 @@ The Cloud UI is a Next.js application with two main dependencies: ## Where to start -- **New to the Cloud UI?** Follow the [quickstart](./quickstart.mdx) to deploy a - local instance with Docker Compose. -- **Configuring a deployment?** See [Configuration](./configuration.mdx) for - environment variables, OIDC setup, and deployment options. -- **Setting up the backend?** The Cloud UI requires a running Registry Server. - See the [Registry Server quickstart](../guides-registry/quickstart.mdx) to get - one running. +- **Setting up the backend first?** The Cloud UI requires a running Registry + Server. Start with the + [Registry Server quickstart](../guides-registry/quickstart.mdx) to get one + running on Kubernetes. +- **Ready to deploy?** Follow [Deploy the Cloud UI](./deployment.mdx) to install + the Helm chart and wire it up to a Registry Server and your OIDC provider. +- **Configuring a deployment?** See [Configuration](./configuration.mdx) for the + full list of environment variables and OIDC settings. ## Contents diff --git a/docs/toolhive/guides-cloud-ui/quickstart.mdx b/docs/toolhive/guides-cloud-ui/quickstart.mdx deleted file mode 100644 index ba2ce8c8..00000000 --- a/docs/toolhive/guides-cloud-ui/quickstart.mdx +++ /dev/null @@ -1,134 +0,0 @@ ---- -title: 'Quickstart: Cloud UI' -sidebar_label: Quickstart -description: - Deploy the ToolHive Cloud UI locally with Docker Compose and browse your MCP - server catalog -schema_type: tutorial ---- - -In this tutorial, you'll deploy the ToolHive Cloud UI alongside the Registry -Server using Docker Compose. By the end, you'll have a running web catalog where -you can browse MCP servers and copy their connection URLs. - -## What you'll learn - -- How to clone and configure the Cloud UI repository -- How to start the full stack (Cloud UI, Registry Server, and databases) with - Docker Compose -- How to sign in with a mock OIDC provider for local testing -- How to browse the MCP server catalog - -## Prerequisites - -Before starting, make sure you have: - -- [Docker](https://docs.docker.com/get-docker/) and - [Docker Compose](https://docs.docker.com/compose/install/) (v2.20+) -- [Git](https://git-scm.com/downloads) - -## Step 1: Clone the repositories - -The Cloud UI depends on the Registry Server, which is included as a Docker -Compose reference from a sibling directory. Clone both repositories into the -same parent folder: - -```bash -git clone https://github.com/stacklok/toolhive-registry-server.git -git clone https://github.com/stacklok/toolhive-cloud-ui.git -``` - -Your directory layout should look like this: - -```text -parent-folder/ - toolhive-registry-server/ - toolhive-cloud-ui/ -``` - -## Step 2: Start the stack with mock authentication - -Change into the Cloud UI directory and start all services using the `mock` -profile. This profile includes a built-in OIDC mock server so you don't need to -configure a real identity provider: - -```bash -cd toolhive-cloud-ui -make compose-up-mock -``` - -Alternatively, use Docker Compose directly: - -```bash -docker compose --profile mock up --build -``` - -This starts five services: - -| Service | Port | Description | -| ---------------- | ---- | -------------------------------------- | -| **cloud-ui** | 3000 | The Cloud UI web application | -| **registry-api** | 8080 | The Registry Server API | -| **auth-db** | 5433 | PostgreSQL database for authentication | -| **postgres** | 5432 | PostgreSQL database for the registry | -| **oidc-mock** | 4000 | Mock OIDC provider for local testing | - -Wait until all services are healthy. You can check their status with: - -```bash -docker compose --profile mock ps -``` - -## Step 3: Open the Cloud UI - -Open your browser and navigate to `http://localhost:3000`. You'll see the -sign-in page. - -Sign in using the mock OIDC provider. The mock provider accepts any credentials, -so you can use any email and password combination. - -## Step 4: Browse the catalog - -After signing in, you'll see the MCP server catalog. The catalog displays -servers registered in the Registry Server. From here, you can: - -- Browse available MCP servers -- View server details and connection information -- Copy server URLs for use in your AI agents or MCP clients - -:::tip - -The Registry Server starts with a default configuration file. To add your own -MCP server entries, see the -[Registry Server configuration](../guides-registry/configuration.mdx) guide. - -::: - -## Clean up - -To stop all services and remove the containers: - -```bash -make compose-down -``` - -Or with Docker Compose directly: - -```bash -docker compose --profile mock down -``` - -To also remove the database volumes (deletes all stored data): - -```bash -docker compose --profile mock down -v -``` - -## Next steps - -- [Configure the Cloud UI](./configuration.mdx) for production use with a real - OIDC provider. -- [Deploy the Registry Server](../guides-registry/deployment.mdx) on Kubernetes - for a production-grade backend. -- Learn about [publishing servers](../guides-registry/publish-servers.mdx) to - populate your catalog. diff --git a/sidebars.ts b/sidebars.ts index 8240728c..b68a2cdf 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -271,7 +271,7 @@ const sidebars: SidebarsConfig = { id: 'toolhive/guides-cloud-ui/index', }, items: [ - 'toolhive/guides-cloud-ui/quickstart', + 'toolhive/guides-cloud-ui/deployment', 'toolhive/guides-cloud-ui/configuration', ], }, From a1c0d9cef14f059528ef68667714b1ad2754cf00 Mon Sep 17 00:00:00 2001 From: Dan Barr <6922515+danbarr@users.noreply.github.com> Date: Thu, 11 Jun 2026 11:21:45 -0400 Subject: [PATCH 3/8] Polish Cloud UI docs and add inbound links Editorial pass on the Cloud UI section while the author is out: - Reframe deployment guide as a how-to rather than a tutorial: drop "What you'll learn", rewrite the intro, and retitle the explanatory aside. Expand IdP on first use and link the CLOUD_UI_URL/BETTER_AUTH_URL placeholders together. - Surface the section from the home page: add a platform-overview bullet and point the Portal architecture and key-features links at the docs instead of the repo. - Add "Deploy the Cloud UI" links from the Registry Server quickstart and publish-servers Next steps. - Drop the "experimental" framing and correct the Cloud UI description in the contributing guide to a read-only view over a Registry Server catalog. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/toolhive/contributing.mdx | 7 ++--- docs/toolhive/guides-cloud-ui/deployment.mdx | 28 ++++++++----------- .../guides-registry/publish-servers.mdx | 2 ++ docs/toolhive/guides-registry/quickstart.mdx | 2 ++ docs/toolhive/index.mdx | 12 +++++--- 5 files changed, 26 insertions(+), 25 deletions(-) diff --git a/docs/toolhive/contributing.mdx b/docs/toolhive/contributing.mdx index 8c16880b..ea28c180 100644 --- a/docs/toolhive/contributing.mdx +++ b/docs/toolhive/contributing.mdx @@ -54,10 +54,9 @@ built with TypeScript and Electron, and runs on macOS, Windows, and Linux. ### ToolHive Cloud UI -The ToolHive Cloud UI is a web application for visualizing MCP servers running -in user infrastructure with easy URL copying for integration with AI agents. -Built with Next.js and TypeScript, this is an experimental project that is -actively being developed and tested. +The ToolHive Cloud UI is a web application that presents a read-only, browsable +catalog of the MCP servers in a Registry Server, with easy URL copying for +integration with AI agents. It's built with Next.js and TypeScript. **Repository**: [stacklok/toolhive-cloud-ui](https://github.com/stacklok/toolhive-cloud-ui) diff --git a/docs/toolhive/guides-cloud-ui/deployment.mdx b/docs/toolhive/guides-cloud-ui/deployment.mdx index 46028965..c5bd07de 100644 --- a/docs/toolhive/guides-cloud-ui/deployment.mdx +++ b/docs/toolhive/guides-cloud-ui/deployment.mdx @@ -6,19 +6,11 @@ description: OIDC authentication. --- -This guide walks you through deploying the ToolHive Cloud UI on a Kubernetes -cluster using the Helm chart shipped in the +This guide deploys the ToolHive Cloud UI on a Kubernetes cluster using the Helm +chart shipped in the [`toolhive-cloud-ui`](https://github.com/stacklok/toolhive-cloud-ui) repository. -Because the Cloud UI requires both a running Registry Server and an OIDC -identity provider, it isn't a "few-minute" setup, so plan to work through this -guide end-to-end. - -## What you'll learn - -- How to install the Cloud UI Helm chart in an existing Kubernetes cluster -- How to wire the Cloud UI to a running Registry Server -- How to configure OIDC authentication using a Kubernetes Secret -- How to expose the Cloud UI for browser access +The Cloud UI requires both a running Registry Server and an OIDC identity +provider, so make sure you have both available before you begin. ## Prerequisites @@ -40,9 +32,9 @@ Before starting, make sure you have: :::tip[Don't have an OIDC provider yet?] -If you want to evaluate the Cloud UI without setting up a real IdP, the -`toolhive-cloud-ui` repository includes a mock OIDC provider for local -development. See the +If you want to evaluate the Cloud UI without setting up a real identity provider +(IdP), the `toolhive-cloud-ui` repository includes a mock OIDC provider for +local development. See the [repository README](https://github.com/stacklok/toolhive-cloud-ui#development-modes) for details. Use the Kubernetes path below for any environment beyond local evaluation. @@ -57,7 +49,9 @@ following settings: - **Application type**: Web application - **Redirect URI**: `/api/auth/callback/oidc`, where `` is the public URL where you plan to expose the Cloud UI (for - example, `https://cloud-ui.example.com/api/auth/callback/oidc`). + example, `https://cloud-ui.example.com/api/auth/callback/oidc`). You'll set + this same public URL as `BETTER_AUTH_URL` in + [Step 3](#step-3-create-a-namespace-and-oidc-secret). - **Scopes**: `openid`, `profile`, `email` Copy the **issuer URL**, **client ID**, and **client secret** that your provider @@ -123,7 +117,7 @@ Wait for the pod to become ready: kubectl rollout status deployment/cloud-ui -n cloud-ui --timeout=120s ``` -:::info[What's happening?] +:::info[What the chart deploys] The chart deploys the Cloud UI as a single-replica Deployment with a ClusterIP Service on port 80 that targets the container on port 3000. The container reads diff --git a/docs/toolhive/guides-registry/publish-servers.mdx b/docs/toolhive/guides-registry/publish-servers.mdx index bdfc9062..efadb407 100644 --- a/docs/toolhive/guides-registry/publish-servers.mdx +++ b/docs/toolhive/guides-registry/publish-servers.mdx @@ -361,6 +361,8 @@ for the authorization rules. extension - [Configure authorization](./authorization.mdx) to control who can publish, read, and update entries +- [Deploy the Cloud UI](../guides-cloud-ui/index.mdx) so your team can browse + the servers you publish from a web interface ## Related information diff --git a/docs/toolhive/guides-registry/quickstart.mdx b/docs/toolhive/guides-registry/quickstart.mdx index 5c9f5878..e8457355 100644 --- a/docs/toolhive/guides-registry/quickstart.mdx +++ b/docs/toolhive/guides-registry/quickstart.mdx @@ -379,6 +379,8 @@ deployment: chart or raw manifests - [Configure the database](./database.mdx) for production, including separate application and migration users, TLS, and persistent storage +- [Deploy the Cloud UI](../guides-cloud-ui/index.mdx) to give your team a + browsable web catalog backed by this Registry Server ## Related information diff --git a/docs/toolhive/index.mdx b/docs/toolhive/index.mdx index 1c4d74b3..aaa8f5d5 100644 --- a/docs/toolhive/index.mdx +++ b/docs/toolhive/index.mdx @@ -88,6 +88,10 @@ not just by deployment target. - The **built-in registry** is the default catalog used by the ToolHive UI and CLI to browse and install MCP servers. It is different from the Registry Server that you deploy yourself. +- [**ToolHive Cloud UI**](./guides-cloud-ui/index.mdx) is a web-based catalog + frontend for the Registry Server. It gives your team a browsable interface to + discover MCP servers and copy connection URLs, secured with your own OIDC + provider. **Choose vMCP if** you need one endpoint that aggregates multiple backend MCP servers with centralized authentication, routing, or tool optimization. @@ -164,9 +168,9 @@ It's available as part of the ToolHive Operator for Kubernetes deployments. ### Portal The ToolHive Portal is how users discover and install MCP servers. It's -available as a cross-platform desktop app (the ToolHive UI) and an experimental -[web-based frontend](https://github.com/stacklok/toolhive-cloud-ui) to the -ToolHive Registry Server. +available as a cross-platform desktop app (the ToolHive UI) and a web-based +frontend (the [Cloud UI](./guides-cloud-ui/index.mdx)) to the ToolHive Registry +Server. ### Better together @@ -245,7 +249,7 @@ effectively: **Portal:** - Cross-platform [desktop app](https://github.com/stacklok/toolhive-studio) and - browser-based [cloud UI](https://github.com/stacklok/toolhive-cloud-ui) + browser-based [Cloud UI](./guides-cloud-ui/index.mdx) - Make it easy for end users to discover and deploy MCP servers - Install MCP servers with a single click - Connect with local clients like Claude Desktop, Cursor, VS Code, and many more From a15ae5a906447f1e6c4ac2dc518a5833a3dea981 Mon Sep 17 00:00:00 2001 From: Dan Barr <6922515+danbarr@users.noreply.github.com> Date: Thu, 11 Jun 2026 11:46:50 -0400 Subject: [PATCH 4/8] Simplify Cloud UI install and harden config reference Second editorial pass on the Cloud UI section: - Install the Helm chart directly from GHCR (oci://ghcr.io/stacklok/toolhive-cloud-ui/toolhive-cloud-ui) and drop the git clone step and Git prerequisite. Renumber the steps. - Replace the intro ASCII architecture diagram with Mermaid. - Rework the expose step: lead with the standard ClusterIP Service working with any Ingress/Gateway API/LoadBalancer, switch the Ingress example from deprecated nginx to Traefik, and link the Connect clients guide for the Gateway API path. - Rename "Clean up" to "Uninstall the Cloud UI" and correct the sign-in flow (welcome page with a Sign in button, then the IdP). - Replace the hand-wavy chart-values list with a values table and defaults, and state that app settings are passed only as env vars (no first-class Helm values), verified against the chart. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../guides-cloud-ui/configuration.mdx | 53 +++++++++----- docs/toolhive/guides-cloud-ui/deployment.mdx | 71 ++++++++++--------- docs/toolhive/guides-cloud-ui/index.mdx | 14 ++-- 3 files changed, 76 insertions(+), 62 deletions(-) diff --git a/docs/toolhive/guides-cloud-ui/configuration.mdx b/docs/toolhive/guides-cloud-ui/configuration.mdx index 78a738f4..d78a79c9 100644 --- a/docs/toolhive/guides-cloud-ui/configuration.mdx +++ b/docs/toolhive/guides-cloud-ui/configuration.mdx @@ -12,9 +12,10 @@ Cloud UI reads at startup. For end-to-end deployment steps on Kubernetes, see ## Environment variables -The Cloud UI is configured entirely through environment variables. In a -Kubernetes deployment, supply them through a Kubernetes Secret referenced from -`envFrom` (recommended) or through the chart's `env` values. +The Cloud UI is configured entirely through environment variables. The Helm +chart does not expose these settings as individual values, so you always pass +them as container environment variables: reference a Kubernetes Secret from +`envFrom` (recommended) or list them under the chart's `env` value. ### Required variables @@ -61,17 +62,33 @@ To configure your provider: ## Helm chart values -The chart in -[`toolhive-cloud-ui/helm`](https://github.com/stacklok/toolhive-cloud-ui/tree/main/helm) -supports the following customizations beyond environment variables: - -- Replica count and horizontal pod autoscaling (HPA) -- Resource requests and limits -- Liveness, readiness, and startup probes -- Pod and container security contexts -- Image pull secrets for private registries -- Custom Service types (ClusterIP, NodePort) -- Additional volumes and volume mounts +The application settings above are not first-class chart values. Pass them as +container environment variables through `envFrom` (recommended) or `env`, as +shown in [Deploy the Cloud UI](./deployment.mdx). The chart's remaining values +configure the Kubernetes Deployment and Service: + +| Value | Default | Description | +| ------------------------------------------------- | ---------------------------------------------- | --------------------------------------------------------- | +| `replicaCount` | `1` | Number of Cloud UI pods | +| `image.cloudUiImage` | Chart's release image and tag | Container image to deploy | +| `image.pullPolicy` | `IfNotPresent` | Image pull policy | +| `imagePullSecrets` | `[]` | Secrets for pulling from a private registry | +| `env` | `[]` | Inline environment variables as `name`/`value` pairs | +| `envFrom` | `[]` | Environment variables sourced from ConfigMaps or Secrets | +| `service.type` | `ClusterIP` | Service type (`ClusterIP`, `NodePort`, or `LoadBalancer`) | +| `service.port` | `80` | Service port | +| `service.targetPort` | `3000` | Container port the Service targets | +| `service.nodePort` | `null` | Node port, used only when `service.type` is `NodePort` | +| `resources` | `100m`/`128Mi` requests, `500m`/`512Mi` limits | CPU and memory requests and limits | +| `autoscaling.enabled` | `false` | Enable the Horizontal Pod Autoscaler (HPA) | +| `autoscaling.minReplicas` / `maxReplicas` | `1` / `5` | HPA replica bounds | +| `autoscaling.targetCPUUtilizationPercentage` | `80` | HPA target CPU utilization | +| `startupProbe`, `livenessProbe`, `readinessProbe` | HTTP `GET /` | Health probe configuration | +| `podSecurityContext` / `securityContext` | Non-root, UID 1001 | Pod and container security contexts | +| `serviceAccount.create` | `false` | Whether to create a ServiceAccount | +| `podAnnotations` / `podLabels` | `{}` | Extra annotations and labels on pods | +| `volumes` / `volumeMounts` | `[]` | Additional volumes and volume mounts | +| `nodeSelector` / `tolerations` / `affinity` | `{}` / `[]` / `{}` | Pod scheduling controls | Refer to the chart's [`values.yaml`](https://github.com/stacklok/toolhive-cloud-ui/blob/main/helm/values.yaml) @@ -79,10 +96,10 @@ for the full set of configurable parameters and their defaults. :::info -The chart does not ship an Ingress template. To expose the Cloud UI outside the -cluster, create an Ingress resource separately or use a Service of type -`NodePort` or `LoadBalancer`. See -[Step 5 of the deployment guide](./deployment.mdx#step-5-expose-the-cloud-ui) +The chart does not ship an Ingress or HTTPRoute template. Because it creates a +standard ClusterIP Service, you can expose the Cloud UI with an Ingress, a +Gateway API HTTPRoute, or a Service of type `LoadBalancer` or `NodePort`. See +[Step 4 of the deployment guide](./deployment.mdx#step-4-expose-the-cloud-ui) for an Ingress example. ::: diff --git a/docs/toolhive/guides-cloud-ui/deployment.mdx b/docs/toolhive/guides-cloud-ui/deployment.mdx index c5bd07de..78b994ff 100644 --- a/docs/toolhive/guides-cloud-ui/deployment.mdx +++ b/docs/toolhive/guides-cloud-ui/deployment.mdx @@ -6,11 +6,11 @@ description: OIDC authentication. --- -This guide deploys the ToolHive Cloud UI on a Kubernetes cluster using the Helm -chart shipped in the -[`toolhive-cloud-ui`](https://github.com/stacklok/toolhive-cloud-ui) repository. -The Cloud UI requires both a running Registry Server and an OIDC identity -provider, so make sure you have both available before you begin. +This guide deploys the ToolHive Cloud UI on a Kubernetes cluster using the Cloud +UI Helm chart, which ToolHive publishes to GitHub Container Registry (GHCR) from +the [`toolhive-cloud-ui`](https://github.com/stacklok/toolhive-cloud-ui) +repository. The Cloud UI requires both a running Registry Server and an OIDC +identity provider, so make sure you have both available before you begin. ## Prerequisites @@ -28,7 +28,6 @@ Before starting, make sure you have: You'll need the issuer URL, client ID, and client secret. - [`kubectl`](https://kubernetes.io/docs/tasks/tools/) and [Helm](https://helm.sh/docs/intro/install/) v3.10+ installed locally. -- [Git](https://git-scm.com/downloads) to clone the chart repository. :::tip[Don't have an OIDC provider yet?] @@ -51,23 +50,13 @@ following settings: `` is the public URL where you plan to expose the Cloud UI (for example, `https://cloud-ui.example.com/api/auth/callback/oidc`). You'll set this same public URL as `BETTER_AUTH_URL` in - [Step 3](#step-3-create-a-namespace-and-oidc-secret). + [Step 2](#step-2-create-a-namespace-and-oidc-secret). - **Scopes**: `openid`, `profile`, `email` Copy the **issuer URL**, **client ID**, and **client secret** that your provider returns. You'll reference them in the next step. -## Step 2: Clone the chart repository - -The Helm chart lives inside the `toolhive-cloud-ui` repository under `helm/`. -Clone it to your workstation: - -```bash -git clone https://github.com/stacklok/toolhive-cloud-ui.git -cd toolhive-cloud-ui -``` - -## Step 3: Create a namespace and OIDC Secret +## Step 2: Create a namespace and OIDC Secret Create a namespace for the Cloud UI and a Kubernetes Secret that holds the sensitive configuration. Storing credentials in a Secret keeps them out of your @@ -100,17 +89,20 @@ Replace the placeholder values: See [Configuration](./configuration.mdx) for the full list of supported environment variables. -## Step 4: Install the Helm chart +## Step 3: Install the Helm chart -Install the chart from the cloned repository and reference the Secret you just -created with `envFrom`: +Install the chart and reference the Secret you just created with `envFrom`: ```bash title="Install the Cloud UI" -helm install cloud-ui ./helm \ +helm install cloud-ui \ + oci://ghcr.io/stacklok/toolhive-cloud-ui/toolhive-cloud-ui \ --namespace cloud-ui \ --set envFrom[0].secretRef.name=cloud-ui-config ``` +This installs the latest published chart. To pin a specific version, add +`--version `. + Wait for the pod to become ready: ```bash @@ -127,7 +119,7 @@ configurable parameters (replicas, resources, probes, HPA, security context). ::: -## Step 5: Expose the Cloud UI +## Step 4: Expose the Cloud UI The chart creates a ClusterIP Service by default. To make the Cloud UI reachable from a browser, choose one of the following options. @@ -144,12 +136,15 @@ Open `http://localhost:3000` in your browser. For this to work end-to-end, set `BETTER_AUTH_URL=http://localhost:3000` and register the matching redirect URI (`http://localhost:3000/api/auth/callback/oidc`) in your OIDC application. -### Option B: Ingress (recommended for shared environments) +### Option B: Ingress or Gateway API (recommended for shared environments) -For shared or production deployments, expose the Cloud UI through an Ingress -controller. The chart does not ship an Ingress template, so create one yourself. -The example below assumes you have an Ingress controller (such as NGINX) and a -TLS certificate already configured: +The chart creates a standard ClusterIP Service, so you can expose it the same +way as any other web application: with an Ingress, the Gateway API, or a +`LoadBalancer` Service. The chart does not ship an Ingress or HTTPRoute +template, so create the routing resource yourself. + +The following Ingress example uses Traefik and assumes you already have an +Ingress controller and a TLS certificate configured: ```yaml title="cloud-ui-ingress.yaml" apiVersion: networking.k8s.io/v1 @@ -158,7 +153,7 @@ metadata: name: cloud-ui namespace: cloud-ui spec: - ingressClassName: nginx + ingressClassName: traefik tls: - hosts: - cloud-ui.example.com @@ -182,14 +177,20 @@ Apply the manifest: kubectl apply -f cloud-ui-ingress.yaml ``` +To expose the Cloud UI through the Gateway API instead, or for help configuring +TLS certificates, see +[Connect clients to MCP servers](../guides-k8s/connect-clients.mdx), which +covers both the Ingress and Gateway API patterns in depth. + Make sure the host matches `BETTER_AUTH_URL` and the registered redirect URI in your IdP. -## Step 6: Sign in +## Step 5: Sign in -Open the Cloud UI in your browser. You should be redirected to your OIDC -provider's sign-in page. After signing in successfully, your provider redirects -you back to the Cloud UI's `/catalog` page where you can: +Open the Cloud UI in your browser. You'll land on a welcome page with a **Sign +in** button. Select it to go to your OIDC provider's sign-in page. After you +sign in successfully, the provider redirects you back to the Cloud UI's +`/catalog` page where you can: - Browse MCP servers registered in your Registry Server - View server details and connection information @@ -197,7 +198,7 @@ you back to the Cloud UI's `/catalog` page where you can: If sign-in fails, see the [Troubleshooting](#troubleshooting) section below. -## Clean up +## Uninstall the Cloud UI To remove the Cloud UI deployment: @@ -268,7 +269,7 @@ is empty: Pod fails to start with missing environment variable errors The Cloud UI requires all six environment variables listed in -[Step 3](#step-3-create-a-namespace-and-oidc-secret). Confirm the Secret +[Step 2](#step-2-create-a-namespace-and-oidc-secret). Confirm the Secret contains every key: ```bash diff --git a/docs/toolhive/guides-cloud-ui/index.mdx b/docs/toolhive/guides-cloud-ui/index.mdx index fef6cb42..f42f005a 100644 --- a/docs/toolhive/guides-cloud-ui/index.mdx +++ b/docs/toolhive/guides-cloud-ui/index.mdx @@ -45,15 +45,11 @@ The Cloud UI is a Next.js application with two main dependencies: [Better Auth](https://www.better-auth.com/) with any standards-compliant OIDC provider (Okta, Microsoft Entra ID, Auth0, and others). -```text -+-----------+ +----------+ +-----------------+ -| Browser | ----> | Cloud UI | ----> | Registry Server | -+-----------+ +----------+ +-----------------+ - | - v - +---------------+ - | OIDC Provider | - +---------------+ +```mermaid +flowchart LR + Browser["Browser"] --> CloudUI["Cloud UI"] + CloudUI -->|"reads catalog"| Registry["Registry Server"] + CloudUI -->|"authenticates users"| OIDC["OIDC Provider"] ``` ## Where to start From 7d3d39d1ba05103274ec22c3599c6ee80d70a274 Mon Sep 17 00:00:00 2001 From: Dan Barr <6922515+danbarr@users.noreply.github.com> Date: Thu, 11 Jun 2026 11:53:39 -0400 Subject: [PATCH 5/8] Add Cloud UI Introduction page and fix sidebar copy Address Copilot review feedback on sidebar structure: - Split the section landing page into a thin index.mdx (intro blurb, where-to-start, DocCardList) and a dedicated intro.mdx Introduction page, matching the Registry Server, vMCP, and K8s sections. List intro as the explicit first sidebar child. - Reword the sidebar description from "browse and manage" to "browse and discover" to match the read-only framing used throughout the section. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/toolhive/guides-cloud-ui/index.mdx | 52 ++++------------------- docs/toolhive/guides-cloud-ui/intro.mdx | 56 +++++++++++++++++++++++++ sidebars.ts | 3 +- 3 files changed, 66 insertions(+), 45 deletions(-) create mode 100644 docs/toolhive/guides-cloud-ui/intro.mdx diff --git a/docs/toolhive/guides-cloud-ui/index.mdx b/docs/toolhive/guides-cloud-ui/index.mdx index f42f005a..11d20a6a 100644 --- a/docs/toolhive/guides-cloud-ui/index.mdx +++ b/docs/toolhive/guides-cloud-ui/index.mdx @@ -1,59 +1,23 @@ --- title: ToolHive Cloud UI description: - Browse and manage MCP servers from a web-based catalog backed by the Registry - Server + Browse and discover MCP servers from a web-based catalog backed by the + Registry Server --- import DocCardList from '@theme/DocCardList'; ## Introduction -The ToolHive Cloud UI is a web application that gives your team a shared catalog -of MCP servers. It connects to a [Registry Server](../guides-registry/index.mdx) -and displays every registered server in a browsable interface, so team members -can discover available servers and copy connection URLs into their AI agents or -clients. - -Use the Cloud UI when you want to: - -- Give your team a single place to discover MCP servers without using the CLI or - desktop app. -- Provide a self-service catalog where users copy server URLs directly into - their AI workflows. -- Layer authentication on top of the catalog with your existing identity - provider (IdP). - -:::note - -The Cloud UI is a **read-oriented catalog** that works alongside the Registry -Server. It does not start or stop MCP servers. To manage server lifecycles, use -the [ToolHive CLI](../guides-cli/index.mdx), -[ToolHive UI](../guides-ui/index.mdx), or -[Kubernetes Operator](../guides-k8s/index.mdx). - -::: - -## Architecture overview - -The Cloud UI is a Next.js application with two main dependencies: - -- **Registry Server** - provides the MCP server catalog through the - [MCP Registry API](../reference/registry-api.mdx). The Cloud UI reads server - entries from this API. -- **OIDC provider** - handles user authentication. The Cloud UI uses - [Better Auth](https://www.better-auth.com/) with any standards-compliant OIDC - provider (Okta, Microsoft Entra ID, Auth0, and others). - -```mermaid -flowchart LR - Browser["Browser"] --> CloudUI["Cloud UI"] - CloudUI -->|"reads catalog"| Registry["Registry Server"] - CloudUI -->|"authenticates users"| OIDC["OIDC Provider"] -``` +The ToolHive Cloud UI is a web-based catalog frontend for the Registry Server. +It gives your team a browsable interface to discover MCP servers and copy +connection URLs into their AI agents or clients, secured with your own OIDC +provider. ## Where to start +- **New here?** Read the [Introduction](./intro.mdx) for what the Cloud UI does, + how it's built, and how it fits with the Registry Server. - **Setting up the backend first?** The Cloud UI requires a running Registry Server. Start with the [Registry Server quickstart](../guides-registry/quickstart.mdx) to get one diff --git a/docs/toolhive/guides-cloud-ui/intro.mdx b/docs/toolhive/guides-cloud-ui/intro.mdx new file mode 100644 index 00000000..22b35cd1 --- /dev/null +++ b/docs/toolhive/guides-cloud-ui/intro.mdx @@ -0,0 +1,56 @@ +--- +title: Introduction +description: + Architecture and use cases for the ToolHive Cloud UI, a read-only web catalog + backed by a Registry Server +--- + +The ToolHive Cloud UI is a web application that gives your team a shared catalog +of MCP servers. It connects to a [Registry Server](../guides-registry/index.mdx) +and displays every registered server in a browsable interface, so team members +can discover available servers and copy connection URLs into their AI agents or +clients. + +Use the Cloud UI when you want to: + +- Give your team a single place to discover MCP servers without using the CLI or + desktop app. +- Provide a self-service catalog where users copy server URLs directly into + their AI workflows. +- Layer authentication on top of the catalog with your existing identity + provider (IdP). + +:::note + +The Cloud UI is a **read-oriented catalog** that works alongside the Registry +Server. It does not start or stop MCP servers. To manage server lifecycles, use +the [ToolHive CLI](../guides-cli/index.mdx), +[ToolHive UI](../guides-ui/index.mdx), or +[Kubernetes Operator](../guides-k8s/index.mdx). + +::: + +## Architecture overview + +The Cloud UI is a Next.js application with two main dependencies: + +- **Registry Server** - provides the MCP server catalog through the + [MCP Registry API](../reference/registry-api.mdx). The Cloud UI reads server + entries from this API. +- **OIDC provider** - handles user authentication. The Cloud UI uses + [Better Auth](https://www.better-auth.com/) with any standards-compliant OIDC + provider (Okta, Microsoft Entra ID, Auth0, and others). + +```mermaid +flowchart LR + Browser["Browser"] --> CloudUI["Cloud UI"] + CloudUI -->|"reads catalog"| Registry["Registry Server"] + CloudUI -->|"authenticates users"| OIDC["OIDC Provider"] +``` + +## Next steps + +- [Deploy the Cloud UI](./deployment.mdx) on Kubernetes with the Helm chart, a + Registry Server, and your OIDC provider. +- [Configure the Cloud UI](./configuration.mdx) with environment variables and + OIDC settings. diff --git a/sidebars.ts b/sidebars.ts index b68a2cdf..bd4f1a8f 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -265,12 +265,13 @@ const sidebars: SidebarsConfig = { type: 'category', label: 'Cloud UI', description: - 'How to deploy and use the ToolHive Cloud UI to browse and manage MCP servers', + 'How to deploy and use the ToolHive Cloud UI to browse and discover MCP servers', link: { type: 'doc', id: 'toolhive/guides-cloud-ui/index', }, items: [ + 'toolhive/guides-cloud-ui/intro', 'toolhive/guides-cloud-ui/deployment', 'toolhive/guides-cloud-ui/configuration', ], From 55ee1d24818eb9bd542bc0e04817b81393c1cab8 Mon Sep 17 00:00:00 2001 From: Dan Barr <6922515+danbarr@users.noreply.github.com> Date: Thu, 11 Jun 2026 11:56:19 -0400 Subject: [PATCH 6/8] Add Enterprise Cloud UI upsell admonition Point readers from the OSS read-only catalog to the enhanced Enterprise Cloud UI, which adds skill browsing and installation and registry source and entry management. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/toolhive/guides-cloud-ui/intro.mdx | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/toolhive/guides-cloud-ui/intro.mdx b/docs/toolhive/guides-cloud-ui/intro.mdx index 22b35cd1..0cc3812b 100644 --- a/docs/toolhive/guides-cloud-ui/intro.mdx +++ b/docs/toolhive/guides-cloud-ui/intro.mdx @@ -30,6 +30,16 @@ the [ToolHive CLI](../guides-cli/index.mdx), ::: +:::enterprise + +Stacklok Enterprise includes an enhanced Cloud UI that builds on the open source +catalog with full management capabilities. Browse and install skills, and manage +registry sources and entries directly from the web interface. + +[Learn more about Stacklok Enterprise](../enterprise.mdx). + +::: + ## Architecture overview The Cloud UI is a Next.js application with two main dependencies: From 17a8264668b58e0fce5397158734d65fd15136be Mon Sep 17 00:00:00 2001 From: Dan Barr <6922515+danbarr@users.noreply.github.com> Date: Thu, 11 Jun 2026 12:26:01 -0400 Subject: [PATCH 7/8] Add Cloud UI catalog screenshot to intro Add a light/dark catalog screenshot to the Introduction page so readers can see the browsable interface before deploying it. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/toolhive/guides-cloud-ui/intro.mdx | 13 +++++++++++++ static/img/toolhive/cloud-ui-dark.webp | Bin 0 -> 108752 bytes static/img/toolhive/cloud-ui-light.webp | Bin 0 -> 105128 bytes 3 files changed, 13 insertions(+) create mode 100644 static/img/toolhive/cloud-ui-dark.webp create mode 100644 static/img/toolhive/cloud-ui-light.webp diff --git a/docs/toolhive/guides-cloud-ui/intro.mdx b/docs/toolhive/guides-cloud-ui/intro.mdx index 0cc3812b..772fa368 100644 --- a/docs/toolhive/guides-cloud-ui/intro.mdx +++ b/docs/toolhive/guides-cloud-ui/intro.mdx @@ -5,12 +5,25 @@ description: backed by a Registry Server --- +import useBaseUrl from '@docusaurus/useBaseUrl'; +import ThemedImage from '@theme/ThemedImage'; + The ToolHive Cloud UI is a web application that gives your team a shared catalog of MCP servers. It connects to a [Registry Server](../guides-registry/index.mdx) and displays every registered server in a browsable interface, so team members can discover available servers and copy connection URLs into their AI agents or clients. + +
+ Use the Cloud UI when you want to: - Give your team a single place to discover MCP servers without using the CLI or diff --git a/static/img/toolhive/cloud-ui-dark.webp b/static/img/toolhive/cloud-ui-dark.webp new file mode 100644 index 0000000000000000000000000000000000000000..fa9169d50ccc460474d765828a7bf3c377eb57a5 GIT binary patch literal 108752 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 za�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 literal 0 HcmV?d00001 diff --git a/static/img/toolhive/cloud-ui-light.webp b/static/img/toolhive/cloud-ui-light.webp new file mode 100644 index 0000000000000000000000000000000000000000..e7c41a0096060bd6df038390876a957832564049 GIT binary patch literal 105128 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

Iu;Q<#Z`JdWcagh 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≫8o|8K@&s_bcIuOiklH}I$i|Ut- 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 U^f|vy@-$h%?y$7Oc)$Pv08E9uD*ylh literal 0 HcmV?d00001 From 48e21254ec3278d6932986b4dfca09347fff9aad Mon Sep 17 00:00:00 2001 From: Dan Barr <6922515+danbarr@users.noreply.github.com> Date: Thu, 11 Jun 2026 13:17:59 -0400 Subject: [PATCH 8/8] Set fullnameOverride so Cloud UI resource names match Without fullnameOverride, the chart names resources - (cloud-ui-toolhive-cloud-ui), so the deployment/cloud-ui, svc/cloud-ui, and ingress backendRef references throughout the guide would point at nonexistent resources. Add --set fullnameOverride=cloud-ui to the install and explain why it's there. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/toolhive/guides-cloud-ui/deployment.mdx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/toolhive/guides-cloud-ui/deployment.mdx b/docs/toolhive/guides-cloud-ui/deployment.mdx index 78b994ff..ffa89312 100644 --- a/docs/toolhive/guides-cloud-ui/deployment.mdx +++ b/docs/toolhive/guides-cloud-ui/deployment.mdx @@ -97,9 +97,15 @@ Install the chart and reference the Secret you just created with `envFrom`: helm install cloud-ui \ oci://ghcr.io/stacklok/toolhive-cloud-ui/toolhive-cloud-ui \ --namespace cloud-ui \ + --set fullnameOverride=cloud-ui \ --set envFrom[0].secretRef.name=cloud-ui-config ``` +The `fullnameOverride=cloud-ui` flag names the Deployment and Service `cloud-ui` +so they match the commands in the rest of this guide. Without it, the chart +prefixes resources with the release name (for example, +`cloud-ui-toolhive-cloud-ui`). + This installs the latest published chart. To pin a specific version, add `--version `.