diff --git a/catalogs/iframe/README.md b/catalogs/iframe/README.md index 2e8c0e1917..7121ca3afe 100644 --- a/catalogs/iframe/README.md +++ b/catalogs/iframe/README.md @@ -42,3 +42,5 @@ The [examples](examples/) directory holds A2UI message sequences that validate a ## Implementations A reference implementation of both components, including the host side of the message protocol, lives in the [Angular MCP calculator sample](../../samples/community/client/angular/projects/mcp_calculator/src/a2ui-catalog/). + +The [Iframe and MCP catalogs guide](../../docs/public/guides/iframe-and-mcp-catalogs.md) covers installing the `@a2ui/catalog-iframe` package, serving the sandbox proxy the components load and registering the catalog with a web renderer. diff --git a/catalogs/mcp/README.md b/catalogs/mcp/README.md index 285abd0ce7..0c7b7778c0 100644 --- a/catalogs/mcp/README.md +++ b/catalogs/mcp/README.md @@ -62,3 +62,5 @@ The [v1/examples](v1/examples/) directory holds A2UI message sequences that vali | Language | Package | | :--------- | :---------------------------------------------------- | | TypeScript | [`@a2ui/catalog-mcp`](../../typescript/catalogs/mcp/) | + +The [Iframe and MCP catalogs guide](../../docs/public/guides/iframe-and-mcp-catalogs.md) covers installing the package, serving the sandbox proxy `McpApp` loads and registering the catalog with a web renderer. diff --git a/docs/public/guides/iframe-and-mcp-catalogs.md b/docs/public/guides/iframe-and-mcp-catalogs.md new file mode 100644 index 0000000000..0da0d74626 --- /dev/null +++ b/docs/public/guides/iframe-and-mcp-catalogs.md @@ -0,0 +1,268 @@ +# Iframe and MCP catalogs + +`@a2ui/catalog-iframe` and `@a2ui/catalog-mcp` add sandboxed web content to A2UI surfaces. The iframe catalog defines `WebAppFrameSrcdoc` and `WebAppFrameUrl`, which run an HTML document or an external web application in a sandboxed frame that talks to the surface through the `a2ui_*` message protocol. The MCP catalog defines `McpApp`, which runs an [MCP App](https://github.com/modelcontextprotocol/ext-apps) the same way and speaks the MCP Apps JSON-RPC protocol to it, next to the `callMcpTool` function. + +The three components are universal components: custom elements built on `A2uiLitElement` from `@a2ui/web_core`, which any renderer that hosts universal components can render. Both catalogs target A2UI v1.0. This guide covers installing the packages, serving the sandbox asset they need, registering the catalogs with the message processor, and what the embedded content can do. Protocol detail lives in the two specification documents linked from [How an app talks to the host](#how-an-app-talks-to-the-host). + +## Which component to use + +All three components render one `