← Registry

Design

a2uicatalog.ai

Discovers A2UI component catalogs and atom schemas, resolves required catalogs, and builds multi-page UI surfaces from title and content sections.

1 endpoint28 known toolsFirst detected August 6, 2026Last detected September 16, 2026

ENDPOINT 1

https://a2uicatalog.ai/mcp

No auth detected

MCP server metadata

Name
a2uicatalog
Version
1.0.0
Capabilities
toolsresourcesextensions.io.modelcontextprotocol/ui.mimeTypes
Server instructions

CALL identify_model FIRST, before any other tool, once per session — pass your own model name exactly as your system prompt states it (or "unknown" if not stated; never guess). Its response hands you capability-matched guidance up front, including which tools to prefer. If identify_model is unavailable, fails, or you cannot call it for any reason, PROCEED ANYWAY with the full toolkit. It is an optimisation, never a precondition: no other tool requires it, and skipping it costs you nothing but the capability-matched tool preferences. A2UI Catalogue — author declarative UI surfaces (A2UI payloads) and render them. CHOOSE THE PATH BY SIZE: • Small / quick preview → preview_url or make_surface_url. The payload is gzipped into a ?p= URL (data-in-URL). The REAL, hard ceiling is ~8100 chars (GAS cannot decode past this). A `size` field/warning can appear starting around ~2000 chars as a softer, informational copy-safety note — it does NOT by itself mean you must split; each URL-returning tool's own description gives its exact procedure for reading the measured length and deciding. Do not treat "a size field appeared" as "split now" — read the tool's specific rule. The size ceiling is PER PAGE, not per surface, so two ways to scale past it: (a) PAGINATE — split the content into multiple pages linked by nav. Each page is its own small ?p= URL (renderer stamps &from= back-links) or a named ?nav=<slug> page, so total content has no real ceiling. Best when you want to stay shareable-by-link. (b) GRADUATE — call emit_deployment: it bakes the payload into a standing app (HomeSurface.gs, plus server-side ?nav= named pages) — no URL, no size limit, no truncation. Best for real, reusable content. Data-in-URL (a single ?p=) is best for small single-page previews, but is not capped at the ~2000-char soft note — follow the calling tool's own size procedure, not this figure. STUDY/CURRICULUM/COURSE content: prefer emit_runbook_surface (runbook_id "learning_hub") — a declared, pre-authored composition with the full rich hub UI (subject tabs, slide pills, per-slide learning interactions); call it with no content first to get the input contract. Zero composition decisions, works for every capability tier. emit_training_runbook is the simpler fallback (plain tabs). If you can compose reliably and want something the runbook does not cover, composing catalogue atoms yourself remains open — but do not use build_multi_page_surface for courses: it returns N independent pages with no links between them. ANALYSING SOMEONE ELSE'S ARTICLE (analyse / critique / tear down / "what does this mean for X"): prefer emit_runbook_surface (runbook_id "article_playbook") — do NOT hand-compose this from base atoms. Two things it gives you that composing yourself does not: a Toulmin rung progression (claim -> grounds -> warrant) that is STRUCTURALLY ENFORCED, so a critique cannot skip the exposition it is judging; and an `elicit` block of questions to put to the USER first (which lens, whose domain, what to look for) so the reading is steered by them rather than guessed by you. Call with runbook_id and NO content to get the contract, the parsing_guide and those questions. YOU fetch and read the article with your own tooling — nothing is retrieved server-side, by design (no SSRF surface, and the URL stays yours). If you have no fetch/browse capability, say so up front and ask the user to paste the article text; do not accept the contract and fill it from memory, and never invent the verbatim quotations it requires. Runbook content that exceeds one page: emit_runbook_surface paginates and seeds automatically — no action needed from you. It splits by the runbook's declared boundary (learning_hub: per subject), seeds each page server-side, and returns one nav page (hub-of-pages: short ?nav= links only) over per-subject hub-as-one-page instances (each a full rich hub UI). Response carries `pages[]` + `seeded: true` when this happened; a single `url` with no `pages` means it all fit on one page. Either way the returned url is ready to use as-is.

Known tools 28

list_catalogs

List every A2UI catalog with a when-to-use, so you can pick the extension catalogs a surface needs.

Inferred read-only
get_catalog

Return one catalog's atoms (type + one-line description) so you know its vocabulary.

Inferred read-only
get_atom_schema

Return the PROP SHAPE (field names + what each field takes) for named atoms.

Inferred read-only
required_catalogs

Given an A2UI payload, return the resolvable catalog URIs it needs (deterministic — pure function of the atoms).

Inferred read-only
build_multi_page_surface

Build a multi-section A2UI app from raw title+content sections — you never estimate size or decide how to split; each section becomes its own independently-encoded page (no shared hub, so per-page size never grows with page count — genuinely unlimited sections).

