Mcp Apps 3 : Integrate MCP Apps Sample Agent into Orchestrator Sample#852
Mcp Apps 3 : Integrate MCP Apps Sample Agent into Orchestrator Sample#852sugoi-yuzuru merged 1 commit intomainfrom
Conversation
fdbc6e1 to
6aaaef6
Compare
There was a problem hiding this comment.
Code Review
This pull request successfully integrates the MCP Apps demo into the Angular Orchestrator Sample by adding a new mcp_app_proxy agent and the corresponding client-side components. The implementation uses a sandboxed iframe approach for rendering MCP apps, which is a good security practice.
My review includes a critical security recommendation regarding the sandbox implementation, along with several medium-severity suggestions to improve code quality and maintainability by removing unused imports and addressing minor issues in documentation and code style. Overall, the changes are well-structured and the new sample is a valuable addition.
| // TODO: Make the sandbox URL configurable. To ensure CORS encapsulation, the sandbox | ||
| // should be served from a different origin than the orchestrator. | ||
| const sandboxUrl = 'sandbox_iframe/sandbox.html'; |
There was a problem hiding this comment.
The TODO comment correctly identifies a critical security risk. Loading the sandbox iframe from the same origin (sandbox_iframe/sandbox.html) significantly reduces the security benefits of the sandbox attribute, as same-origin iframes have ways to bypass some restrictions. For robust security, the sandbox content should be served from a completely separate origin (e.g., sandbox.example.com). This should be prioritized to prevent potential cross-site scripting (XSS) vulnerabilities where the sandboxed content could affect the main application.
ac1b930 to
83764f8
Compare
6aaaef6 to
d035e04
Compare
83764f8 to
ff422da
Compare
d035e04 to
11b382a
Compare
… and supported catalog IDs.
11b382a to
c979ef6
Compare
Description
This PR incorporates the MCP Apps demo into the Angular Orchestrator Sample.
It completes the following 3 staged PRs into a demo.
0: #791 introduced a new Calculator App resource in the Sample MCP Server
1: #801 introduced a new A2UI Angular Component
McpAppsthat can containerize and display MCP Apps resrource as a A2UI Component/2: #815 set up a standalone A2A Agent that show cases how the relay of MCP Apps retrieved from MCP Servers can be translated into A2UI protocol for A2UI client consumption.
and then 3: this PR updates the existing Orchestrator A2UI demo to integrate with the A2A Agent prepared in #2.
See demo: https://screencast.googleplex.com/cast/NTU3NTU5MTg4MDI5NDQwMHxhZTA1OGM1Mi1kNg
Pre-launch Checklist
If you need help, consider asking for advice on the discussion board.