MCP — SageOx inside other AI tools
The MCP surface is unlike every other SageOx catalog: its components render inside foreign host chrome — ChatGPT, Claude Desktop, VS Code Copilot, Goose — not on a SageOx-owned screen. An MCP App card is a self-contained ui:// asset the host paints; SageOx owns the card, the host owns the frame around it.
Everything here rides the shared <MCPCardShell> Preact pipeline: one chrome (header identity + Open in SageOx escape hatch), semantic tokens, light/dark via data-mode, the same self-healing state set on every card.
Surfaces
Whole flows as they render. Full-frame captures of the four shipped explorations — the console-side connect hub, the fullscreen control surface, the card gallery, and the persistent PiP launcher.
Connect hub
/connect/mcpConsole surface that gets AI tools talking to SageOx. A featured Best-experience row promotes hosts that render interactive cards (objective capability, not a cohort guess), with an inline Decision Ledger preview, Shiki-highlighted config snippets, and per-client provisioning chips.
Session Control Surface — Alt C (canonical)
ui:// · fullscreenThe canonical control surface for an agentic session: read from many sources, write to one, capture to the ledger. Selected sources show as removable chips; + Add source opens a type-to-filter palette, so it never renders dozens of rows. Privacy lock on private KBs; write-target visibility tier spelled out.
App card gallery
ui:// · 6 cardsThe six shipping MCP App cards, each in its resting state. Recording Insights, Decision Ledger, Chapter Scrubber, Recordings, Attention Tray, Team murmurs — all on the same shell, all host-paintable.
ui:// asset — it must read well at host-determined widths with no SageOx layout around it. The shell supplies the header identity + Open in SageOx; the card supplies the body.PiP pill launcher
ADR-052 §12Persistent session anchor: a picture-in-picture pill that holds recording status + the control surface + tools + earned attention. Section C pops the Alt C scope card on launch.
Components — shells & surfaces
The reusable frames. Each is host-rendered and rides the shared pipeline.
| Component | Kind | What it is |
|---|---|---|
MCPCardShell | shell | The chrome every card inherits: SageOx | <title> header, Open in SageOx ↗ escape hatch, semantic-token theming, data-mode light/dark. Cards supply only their body. |
| Session Control Surface | shell | Two-Rail read/write/capture surface for an agentic session. Read rail = multi-select checkboxes; write rail = single-select radio; capture commits to the ledger. |
| In-thread strip | shell | Auto-surfaced inline strip (session-start + periodic reminder). The lowest-footprint way a session announces itself in the host thread. |
| PiP pill launcher | shell | Persistent picture-in-picture anchor holding recording status, the control surface, tools, and earned attention. Everything else summons from it. |
McpAppCardPreview | shell | Console-side live preview of a card inside the connect hub — shows, rather than tells, what a card-capable host renders. |
| ClientTile / ClientBrandIcon | shell | Per-host tile in the connect hub (VS Code, Claude Desktop, ChatGPT, Goose, Copilot Studio) with brand icon, capability copy, and provisioning Admin chip. |
Components — app cards
The six shipping cards. Each is a self-contained ui:// asset paintable by any card-capable host.
| Card | Kind | Surfaces |
|---|---|---|
| Recording Insights | card | Per-recording highlights: key moments, decisions, action items — the resting summary of a captured session. |
| Decision Ledger | card | Inline decision list grounded to timestamps, with AI / Human / owner attribution chips. The card the connect hub previews. |
| Chapter Scrubber | card | Timeline scrub across a recording's chapters — jump to a moment without leaving the host. |
| Recordings | card | List of recordings in scope, each a deep-link into SageOx. |
| Attention Tray | card | The DDR-004 tray as a card: consolidated "what needs my attention," severity-ordered, keyboard-iterable. |
| Team murmurs | card | Lightweight async signals from teammates surfaced in-session. |
Components — card states
Every card and the control surface render the same honest, self-healing state set (DESIGN.md §11.11). No card invents its own.
| State | Behavior |
|---|---|
| pending | Work in flight. Skeleton or progress, never a dead spinner with no end. |
| empty | Nothing yet — says what would fill it and offers the next move, not a blank. |
| error | Honest failure in user voice with a retry / recover affordance; never a technical stack string. |
| abort-confirm | Destructive / interrupting action gated by an inline confirm, reversible where possible. |
Tokens — card palette
The MCP card tokens mirror sageox-design/tokens/colors.yaml (Sage / Copper / Charcoal). Cards ship light + dark; swatches below show the current mode.