Inferred read-only
make_surface_url

Render an A2UI payload in the CALLER'S OWN environment.

Inferred read-only
preview_url

Quick DEMO render on the public renderer (ephemeral, nothing stored).

Inferred read-only
render_surface

Render an A2UI payload INSIDE the chat as a live interactive view (MCP Apps hosts only — on other hosts this returns the payload as text).

Inferred read-only
render_ping

Diagnostic: render a tiny test view in-chat (MCP Apps hosts only).

Inferred read-only
distill_document

Compile a training.md / roadmap markdown document into a live interactive A2UI app — DETERMINISTIC parser, no model involved.

Inferred read-only
publish_url

STORES the payload server-side and returns a SHORT shareable link.

Inferred read-only
unpublish_url

Delete a published short link before its TTL using the delete_token returned by publish_url.

Potential side effects
emit_deployment

🎓 GRADUATE a tested surface into a dedicated, DEPLOYER-ONLY standing app in YOUR OWN Google Apps Script account.

Inferred read-only
emit_training_runbook

Build a multi-lesson training/course surface as ONE properly-linked page with real in-app tab navigation between lessons — prefer this over build_multi_page_surface for training/course content specifically: that tool produces N independent pages with NO links between them (you must present the list yourself); this tool produces one page where lessons are real, clickable tabs.

Inferred read-only
emit_runbook_surface

Stamp your content through a DECLARED runbook — a pre-authored, judgment-free surface composition.

Inferred read-only
describe_playbook

Explain a playbook to a HUMAN as a rendered surface: the frame it reads against, the lenses available, and the questions it will ask them.

Inferred read-only
open_workspace

Open the A2UI Workspace — a rendered surface that IS the demo: each tool is introduced by the scenario it answers, then wired to run, then shows what it saved.

Inferred read-only
get_profile

Read the signed-in reader's saved profile and recent history.

Inferred read-only
save_profile

Update the signed-in reader's profile.

Potential side effects
save_reading

Record a stamped surface in the reader's history so it can be compared and reopened later.

Inferred read-only
export_reading

Export a kept reading as something that outlives this connector.

Inferred read-only
render_reading_to_slack

Post a kept reading into Slack as real, native Block Kit — the continuity proof: generate here, save it, and the SAME content reopens in Slack, not a link back to a renderer.

Potential side effects
list_readings

The reader's recent stamped surfaces, newest first — what makes "compare this to my last three teardowns" answerable at all.

Inferred read-only
delete_reading

Permanently remove one or more of the reader's saved readings from their History.

Potential side effects
unlink_slack_account

Revoke one or more Slack accounts' link to this reader's store, from the Workspace side (the reverse of the Slack-side `/a2ui unlink` command — see slack-compiler/DESIGN-identity.md, "many Slack -> one sub").

Potential side effects
wall_calc

Compute a coursed block/brick wall specification — course and unit counts, weight, cost, mortar bags, a build-time curve across 1-6 builders, and load-bearing/height advisories.

Inferred read-only
whoami

Report who this connection is authenticated as.

Inferred read-only
identify_model

CALL THIS FIRST, before any other a2ui-catalog tool, once per session.

Inferred read-only

CONNECT WITH APPROVAL

Client installation

Review this server and its permissions before adding it. Secret placeholders must be set locally.

Codex

~/.codex/config.toml

[mcp_servers.a2uicatalog]
url = "https://a2uicatalog.ai/mcp"
enabled = true
Claude Code

.mcp.json

{
  "mcpServers": {
    "a2uicatalog": {
      "type": "http",
      "url": "https://a2uicatalog.ai/mcp"
    }
  }
}
Claude Desktop

Settings → Connectors → Add custom connector

Name: a2uicatalog
Remote MCP URL: https://a2uicatalog.ai/mcp

Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "a2uicatalog": {
      "url": "https://a2uicatalog.ai/mcp"
    }
  }
}
Visual Studio Code

.vscode/mcp.json

Add to Visual Studio Code
{
  "servers": {
    "a2uicatalog": {
      "type": "http",
      "url": "https://a2uicatalog.ai/mcp"
    }
  }
}
Generic MCP

Client-specific MCP configuration

{
  "name": "a2uicatalog",
  "transport": "streamable-http",
  "url": "https://a2uicatalog.ai/mcp"
}
MCP Inspector

Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.

TRUST AND VERIFICATION EVIDENCE

Trust Data Available

BuiltWith Trust API v2 evidence for a2uicatalog.ai was fetched 2026-09-23T13:45:28.811Z.

Trust status Neutral

a2uicatalog.ai is assessed as Neutral: No suspicious signals found, but no strong positive signal either

Indexed

Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.