Atrium plan · v0.2
Channels & distribution

Live everywhere agents live, or lose.

The protocol only wins if Atrium is one command away inside every LLM surface — Claude Code, ChatGPT, Codex, Cursor, claude.ai, CI. The good news: the industry just standardized our distribution for us. ChatGPT's Apps SDK is built on MCP, and the MCP Apps extension (co-authored by OpenAI and Anthropic, official January 2026) means one server + one widget renders Atrium inside every major chat host.

1 MCP server
≈ every chat surface. ChatGPT Apps are MCP servers; claude.ai connectors are MCP servers; Cursor, VS Code, Goose speak MCP natively.
MCP Apps · Jan 2026
The official UI extension (SEP-1865). ChatGPT, Claude, Goose, and VS Code already render it — interactive Atrium cards inline in chat, no client-specific code.
4 registries
Official MCP Registry, Anthropic's plugin directories, the ChatGPT app directory, editor marketplaces. Day-one submissions, all of them.

The insight

Write once: the MCP server is the app

We don't build N integrations. We build one protocol client, one MCP server, one MCP Apps widget — and wrap them in thin, per-surface installers. The widget is just HTML in a sandboxed iframe, which is literally our core competency.

An MCP Apps widget: the publish tool returns a pre-declared HTML resource; the host renders it sandboxed inline. Comments stream in live over the same connection. The loop without leaving the conversation.

One server, two transportsstdio + streamable http

The MCP server ships in the npm package (stdio, for local CLIs) and is built into every Atrium instance at /mcp (HTTP, OAuth-protected) — so the hosted tier and every self-hosted install is automatically a remote connector for claude.ai, ChatGPT, and anything else that adds custom MCP connectors.

The widget is the demomcp apps · sep-1865

Publish card with live preview, open-comment list, one-tap "revise & publish v2." Declared once as an HTML template, rendered by ChatGPT, Claude, VS Code, and Goose with zero client-specific code. Our artifact-sandboxing know-how applies directly.

Discovery for self-host.well-known

Every instance serves /.well-known/atrium (instance metadata, MCP endpoint, OAuth server). atrium login acme.internal and connector setup need a hostname, nothing else.

Surface matrix

Where Atrium shows up, and what install costs

SurfaceHow Atrium appearsInstallWave
Claude CodePlugin: skill (auto-publishes plans/reports, knows when to suggest it) + MCP server + /atrium commands/plugin install atrium — official + community marketplaceslaunch
Codex CLISame MCP server via codex mcp add atrium; AGENTS.md snippet for auto-suggestone commandlaunch
claude.ai / DesktopRemote MCP connector + MCP Apps widget (inline publish card, comments, revise button)add connector URL, OAuth oncelaunch
ChatGPTApps SDK app (it's our same MCP server + widget) — publish, preview, revise inline; app-directory listingdirectory install / connector in dev modefast follow
Cursor · Windsurf · VS CodeMCP server; VS Code also renders the MCP Apps widget. One-click install deeplinks on our sitedeeplink / mcp.json snippetlaunch
Gemini CLI & othersAnything that speaks MCP gets tools; anything that doesn't gets the plain HTTP API + CLIextension / config snippetfast follow
CI (GitHub Actions)atrium/publish-action: publish on merge, comment URL on the PR; webhook wakes agents on feedbackone workflow step + ATRIUM_TOKENfast follow
Slack / TeamsUnfurl artifact links with preview + comment count; notify thread on new versionsorg app installlater

Wave = sequencing, not importance. Launch wave is what the 12-week plan ships; fast-follows land within ~4 weeks after.

Registries

Be findable in every catalog that matters

mcp registry

Official MCP Registry

The canonical io.atrium/mcp entry — what hosts increasingly use for discovery and one-click adds. Published from CI on every release.

anthropic

Claude plugin directories

Submit to claude-plugins-official (curated) and community marketplaces. The plugin bundles skill + MCP + commands so Claude Code users get the full experience from one install.

openai

ChatGPT app directory

Apps SDK submission with the publish widget as the hero flow. Review gatekeeping is a real risk — which is exactly why the connector + self-host path must always work without it.

editors

Editor galleries

Cursor's MCP directory, VS Code's gallery, JetBrains. Mostly metadata + deeplinks; cheap to maintain from one manifest source in the repo.

oss

Package managers

npx @atrium/cli, Homebrew tap, ghcr.io/atrium/atrium. The CLI is also the skill's backend, so one versioned artifact serves humans and agents.

self-host

Every instance is a channel

Self-hosted Atriums register nowhere and still get full agent support via /.well-known/atrium + /mcp. No registry can gatekeep the open path — that's the point.

Auth across surfaces

One OAuth server, three grants

Surface classGrantExperience
Local CLIs & coding agents (Claude Code, Codex, Cursor)Device flow → scoped token on diskatrium login once; agents inherit. Works headless, in containers, against any instance URL.
Remote connectors (claude.ai, ChatGPT, Desktop)Standard OAuth 2.1 + PKCE at the instance's /oauth"Connect Atrium" → org SSO → done. Same flow whether the instance is ours or self-hosted — MCP's auth spec already requires exactly this.
CI / service automationsOrg-issued service tokensATRIUM_TOKEN secret; least-privilege scopes (publish-only by default).

Why this is a moat, not a checklist

display.dev integrates with these hosts too — as a closed endpoint. Atrium's difference: every self-hosted instance is a first-class citizen of every surface, because the connector, widget, and OAuth server ship in the open image. An enterprise adds their own Atrium to ChatGPT and Claude in one afternoon. No vendor in the middle; nothing for an app-store review to take away.

Build cost

What this actually adds to the plan

Net-new engineering

  • MCP Apps widget (~1 week): publish card + comment list + revise action. One HTML template, our sandboxing rules already apply.
  • OAuth server hardening (folded into M4): the device flow was already specced; remote connectors add PKCE + consent screen.
  • Plugin/app manifests + CI publishing (~3 days): one manifests/ dir, stamped from the release pipeline.
  • GitHub Action (~2 days): thin wrapper on the CLI.

Plan impact

  • Wk 5–7 (M3): MCP server grows the Apps widget alongside the comment loop — same milestone, shared code.
  • Wk 8–9 (M4): OAuth 2.1 + PKCE + consent ship with auth (already scheduled; scope confirmed).
  • Wk 12 (launch): registry submissions become launch-checklist items: MCP Registry, Claude marketplaces, editor galleries.
  • Wk 13–16: ChatGPT app-directory review cycle + GitHub Action + Gemini extension as fast-follows.