Repository navigation
Open
Labels
P2The team intends to work on this in the near future, or at a lower priority.The team intends to work on this in the near future, or at a lower priority.
Description
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:
catalogs/iframe/:WebAppFrameUrlandWebAppFrameSrcdoc, sandboxed frames that load an external URL or inline HTML and talk to the surface through a small message protocol (actions, data model paths, host functions).catalogs/mcp/:McpApp, which renders an MCP App resource through the MCP Apps JSON-RPC bridge, pluscallMcpTool(the five data transformation functions move into the filesystem sample in refactor(catalogs): move the data functions from the MCP catalog into the filesystem sample #3171, resolving Split the data transformation functions out of the MCP catalog into a transformations catalog #3153).
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 withoutallow-same-origin. The proxy is served from the host origin by default and from a dedicated origin throughconfigureSandbox({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)
- [MCP] Add the v1 MCP catalog with the McpApp component schema #2945 MCP v1 catalog schema and
McpAppspecification (merged) - 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)
- [MCP] Add the shared double-iframe sandbox and host helpers #3056 shared double-iframe sandbox and host helpers (merged)
- [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 - [MCP] Add the McpApp universal component and mcpCatalog to @a2ui/catalog-mcp` #2799
@a2ui/catalog-mcp:McpAppandmcpCatalog - [MCP] Add the 3D geometry MCP App example #3010 MCP examples, explorer integration, mock MCP server
- [MCP] feat(samples): add the Kanban board showcase for agent and MCP App communication #3226 Kanban board showcase sample (
samples/community/mcp/a2ui-kanban/) - [iFrame] Add the iframe catalog schema #2795 iframe catalog schema and examples
- [iFrame] Add the @a2ui/catalog-iframe package and frame bridge #2797
@a2ui/catalog-iframepackage and sandbox assets - [iFrame] Add the WebAppFrameUrl and WebAppFrameSrcdoc universal components #2798
WebAppFrameUrlandWebAppFrameSrcdoccomponents - [iFrame] Add the srcdoc tip calculator example to the iframe catalog #3008 srcdoc tip calculator example
- [iFrame] Add the url order tracker example to the iframe catalog #3009 URL order tracker example
- docs(site): add Iframe Catalog developer guide #2803 guide: iframe and MCP catalogs
Related
- Angular implementation for MCP App Component #673 Angular implementation for MCP App Component (precursor)
- Split the data transformation functions out of the MCP catalog into a transformations catalog #3153 Split the data transformation functions out of the MCP catalog (resolved by refactor(catalogs): move the data functions from the MCP catalog into the filesystem sample #3171)
- Clean up folder samples/community. #1698 publish
@a2ui/catalog-mcp(community samples alias the monorepo build until then)
Metadata
Metadata
Assignees
Labels
P2The team intends to work on this in the near future, or at a lower priority.The team intends to work on this in the near future, or at a lower priority.
Type
Projects
- StatusShow more project fieldsTodo
Activity
[-]Add the iframe and MCP catalogs: shared sandbox, TypeScript packages, examples and explorer support[/-][+]Add an A2UI iframe and MCP catalogs[/+]feat(catalogs): add the v1 MCP catalog with the McpApp component sche…
refactor(catalogs): move the data functions from the MCP catalog into…
[MCP] Add the shared double-iframe sandbox and host helpers (#3056)
[MCP] build(catalog-mcp): wireit build and Karma browser tests (#3348)
[MCP] Add a guide for the MCP catalog package
[MCP] Add a guide for the MCP catalog package
[MCP] Add a guide for the MCP catalog package
[MCP] Add a guide for the MCP catalog package
12 remaining items
[MCP] Add a guide for the MCP catalog package
[MCP] Add MCP catalog guide and align MCP Apps guide
[MCP] Add MCP catalog guide and align MCP Apps guide
[MCP] Add MCP catalog guide and align MCP Apps guide
[MCP] Add MCP catalog guide and align MCP Apps guide
[MCP] Add MCP catalog guide and align MCP Apps guide
docs(site): add MCP Catalog guide and port MCP Apps in A2UI Surfaces
docs(site): add MCP Catalog guide and port MCP Apps in A2UI Surfaces
docs(site): add MCP Catalog guide and port MCP Apps in A2UI Surfaces
docs(site): add MCP Catalog guide and port MCP Apps in A2UI Surfaces
docs(site): add MCP Catalog guide and port MCP Apps in A2UI Surfaces
docs(site): add MCP Catalog guide and port MCP Apps in A2UI Surfaces
docs(site): add MCP Catalog guide and port MCP Apps in A2UI Surfaces
docs(site): add MCP Catalog guide and port MCP Apps in A2UI Surfaces
docs(site): add MCP Catalog guide and port MCP Apps in A2UI Surfaces (#…