Технологии
AWS показала, как запускать интерактивные MCP Apps в AgentCore
Один MCP server может отдавать инструменты и HTML-виджеты в разные AI hosts. В эталонной архитектуре AWS runtime изолирует сессии, Gateway открывает управляемую точку входа, а бизнес-логика остаётся в Lambda и DynamoDB.

MCP выходит за пределы текстового ответа
AWS опубликовала эталонный проект MCP App с интерактивными HTML-виджетами, развёрнутый в Amazon Bedrock AgentCore. В демонстрации Unicorn Rentals пользователь просматривает карточки доступных единорогов, оформляет аренду, проверяет активную бронь и завершает её прямо внутри AI host. Один и тот же server рассчитан на ChatGPT, Claude и другие hosts, поддерживающие расширение MCP Apps.
MCP Apps расширяет Model Context Protocol связкой tools и ресурсов интерфейса. Tool возвращает structuredContent, а поле _meta.ui.resourceUri указывает host, какой HTML-ресурс нужно показать. Сам host запрашивает ресурс через resources/read и рендерит self-contained HTML в sandboxed iframe, передавая туда структурированные данные результата.
Богатый интерфейс при этом не обязателен для каждого действия. В примере список доступных вариантов и подтверждение брони представлены карточками, а просмотр текущей аренды и итоговый расчёт возвращаются обычным текстом. Так UI становится частью контракта конкретного инструмента, а не принудительной оболочкой каждого ответа модели.
AgentCore отделяет протокол от бизнес-логики
MCP App написан на TypeScript с официальным @modelcontextprotocol/sdk и расширением @modelcontextprotocol/ext-apps, а внутри AgentCore runtime работает как Express.js server. В конфигурации runtime указаны NODE_22, entry point и режим MCP. Пакет загружается через Amazon S3, после чего runtime автоматически масштабирует приложение и изолирует сессии.
Сервер регистрирует tools list_unicorns, book_unicorn, view_bookings и return_unicorn, а также ресурсы виджетов. Однако правила аренды в нём не реализованы: запросы передаются отдельной AWS Lambda, которая работает с Amazon DynamoDB. AWS подчёркивает, что вместо Lambda можно подключить существующие сервисы в Amazon ECS, Amazon EKS или другой среде — MCP-слой остаётся тонким adapter.
Это архитектурное разделение позволяет независимо менять хранилище, инструменты, дизайн виджетов и backend services. AI host видит стабильный MCP-контракт, тогда как прикладная система не обязана знать о MCP. Переносимость здесь относится к hosts, которые действительно поддерживают MCP Apps extension; публикация AWS не утверждает, что виджеты заработают в любом MCP client без этой поддержки.
Gateway даёт внешнюю точку входа, но пример требует явной защиты
В опубликованной схеме AI host обращается к AgentCore Gateway, Gateway вызывает runtime по SigV4 с собственной IAM role, а AWS WAF проверяет входящий трафик. Для демонстрации Gateway принимает внешние запросы в режиме No Auth, поэтому доступ ограничивается IP allowlist, managed threat-detection rules и rate limiting в WAF. Resource-based policy runtime разрешает вызов только execution role этого Gateway и отклоняет другие principals.
Последовательность состоит из двух фаз. Сначала host переводит естественный запрос в tools/call, а MCP App передаёт бизнес-операцию Lambda и возвращает результат. Если tool связан с resource URI, host затем делает resources/read, получает HTML и показывает его в iframe; инструменты без виджета пропускают вторую фазу.
Для production AWS советует проверять аргументы строгими schemas и повторно валидировать их уже в Lambda, чтобы бизнес-логика не доверяла входу MCP server. Для неструктурированного текста предлагаются Amazon Bedrock Guardrails, а для наблюдаемости — метрики Gateway, Lambda invocations, состояние runtime containers, alarms по ошибкам и latency и логирование MCP methods.
Репозиторий превращает схему в воспроизводимый шаблон
AWS выложила код примера в aws-samples/sample-agentcore-mcp-apps. Для развёртывания нужны AWS account с необходимыми IAM permissions, Node.js 22+, AWS CLI 2.0+ и AWS CDK CLI; сборку и создание stacks запускает bash deploy.sh. Полученный GatewayResourceUrl затем добавляется как remote MCP server в поддерживаемый AI host.
Главная ценность публикации — не сюжет про аренду единорогов, а полный путь от tool schema до интерактивного ответа. Он показывает, где проходит граница ответственности между host, MCP server, gateway, runtime и прикладным backend. Это полезнее изолированной демонстрации виджета: команды получают шаблон deployment, сетевой контур и набор production considerations.
Но это reference implementation, а не измерение production-нагрузки. AWS не приводит в статье latency, throughput, стоимость типичного сеанса или результаты независимого security audit. Перед реальным внедрением придётся проверить поддержку MCP Apps в выбранных hosts, модель внешней аутентификации, ограничения sandbox, политику загрузки ресурсов и экономику AgentCore на собственном трафике.