Skip to content

Add an A2UI iframe and MCP catalogs #3157

Open

Description

@josemontespg

Tracking issue for the iframe and MCP catalog.

What

Two A2UI v1.0 catalogs that embed untrusted web content in a sandboxed frame next to the basic catalog:

Both are implemented as universal web components in @a2ui/catalog-iframe and @a2ui/catalog-mcp (typescript/catalogs/), registered next to the basic catalog; a surface created with the basic catalog selects them per component through catalogId.

Design points

  • One sandbox implementation shared by both packages (typescript/catalogs/shared/sandbox/, copied into each package at build time so neither depends on the other): the double-iframe sandbox proxy the MCP Apps specification requires for web hosts. The outer frame is the proxy page, the inner frame holds the untrusted content without allow-same-origin. The proxy is served from the host origin by default and from a dedicated origin through configureSandbox({baseUrl}).
  • configureMcpCatalog({getMcpClientForTool, processor, ...}) is the single host configuration call of the MCP catalog.
  • Catalog schemas follow the v1.0 Catalog Schema Rules and are registered in specification/v1_0/test/run_tests.py; each example is exercised end to end by a Karma test in its package and rendered by the Lit, React and Angular explorers.

Pull requests (stack order)

  1. [MCP] Add the v1 MCP catalog with the McpApp component schema #2945 MCP v1 catalog schema and McpApp specification (merged)
  2. refactor(catalogs): move the data functions from the MCP catalog into the filesystem sample #3171 move the data functions from the MCP catalog into the filesystem sample (merged)
  3. [MCP] Add the shared double-iframe sandbox and host helpers #3056 shared double-iframe sandbox and host helpers (merged)
  4. [MCP] feat(catalog-mcp): configureMcpCatalog and the v1.0 entry point #3186 @a2ui/catalog-mcp: build tooling, configureMcpCatalog, v1.0 entry point, community samples on it
  5. [MCP] Add the McpApp universal component and mcpCatalog to @a2ui/catalog-mcp` #2799 @a2ui/catalog-mcp: McpApp and mcpCatalog
  6. [MCP] Add the 3D geometry MCP App example #3010 MCP examples, explorer integration, mock MCP server
  7. [MCP] feat(samples): add the Kanban board showcase for agent and MCP App communication #3226 Kanban board showcase sample (samples/community/mcp/a2ui-kanban/)
  8. [iFrame] Add the iframe catalog schema #2795 iframe catalog schema and examples
  9. [iFrame] Add the @a2ui/catalog-iframe package and frame bridge #2797 @a2ui/catalog-iframe package and sandbox assets
  10. [iFrame] Add the WebAppFrameUrl and WebAppFrameSrcdoc universal components #2798 WebAppFrameUrl and WebAppFrameSrcdoc components
  11. [iFrame] Add the srcdoc tip calculator example to the iframe catalog #3008 srcdoc tip calculator example
  12. [iFrame] Add the url order tracker example to the iframe catalog #3009 URL order tracker example
  13. docs(site): add Iframe Catalog developer guide #2803 guide: iframe and MCP catalogs

Related

Activity

  1. added
    status: needs-triageauto-managed: https://github.com/a2ui-project/a2ui/blob/main/scripts/triage.mjs
    on Oct 12, 2026
  2. changed the title [-]Add the iframe and MCP catalogs: shared sandbox, TypeScript packages, examples and explorer support[/-] [+]Add an A2UI iframe and MCP catalogs[/+] on Oct 12, 2026
  3. self-assigned this
    on Oct 12, 2026
  4. added
    P2The team intends to work on this in the near future, or at a lower priority.
    and removed
    status: needs-triageauto-managed: https://github.com/a2ui-project/a2ui/blob/main/scripts/triage.mjs
    on Oct 12, 2026
  5. 12 remaining items

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P2The team intends to work on this in the near future, or at a lower priority.

Type

No type

Projects

  • Status
    Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions