Skip to content

Mcp Apps 3 : Integrate MCP Apps Sample Agent into Orchestrator Sample#852

Merged
sugoi-yuzuru merged 1 commit intomainfrom
mcp_3_orche
Mar 16, 2026
Merged

Mcp Apps 3 : Integrate MCP Apps Sample Agent into Orchestrator Sample#852
sugoi-yuzuru merged 1 commit intomainfrom
mcp_3_orche

Conversation

@sugoi-yuzuru
Copy link
Collaborator

@sugoi-yuzuru sugoi-yuzuru commented Mar 13, 2026

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 McpApps that 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.

@github-project-automation github-project-automation bot moved this to Todo in A2UI Mar 13, 2026
@sugoi-yuzuru sugoi-yuzuru changed the base branch from main to mcp_2_mcp_relay_agent March 13, 2026 14:17
Copy link
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 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.

Comment on lines +147 to +149
// 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';
Copy link
Contributor

Choose a reason for hiding this comment

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

critical

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.

@sugoi-yuzuru sugoi-yuzuru changed the base branch from mcp_2_mcp_relay_agent to main March 13, 2026 14:58
@sugoi-yuzuru sugoi-yuzuru changed the base branch from main to mcp_2_mcp_relay_agent March 13, 2026 15:00
@sugoi-yuzuru sugoi-yuzuru force-pushed the mcp_2_mcp_relay_agent branch from ac1b930 to 83764f8 Compare March 13, 2026 17:43
@sugoi-yuzuru sugoi-yuzuru force-pushed the mcp_2_mcp_relay_agent branch from 83764f8 to ff422da Compare March 14, 2026 22:17
Base automatically changed from mcp_2_mcp_relay_agent to main March 16, 2026 14:08
@sugoi-yuzuru sugoi-yuzuru merged commit 93b98bb into main Mar 16, 2026
11 checks passed
@sugoi-yuzuru sugoi-yuzuru deleted the mcp_3_orche branch March 16, 2026 14:18
@github-project-automation github-project-automation bot moved this from Todo to Done in A2UI Mar 16, 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.

2 participants