Skip to content
Sneak peek — you found hosted ggui early · official launch soon

console.ggui.ai

read as .md

console.ggui.ai is the user-facing dashboard for the mcp.ggui.ai hosted MCP server. Sign in with Google, GitHub, or email (Cognito). The left-sidebar nav surfaces ten screens in three task-verb groups — Build, Configure, Account. Three more screens are deep-linked into by the OAuth ceremony, the CLI device flow, and an org-invite email — the last is separate from the Invites screen already in the nav, which lists your own pending invites rather than accepting one.

Group Screen Path What lives here
Build Apps /apps Per-app surfaces — keys, blueprints, gadgets, marketplace, theme, settings.
Configure Connector keys /keys/connector Mint and list ggui_user_* API keys (revoke via the CLI).
Configure Provider keys /keys/providers BYOK — paste your Anthropic / OpenAI / Google / OpenRouter keys.
Configure Author keys /keys/authors Publisher Ed25519 signing keys — list and two-step revoke.
Configure Credits /credits Balance, transaction log, coupon redeem, Stripe top-up.
Account Orgs /orgs Organizations you belong to; org-scoped wallets, invites, members.
Account Invites /invites Your own pending org invites, looked up by email.
Account Connected apps /connections OAuth clients that have access to your account — see below.
Account Account /account Email, default app, sign out.
Account Support /support Contact ggui — one page, one email, no case system yet.
OAuth consent /oauth/consent Approval landing for MCP-Apps-aware clients (Claude Desktop, etc.).
CLI sign-in /cli-confirm/[code] Approval landing for the ggui CLI’s device flow.
Org invite /invites/[inviteId] Auto-accept landing for an org-invite email link.

The home path / redirects to /apps — apps are the primary primitive in the current IA (post-2026-05 apps pivot). You don’t visit /oauth/consent or /cli-confirm/* directly — the MCP host or the CLI navigates you there at the right moment.

Apps are the primary primitive. Each app is a scope that owns its own blueprints, theme, marketplace installs, and per-app API keys. New accounts land here with a single default app already provisioned; create more from this page.

Per-app sub-routes (under /apps/[appId]/), in nav order:

  • Overview (/apps/[appId]) — the connect checklist, the MCP connect config snippet, and the app’s render activity. This is where the app id lands you.
  • Blueprints (/blueprints) — the app’s blueprint library: view source, rename, edit metadata, delete.
  • Gadgets (/apps/[appId]/gadgets) — the app’s resolved gadget catalog, exactly what agents receive from ggui_list_gadgets: the stdlib floor, web-installed rows, and the ggui.json-declared overlay (floor < installed < declared). Installed rows get a Remove action and a version-pin menu.
  • Marketplace (/marketplace) — browse and install published blueprints and gadgets; a kind toggle switches the search between the two.
  • Keys (/keys) — per-app connector keys (ggui_user_* rows bound to this appId, so the pod locks the session to this app) and per-app BYOK provider-key overrides (precedence over the user-pool BYOK keys for renders bound to this app).
  • Theme (/theme) — per-app theme overrides.
  • Settings (/settings) — display name, system prompt, per-key rate limit, delete app.

Blueprints are matched during ggui_handshake, before any generation. Curated app blueprints match deterministically when the agent’s declared tools cover the blueprint’s dataTools (deterministic, zero-LLM); other cached blueprints are reused by contract similarity. Either way, a hit renders with zero generation cost. See the generation pipeline for the matching flow and Marketplace for authoring + distribution.

Organizations you belong to, each with its own credit wallet, member list, and invite flow. Per-org detail lives under /orgs/[orgId], and invite-email links land at /invites/[inviteId]. See Orgs and teams.

Every ggui_user_* key on your account, whichever path minted it — the console, an OAuth ceremony, or the CLI. See Connector keys.

OAuth clients (Claude Desktop, claude.ai, Goose, …) that have registered against your account via Dynamic Client Registration. The per-client list and per-row revoke aren’t available yet — OAuth-grant storage is pod-local and not scoped by user, so there is no per-user list to safely show today.

Revocation works today at the key level instead: every OAuth approval, console mint, and CLI mint lands in the same table at Connector keys (/keys/connector). Revoke the ggui_user_* row there (via the CLI: ggui keys revoke <id>) and every client holding that key loses access immediately — which is also the argument for minting one key per client, so you can cut off one without disturbing the rest.

Balance, transaction log, Stripe top-up, and coupon redemption. See Credits, billing & BYOK.

Your account-wide Anthropic / OpenAI / Google / OpenRouter keys, so model calls run on your provider account instead of ggui’s pool. See Credits, billing & BYOK.

Email, default app selection, sign out, and account deletion.

A persistent agent helper is mounted in the sidebar (cmd-K to focus it; a floating Ask launcher opens the same input in a bottom sheet on mobile). Type a natural-language request and it renders its answer as a generative-UI surface inside the console itself — the console dogfooding the same generation it hosts. Saved results group under helper history in the app’s Blueprints tab (see Apps above).

The browser landing for MCP-Apps-aware clients running through the OAuth ceremony. When Claude Desktop (or any compatible host) asks mcp.ggui.ai to authorize, the server 302s the browser here with the OAuth params.

You see:

  • The requesting client’s name (from DCR client_name).
  • The scope being requested (mcp).
  • Two buttons: Approve / Cancel.

Approve mints a fresh ggui_user_* key (default label MCP — <shortClientId> — <date>, editable via the Key-name field; per-app flows that carried an RFC 8707 resource get the appId bound on the row so the session locks to that app) and posts it back to the MCP server through a cross-origin form POST. The server completes the OAuth flow and the client’s next /mcp request authenticates with the new key.

Cancel redirects back to the client with error=access_denied per RFC 6749 §4.1.2.1. The MCP server is never contacted; nothing is minted.

You don’t visit this URL directly — the MCP host sends you here at OAuth time.

The browser landing for the ggui login device flow. The CLI prints a URL like:

https://console.ggui.ai/cli-confirm/AB12-CD34

Open it, sign in if you aren’t already, confirm the codes match, click Approve. The CLI’s polling on /v1/auth/poll flips to approved and tokens land at ~/.ggui/auth.json.

Same trust model as the OAuth consent screen — confirm the code matches what the CLI printed before approving.

One Cognito user owns one ggui account. User-scoped data on the dashboard (your keys, your blueprints, your personal credit balance, your provider keys) is visible only to you via owner-auth on every model. Org-scoped data (org wallet, org members, org-scoped blueprints) is gated by org membership.