[SEO Subhead]
This Guidance demonstrates how to securely run Model Context Protocol (MCP) servers on the AWS Cloud using containerized architecture. It helps organizations implement industry-standard OAuth 2.0 authentication while protecting server deployments with multiple security layers, including content delivery networks and web application firewalls. The Guidance shows how to effectively manage client sessions and tokens, monitor server behavior through centralized logging, and maintain high availability using container orchestration services. By following this Guidance, you can confidently deploy and operate secure, scalable MCP server implementations to reduce operational overhead and improve overall system reliability.
Note: [Disclaimer]
Architecture Diagram

[Architecture diagram description]
Step 1
The MCP client initiates the OAuth request. The request passes through the HAQM CloudFront distribution (protected by AWS WAF) and Application Load Balancer (ALB) to the MCP Auth Service (MAS).
Step 2
MAS runs in a secure virtual private cloud (VPC) on AWS Fargate using container images published to HAQM Elastic Container Registry (HAQM ECR). The server writes task logs to HAQM CloudWatch, retrieves configurations from Parameter Store (a capability of AWS Systems Manager), and retrieves sensitive variables from AWS Secrets Manager.
Step 3
The MAS redirects the user to HAQM Cognito for authentication. The server generates a unique session ID and stores the client information and OAuth parameters in HAQM DynamoDB with a 24-hour time-to-live (TTL).
Step 4
The user authenticates directly with HAQM Cognito in the browser. HAQM Cognito validates credentials and issues authorization codes for successful authentications.
Step 5
After successful authentication, HAQM Cognito redirects back to the MAS callback URL. The MAS retrieves the original session data from DynamoDB using the session ID passed as state parameter.
Step 6
MAS exchanges an authorization code for tokens from HAQM Cognito. MAS stores a mapping between the MAS authorization code and HAQM Cognito tokens in DynamoDB with a 10-minute TTL.
Step 7
MAS generates its own access token and sends to the MCP client. The response flows back through ALB and CloudFront. MAS generates refresh tokens stored in DynamoDB with a 30-day TTL for enabling token refresh without re-authentication.
Step 8
The MCP client uses the received access token when making API requests to MCP servers on Fargate and AWS Lambda, which validate the token's signature and verify its status with HAQM Cognito before processing the request and returning a response to the client.
Get Started

Deploy this Guidance
Well-Architected Pillars

The AWS Well-Architected Framework helps you understand the pros and cons of the decisions you make when building systems in the cloud. The six pillars of the Framework allow you to learn architectural best practices for designing and operating reliable, secure, efficient, cost-effective, and sustainable systems. Using the AWS Well-Architected Tool, available at no charge in the AWS Management Console, you can review your workloads against these best practices by answering a set of questions for each pillar.
The architecture diagram above is an example of a Solution created with Well-Architected best practices in mind. To be fully Well-Architected, you should follow as many Well-Architected best practices as possible.
-
Operational Excellence
CloudWatch logs provide centralized logging for all MCP server containers with configurable retention periods, allowing operators to monitor and troubleshoot server behavior. The AWS Cloud Development Kit (AWS CDK) implementation enables infrastructure-as-code (IaC) practices for consistent, repeatable deployments. HAQM Elastic Container Service (HAQM ECS) health checks integrate with ALB to provide automated monitoring of service health. This creates a unified operational model with clear visibility into MCP server behavior.
-
Security
HAQM Cognito provides OAuth 2.0 authentication with the authorization code grant flow, enabling secure machine-to-machine communication with MCP servers. AWS WAF protects against common web exploits and includes rate limiting to prevent distributed denial of service (DDoS) attacks. The network architecture places MCP servers in private subnets without direct internet access, while security groups restrict traffic flow between components. CloudFront provides HTTPS encryption in transit with modern HTTP2 and HTTP3 protocols. This multi-layered security approach implements the principle of defense in depth, eliminating the need to build custom authentication systems and providing industry-standard OAuth flows.
-
Reliability
HAQM ECS services are configured to run across multiple Availability Zones with health checks that automatically replace unhealthy containers. ALB routes traffic only to healthy targets and provides connection draining during deployments. CloudFront improves availability by serving from edge locations and caching responses. Auto-scaling policies adjust capacity based on demand. This Guidance eliminates single points of failure, helping ensure that MCP servers remain available even if an entire AZ experiences an outage. Health checks with automatic recovery minimize downtime by replacing failed containers without human intervention.
-
Performance Efficiency
CloudFront improves global performance by caching and serving content from edge locations closer to clients. ALB efficiently distributes traffic across healthy containers and supports modern HTTP/2 protocols for improved connection efficiency. This avoids overprovisioning by allowing precise specification of resource requirements per MCP server and dynamically adjusting capacity based on actual demand.
-
Cost Optimization
CloudWatch log retention policies automatically delete older logs, preventing storage costs from growing unbounded. The Guidance enables multiple MCP servers to share common infrastructure components like NAT gateways, ALBs, and the VPC. The serverless container model eliminates costs associated with idle servers.
-
Sustainability
The shared infrastructure approach for multiple MCP servers increases utilization of networking components like NAT gateways and load balancers, improving the overall carbon efficiency of the deployment. This Guidance aligns with sustainability best practices by maximizing resource utilization through efficient container placement, dynamic scaling, and infrastructure sharing.
Related Content

[Title]
Disclaimer
The sample code; software libraries; command line tools; proofs of concept; templates; or other related technology (including any of the foregoing that are provided by our personnel) is provided to you as AWS Content under the AWS Customer Agreement, or the relevant written agreement between you and AWS (whichever applies). You should not use this AWS Content in your production accounts, or on production or other critical data. You are responsible for testing, securing, and optimizing the AWS Content, such as sample code, as appropriate for production grade use based on your specific quality control practices and standards. Deploying AWS Content may incur AWS charges for creating or using AWS chargeable resources, such as running HAQM EC2 instances or using HAQM S3 storage.
References to third-party services or organizations in this Guidance do not imply an endorsement, sponsorship, or affiliation between HAQM or AWS and the third party. Guidance from AWS is a technical starting point, and you can customize your integration with third-party services when you deploy the architecture.