feat: introduce a2ui-in-mcpapps sample application#1066
Conversation
There was a problem hiding this comment.
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.
4bcf98d to
2b3c8d0
Compare
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.
2b3c8d0 to
2319b73
Compare
|
can we have a screenshot for posterity? |
I have a screencast in the PR, did you want a screenshot in addition? |
…thon implementations
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
samples/agent/mcp/a2ui-in-mcpapps/):client/: Angular host container application managing the outer save iframe.server/: Python MCP server (usinguv) serving micro-app resources and tools.server/apps/src/: Isolated micro-app source (Simple Counter) demonstrating A2UI rendering and interactivity.README.mdmapping architecture, communication flows (Mermaid), and setup instructions..gitignoreto exclude generated sample assets.✅ Verification
Summary of Work
README.md.Pre-launch Checklist
If you need help, consider asking for advice on the discussion board.