{
 "acronym": "A2UI",
 "adoption": {
  "by": null,
  "level": "observed",
  "probe_run": null
 },
 "aliases": [
  "Agent-to-UI Protocol",
  "Agent to UI Protocol"
 ],
 "analog": "HTML (declarative UI markup)",
 "collisions": [
  "AG-UI"
 ],
 "discovery": {
  "mechanism": "No fixed well-known path; renderer and agent capabilities (supported catalogs, custom components) are exchanged via transport-specific handshakes, e.g. A2A Agent Cards or MCP initialization metadata",
  "path": null
 },
 "dispute": {
  "claims": [
   "a2ui.org 'View source' points to github.com/a2ui-project/a2ui (used as canonical here)",
   "docs.ag-ui.com/introduction links A2UI to github.com/google/A2UI"
  ],
  "summary": "Two GitHub locations are both cited for A2UI: the canonical 'View source of this page' link on a2ui.org points to a2ui-project/a2ui, but AG-UI's own docs (fetched 2026-09-05) still link A2UI to github.com/google/A2UI. This looks like an org rename or fork that the AG-UI docs have not caught up with, not a governance dispute, but it is unresolved which is authoritative going forward."
 },
 "evidence": [
  {
   "claim": "A2UI Protocol v1.0 spec text (Status: Candidate, Created Nov 20 2025, Last Updated Jun 8 2026) defines a streaming JSON UI protocol with four agent-to-renderer message types (createSurface, updateComponents, updateDataModel, deleteSurface) and named transport bindings for AG-UI, A2A, and MCP.",
   "date": "2026-06-08",
   "label": "VERIFIED",
   "url": "https://a2ui.org/specification/v1.0-a2ui/"
  },
  {
   "claim": "Canonical repo github.com/a2ui-project/a2ui: Apache-2.0 license, Google LLC copyright headers, README states current status 'Early stage public preview' with v0.9.1 as the current production release, v1.0 a release candidate, v0.8 legacy; renderers/host frameworks listed are Web and Flutter, with Lit/Angular/React renderer demos.",
   "date": "2026-09-05",
   "label": "VERIFIED",
   "url": "https://github.com/a2ui-project/a2ui"
  },
  {
   "claim": "AG-UI's own documentation lists A2UI as a supported 'Generative UI, declarative' spec and names AG-UI as A2UI's standard transport binding, but still links A2UI to github.com/google/A2UI rather than the current a2ui-project org.",
   "date": "2026-09-05",
   "label": "VERIFIED",
   "url": "https://docs.ag-ui.com/introduction"
  }
 ],
 "form": "document-format",
 "governance": "a2ui-project (Google-originated, open-source on GitHub; Apache-2.0)",
 "group": null,
 "history": [
  {
   "date": "2026-09-05",
   "note": "seeded from Exa Agent research run"
  },
  {
   "date": "2026-09-06",
   "note": "verified against a2ui.org v1.0 spec and github.com/a2ui-project/a2ui"
  }
 ],
 "id": "a2ui",
 "implementation": "multi-implementation",
 "last_verified": "2026-09-06",
 "name": "A2UI (Agent to UI) Protocol",
 "native_status": "Early stage public preview: v0.9.1 is the 'Current' production release, v1.0 is a release 'Candidate', v0.8 is legacy",
 "origin": {
  "date": "2025-11-20",
  "org": "Google LLC"
 },
 "part_of": null,
 "parties": [
  "agent-human"
 ],
 "phase": "candidate",
 "probe": {
  "method": "GET",
  "on_absent": "No A2UI capability declared; the agent returns only text or opaque structured JSON, not a declarative UI surface",
  "parse": "Presence of an A2UI catalogId/capability declaration in the handshake metadata, or a createSurface/updateComponents/updateDataModel/deleteSurface message in the response stream",
  "path": "{endpoint} — the AG-UI, A2A, or MCP endpoint the agent exposes; inspect its handshake/Agent Card/initialization payload"
 },
 "question": "How can an agent describe and stream a framework-neutral, declarative UI to a renderer?",
 "scope": "general",
 "spec_url": "https://a2ui.org/specification/v1.0-a2ui/",
 "step": "present",
 "summary_md": "A2UI (Agent to UI) is a JSON message protocol that lets an agent describe and incrementally stream a declarative, framework-neutral user interface to a client renderer. Communication is a stream of JSON objects; the agent-to-renderer protocol defines four message types — `createSurface`, `updateComponents`, `updateDataModel`, and `deleteSurface` — and the renderer maps abstract component descriptions (Card, Button, TextField, etc.) onto its own native widgets (Flutter, Angular, Lit, React, SwiftUI, or plain web components) [1]. The core design goal is safety: agents can only reference components from a client-defined, pre-approved 'catalog,' so a UI payload is 'safe like data, but expressive like code' rather than executable code [2].\n\nA2UI does not define its own transport. It is explicitly transport-agnostic and is documented with named bindings for three carriers: AG-UI (described as A2UI's 'standard transport binding'), the A2A protocol (via a dedicated A2A extension spec), and MCP (carried over tool calls, tool outputs, or resource subscriptions), plus generic support for SSE+JSON-RPC, WebSockets, and REST [1]. It solves the problem of agents needing to present rich, interactive interfaces — especially remote agents or agents running across a trust boundary — without shipping arbitrary executable code to the client [2]. It does not itself specify authentication, payment, or discovery of an agent's existence; those are left to whichever transport (AG-UI, A2A, MCP) carries it.\n\nCurrent state (as of 2026-09-05): the project describes itself as an 'early stage public preview.' The production-recommended version is v0.9.1 (a patch on the stable v0.9 family); v1.0 is a release candidate adding bidirectional typed function calls and single-message UI instantiation; v0.8 is legacy [2]. The canonical repository, github.com/a2ui-project/a2ui, carries an Apache-2.0 license and Google LLC copyright headers, and the spec site's own 'view source' link resolves to that same repository [1][2]. Reference renderers exist for Flutter and web frameworks (Lit, Angular, React), with a visual 'A2UI Composer' and a multi-renderer 'A2UI Theater' demo; the AG-UI project ships an `a2ui-toolkit` package and CopilotKit has added catalog-forwarding integration, indicating active cross-project use rather than a single-vendor demo [3].\n\nWhat is disputed or unknown: whether A2UI should be classified as a single-vendor (Google) spec or something closer to a vendor-consortium is judgment-dependent — the code and copyright are Google's, but the working GitHub org name ('a2ui-project') and the AG-UI/CopilotKit integration suggest broader de facto involvement. AG-UI's own docs (fetched 2026-09-05) still point to `github.com/google/A2UI` rather than the current `a2ui-project` org, an unresolved naming/rename inconsistency. No independent adoption count exists; observed ecosystem activity (16.3k GitHub stars, AG-UI/CopilotKit integration, multiple demo renderers) has not been converted into a documented probe run, so adoption here is 'observed,' not 'measured.'",
 "track": "single-vendor",
 "version": {
  "date": "2026-06-08",
  "label": "v1.0 (Candidate); v0.9.1 (Current)"
 },
 "url": "https://agenticweb.wiki/protocols/a2ui/",
 "category": "present",
 "type": "protocol"
}