
Guidance for Deploying Model Context Protocol Servers on AWS

2025.05.09
1
TypeScriptAWS部署安全认证远程访问其它
该指南提供了在AWS上部署模型上下文协议(MCP)服务器的详细步骤,重点在于通过Amazon Cognito实现安全认证。它解决了在AWS基础设施上安全托管MCP服务器、使用AWS Cognito进行认证和授权、通过安全端点远程访问MCP服务器以及使用AWS CDK进行可扩展和可维护的部署等关键挑战。
View on GitHub
Overview
基本能力
产品定位
该服务是一个指导文档,旨在帮助用户在AWS上部署和管理模型上下文协议(MCP)服务器,特别强调安全认证和远程访问能力。
核心功能
- 安全托管MCP服务器在AWS基础设施上
- 使用AWS Cognito进行认证和授权
- 通过安全端点远程访问MCP服务器
- 使用AWS CDK进行可扩展和可维护的部署
适用场景
- 需要在AWS上部署MCP服务器的开发者和团队
- 需要远程访问MCP服务器的场景
- 需要高安全性和可扩展性的MCP服务器部署
工具列表
mcp-remote
:一个实验性工具,使仅支持本地(stdio)服务器的MCP客户端能够连接到远程MCP服务器,支持认证。
常见问题解答
- 已知问题:
- 令牌刷新在某些情况下可能需要重新认证
- CloudFront缓存失效可能需要长达5分钟
- Fargate容器的初始冷启动延迟
- 额外考虑:
- 为OAuth流程创建公共端点
- CloudFront分发可能需要15-20分钟部署
- DynamoDB表默认使用按需容量
使用教程
使用依赖
- AWS CLI:安装并配置AWS CLI
- Node.js:安装Node.js v14或更高版本
- AWS CDK:安装AWS CDK
bash npm install -g aws-cdk
安装教程
- 克隆仓库:
bash git clone <repository-url> cd guidance-for-remote-mcp-servers-on-aws cd source
- 安装依赖:
bash npm install
- 部署堆栈:
bash cdk deploy --all
- (可选)配置自定义域名:
bash cdk deploy --all --context certificateArn=arn:aws:acm:... --context customDomain=mcp-server.example.com
调试方式
- 验证CloudFormation堆栈状态:
- 打开AWS CloudFormation控制台
- 检查所有堆栈是否显示“CREATE_COMPLETE”
- 验证Cognito设置:
- 打开Amazon Cognito控制台
- 验证用户池创建
- 确认应用客户端配置
- 验证基础设施:
- CloudFront分发状态为“Deployed”
- 应用负载均衡器状态为“Active”
- ECS服务正在运行