Categories › Software Development › Frontend, UI components & design-to-code
500+ typed UI atoms an agent composes into real rendered interfaces. Free, no API key.
Remote server: your requests and data go to a2uicatalog.ai. Claude Code: claude mcp add --transport http a2ui-atomic-catalog https://a2uicatalog.ai/mcp · Claude app: Settings → Connectors → Add custom connector.
The tools this server listed when we connected to it, in its own words.
list_catalogs — List every A2UI catalog with a when-to-use, so you can pick the extension catalogs a surface needs. The base catalog (a2ui-atoms-v1) is alwaget_catalog — Return one catalog's atoms (type + one-line description) so you know its vocabulary.find_atoms — Semantic search over the atom catalog: describe the UI piece you need in plain words and get the best-matching atoms, ranked best-first, eacget_atom_schema — Return the PROP SHAPE (field names + what each field takes) for named atoms. get_catalog tells you an atom EXISTS; this tells you how to filrequired_catalogs — Given an A2UI payload, return the resolvable catalog URIs it needs (deterministic — pure function of the atoms).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 owmake_surface_url — Render an A2UI payload in the CALLER'S OWN environment. Pass renderer_url (your deployed renderer /exec) and get a live URL + the catalogs ipreview_url — Quick DEMO render on the public renderer (ephemeral, nothing stored). Limited to 2 runs per client, then deploy your own renderer and use marender_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). Nmake_film — Make a short motion film (a social clip, launch teaser, quote card...) built by the A2UI Design Studio: you choose a template and supply thesketch_agent_start — Start a real, live agent_sketchpad drawing: one Gemini call plans a complete picture as an ordered list of SVG strokes, the first stroke rensketch_agent_poll — Continue a sketch_agent_start task: returns every stroke newer than the given cursor (an event log, not a snapshot — nothing is skipped regarender_ping — Diagnostic: render a tiny test view in-chat (MCP Apps hosts only). Proves view mounting works independent of the full catalog renderer. Echowasm_spike — Diagnostic (MCP Apps hosts only): mounts a view that instantiates a tiny hand-assembled WebAssembly module, computes per-frame state in it, diagram_studio — Draw a diagram in-chat with the full Diagram Studio interface (MCP Apps hosts only; it opens fullscreen where the host allows it). YOU writeamiga — Open a real, cycle-exact Amiga 500 emulator in-chat (MCP Apps hosts only). Boots straight into AROS, a free open-source environment (no copydistill_document — Compile a training.md / roadmap markdown document into a live interactive A2UI app — DETERMINISTIC parser, no model involved. Fact sheet: inpublish_url — STORES the payload server-side and returns a SHORT shareable link. Opt-in only: requires acknowledge_storage=true — confirm with the user fiunpublish_url — Delete a published short link before its TTL using the delete_token returned by publish_url.emit_deployment — 🎓 GRADUATE a tested surface into a dedicated, DEPLOYER-ONLY standing app in YOUR OWN Google Apps Script account. Returns a deterministic recemit_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 emit_runbook_surface — Stamp your content through a DECLARED runbook — a pre-authored, judgment-free surface composition. You supply content only; the runbook suppdescribe_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. Copen_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 sget_profile — Read the signed-in reader's saved profile and recent history. Call this BEFORE asking a runbook's `elicit` questions: if a domain or defaultsave_profile — Update the signed-in reader's profile. Only the keys you pass change; pass null to clear one. Save what the reader TOLD you, never what you save_reading — Record a stamped surface in the reader's history so it can be compared and reopened later. Call it AFTER emit_runbook_surface, and PASS ITS export_reading — Export a kept reading as something that outlives this connector. format "html" returns ONE self-contained file — styles inlined, no network,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 Slalist_readings — The reader's recent stamped surfaces, newest first — what makes "compare this to my last three teardowns" answerable at all. Optionally filtdelete_reading — Permanently remove one or more of the reader's saved readings from their History. Takes an array so the Workspace's multi-select can delete read_article — Have the catalog's own model (Gemini) read an article through the article_playbook runbook and KEEP the reading in the signed-in reader's hideck_schema — List the slide layouts the PPTX renderer builds (title, bullets, stats, quote, table, media, cta), each field with its limits, the targets, deck_validate — Check a deck (scene list or A2UI payload) without building it. Returns every error with its slide, field and exact limit, warnings (no speakdeck_build — Build a PowerPoint (.pptx) file from a scene list or an A2UI payload. Deterministic (same input, same bytes), nothing is stored or fetched, drawio_open — Open a diagram you wrote in draw.io (diagrams.net). YOU write the diagram as mxGraph XML, the format draw.io reads; this tool checks it, andunlink_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` commanwall_calc — Compute a coursed block/brick wall specification — course and unit counts, weight, cost, mortar bags, a build-time curve across 1-6 builderswhoami — Report who this connection is authenticated as. Answers two SEPARATE questions that are easy to conflate: which APPLICATION is connected (thidentify_model — CALL THIS FIRST, before any other a2ui-catalog tool, once per session. Declares your own model identity so this response can hand you capabiNot tested by KitScout yet. When our harness runs it, pros, cons and the tasks we tried appear here, with the date and evidence.