Skip to content

feat: introduce a2ui-in-mcpapps sample application#1066

Merged
sugoi-yuzuru merged 2 commits intomainfrom
a2ui_in_mcpapp
Apr 6, 2026
Merged

feat: introduce a2ui-in-mcpapps sample application#1066
sugoi-yuzuru merged 2 commits intomainfrom
a2ui_in_mcpapp

Conversation

@sugoi-yuzuru
Copy link
Copy Markdown
Collaborator

@sugoi-yuzuru sugoi-yuzuru commented Apr 3, 2026

Adds a sample demonstrating an MCP Application Host that isolation-tests untrusted third-party Angular components via a secure double-iframe proxy pattern.

Includes Angular client host, Python MCP Server, and isolated micro-app source.

Description

📝 Overview

Introduces a new sample application demonstrating how to host Model Context Protocol (MCP) applications that isolation-test untrusted third-party Angular components using a secure double-iframe proxy pattern.

✨ Key Changes

  • New Sample Application (samples/agent/mcp/a2ui-in-mcpapps/):
    • client/: Angular host container application managing the outer save iframe.
    • server/: Python MCP server (using uv) serving micro-app resources and tools.
    • server/apps/src/: Isolated micro-app source (Simple Counter) demonstrating A2UI rendering and interactivity.
  • Documentation: Added comprehensive README.md mapping architecture, communication flows (Mermaid), and setup instructions.
  • Support: Updated root .gitignore to exclude generated sample assets.

✅ Verification

image

Summary of Work

  1. Analyzed Commits: Identified that the branch contains a single feature commit introducing the new sample app.
  2. Scanned Diff Stats: Confirmed 40 files added covering the client container, python server, and isolated counter app framework.
  3. Extracted Context: Pulled the secure double-iframe narrative from the sample's README.md.
  4. Drafted PR description: Crafted a structured summary hitting intent, core components, and verification steps. Use this to populate the PR prompt.

Pre-launch Checklist

If you need help, consider asking for advice on the discussion board.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new sample demonstrating a Model Context Protocol (MCP) Application Host that securely isolates untrusted Angular components using a double-iframe proxy pattern. The sample includes an Angular-based client host and a Python MCP server that serves micro-app resources and interactive tools. The review identified several critical security improvements, specifically regarding the validation of message origins and the use of explicit target origins in postMessage calls to prevent XSS and data leakage. Additionally, feedback was provided to address potential memory leaks from duplicate event listeners, fix a failing unit test expectation, and restrict the server's CORS policy.

Adds a sample demonstrating an MCP Application Host that isolation-tests untrusted third-party Angular components via a secure double-iframe proxy pattern.

Includes Angular client host, Python MCP Server, and isolated micro-app source.
@dmandar
Copy link
Copy Markdown
Collaborator

dmandar commented Apr 6, 2026

can we have a screenshot for posterity?

@sugoi-yuzuru
Copy link
Copy Markdown
Collaborator Author

can we have a screenshot for posterity?

I have a screencast in the PR, did you want a screenshot in addition?

@sugoi-yuzuru sugoi-yuzuru merged commit d73da04 into main Apr 6, 2026
10 checks passed
@sugoi-yuzuru sugoi-yuzuru deleted the a2ui_in_mcpapp branch April 6, 2026 18:38
@github-project-automation github-project-automation bot moved this from Todo to Done in A2UI Apr 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants