AS

aws-samples/sample-multi-tenant-saas-mcp-server

Developer toolsОфициальный

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

20 stars 10 forks Качество 66 Тренд 30MIT-0

Многопользовательский удаленный MCP-сервер с Amazon Cognito и удаленный клиент с Amazon Bedrock, размещенный на AWS

Обзор

Этот репозиторий содержит многопользовательскую реализацию удаленного MCP-сервера с использованием потокового HTTP-транспорта, написанного с помощью TypeScript SDK. Реализация удаленного MCP-сервера для бронирования поездок B2B с многопользовательской аутентификацией и авторизацией через Amazon Cognito и OAuth 2.1. - Node.js с Express и MCP SDK для инструментов, ресурсов и подсказок - Услуги AWS: ECS, DynamoDB, S3, Cognito - Защищенная обработка ресурсов метаданных () - Архитектура с несколькими арендаторами с изоляцией данных - Динамическая регистрация клиентов () - Конфигурация OpenID для рекламы конечной точки регистрации () Подробный обзор архитектуры см. в MCP Server README. Обратите внимание на выходной URL https://mc-xxx.ecs. .on.aws. Создайте пользователя со сценарием управляющих пользователей: Суффикс +tenantname становится идентификатором арендатора (см. Управление пользователями). Два способа подключения к развернутому серверу. Для проверки на уровне протокола - см. инструменты / ресурсы / рекомендации, ссылайтесь на них вручную, без LLM в цикле.

Обзор (машинный перевод)

Этот репозиторий содержит многопользовательскую реализацию удаленного MCP-сервера с использованием потокового HTTP-транспорта, написанного с помощью TypeScript SDK.

MCP сервер

Реализация удаленного MCP-сервера для бронирования поездок B2B с многопользовательской аутентификацией и авторизацией через Amazon Cognito и OAuth 2.1.

Node.js с Express и MCP SDK для инструментов, ресурсов и подсказок Сервисы AWS: ECS, DynamoDB, S3, Cognito Защищенная обработка метаданных (RFC 9728) Многопользовательская архитектура с изоляцией данных Динамическая регистрация клиентов (RFC 7591) Конечная точка конфигурации OpenID для рекламы конечной точки регистрации (RFC 8414)

Подробный обзор архитектуры см. в MCP Server README.

##Развернуть

Обратите внимание на выходной URL ([T0]). Создайте пользователя со сценарием управляющих пользователей:

Суффикс +tenantname становится идентификатором арендатора (см. Управление пользователями).

Попробуйте

Два способа подключения к развернутому серверу.

###1 Инспектор MCP

Для проверки на уровне протокола - см. инструменты / ресурсы / рекомендации, ссылайтесь на них вручную, без LLM в цикле.

Откройте URL, который он печатает, вставьте https://mc-xxx.ecs. .on.aws/mcp, заполните поток OAuth, инструменты упражнений.

###2.

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Multi-Tenant (SaaS) MCP Server Sample

This repository contains a multi-tenant remote MCP server implementation using the Streamable HTTP transport written with the TypeScript SDK.

MCP Server

A remote MCP server implementation for B2B travel booking with multi-tenant authentication and authorization via Amazon Cognito and OAuth 2.1.

  • Node.js with Express and MCP SDK for tools, resources and prompts
  • AWS services: ECS, DynamoDB, S3, Cognito
  • Protected Metadata Resource handling (RFC 9728)
  • Multi-tenant architecture with data isolation
  • Dynamic client registration (RFC 7591)
  • OpenID Configuration endpoint to advertise the registration endpoint (RFC 8414)

For a detailed architecture overview, see the MCP Server README.

Deploy

cd mcp_server/infra
npm install
./deploy.sh

Note the output URL (https://mc-xxx.ecs..on.aws). Create a user with the manage-users script:

cd mcp_server/scripts
npm install
node manage-users.js create myuser [email protected]

The +tenantname suffix becomes the tenant ID (see User Management).

Try it

Two ways to connect to the deployed server.

1. MCP Inspector

For protocol-level inspection — see tools/resources/prompts, invoke them manually, no LLM in the loop.

npx @modelcontextprotocol/inspector

Open the URL it prints, paste https://mc-xxx.ecs..on.aws/mcp, complete the OAuth flow, exercise tools.

2. Amazon Quick Suite

For end-to-end chat with the MCP tools. The Quick Suite MCP client handles OAuth 2.1 + PKCE + Dynamic Client Registration automatically.

  1. Open Amazon Quick Suite → Connections → Integrations → Actions.
  2. Choose Model Context Protocol → +.
  3. MCP server endpoint: https://mc-xxx.ecs..on.aws/mcp
  4. Authentication: User authentication (OAuth). Leave credentials blank — DCR will register Quick automatically.
  5. Approve in the Cognito hosted UI when prompted.
  6. Quick discovers all tools (whoami, find_flights, book_flight, list_hotels, book_hotel, list_bookings, loyalty_info).

Full setup reference: Model Context Protocol (MCP) integration.

Disclaimer

This repository is for demonstration and reference purposes only. The code and configurations provided are not intended for production use without proper review, testing, and security considerations.

Contributing

See CONTRIBUTING for more information.

License

This library is licensed under the MIT-0 License. See the LICENSE file.

Открыть полный README на GitHub

Установка

npx @modelcontextprotocol/inspector
Новичок в MCP? Начните с руководства на mcpskill.org →