AWS Details How to Deploy Interactive MCP Apps on AgentCore
AWS published a guide on September 11 for building MCP Apps with interactive HTML widgets on Amazon Bedrock AgentCore. The approach is intended to make services available through ChatGPT, Claude and other AI hosts that support the MCP Apps extension, without designing the application around a single host.
The Unicorn Rentals sample lets users browse a catalog, book a rental, inspect active bookings and complete a return through natural-language requests. Catalog entries appear as interactive cards with images, descriptions, rates and availability, while active-rental details and final costs are returned as text. AWS says the same MCP server can work with multiple compatible hosts.
The architecture separates MCP handling, presentation and business operations. AgentCore Runtime hosts the MCP application, while AgentCore Gateway provides its externally reachable managed endpoint and AWS WAF screens requests. An AWS Lambda function handles inventory and booking operations against Amazon DynamoDB; widget images are delivered from Amazon S3 through Amazon CloudFront.
When a user submits a natural-language request, the AI host translates it into an MCP tool call and sends it through the Gateway. The MCP server delegates the operation to Lambda, wraps the result in MCP format and returns structured data. If the tool references a user-interface resource, the host separately retrieves self-contained HTML and renders it in a sandboxed iframe. Tools without an associated widget skip this rendering phase and return text only.
AWS built the example as a TypeScript application using the official @modelcontextprotocol/sdk and @modelcontextprotocol/ext-apps packages, running as an Express.js server. Deployment packages the application as a ZIP file, uploads it to S3 and creates an AgentCore Runtime resource configured for NODE_22 and MCP protocol mode. The aws-samples repository includes a deploy.sh script that builds and deploys the CDK stacks. Prerequisites include an appropriately permissioned AWS account, Node.js 22 or newer, AWS CLI V2.0 or later, and the AWS CDK CLI.
In the sample configuration, the Gateway accepts inbound requests with no authentication and invokes Runtime under its IAM execution role using SigV4. AWS WAF adds IP allowlisting, managed threat-detection rules and rate limiting. For production, AWS advises validating tool arguments in both the MCP server and Lambda, monitoring Gateway, Lambda and Runtime through CloudWatch, and applying safety controls to unstructured text at trust boundaries.
Practical context: The pattern can place a thin MCP adapter in front of existing business logic hosted in Lambda, Amazon ECS, Amazon EKS or another service. Its interface portability still depends on each AI host supporting the MCP Apps extension, and the demonstration’s unauthenticated inbound configuration would need to be reassessed against the security requirements and threat model of a production deployment.
| Component | Role |
|---|---|
| AgentCore Runtime | Hosts the MCP application and handles the MCP protocol |
| AgentCore Gateway and AWS WAF | Provide the external endpoint, request screening and routing |
| AWS Lambda and DynamoDB | Execute business operations and persist application data |
| Amazon CloudFront and Amazon S3 | Deliver images used by interactive widgets |
Sources
Event date: 2026-09-11. Primary source date: 2026-09-11.