Guidance for Deploying Model Context Protocol Servers on AWS

Guidance for Deploying Model Context Protocol Servers on AWS

site icon
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表默认使用按需容量

使用教程

使用依赖

  1. AWS CLI:安装并配置AWS CLI
  2. Node.js:安装Node.js v14或更高版本
  3. AWS CDK:安装AWS CDK bash npm install -g aws-cdk

安装教程

  1. 克隆仓库: bash git clone <repository-url> cd guidance-for-remote-mcp-servers-on-aws cd source
  2. 安装依赖: bash npm install
  3. 部署堆栈: bash cdk deploy --all
  4. (可选)配置自定义域名: bash cdk deploy --all --context certificateArn=arn:aws:acm:... --context customDomain=mcp-server.example.com

调试方式

  1. 验证CloudFormation堆栈状态:
  2. 打开AWS CloudFormation控制台
  3. 检查所有堆栈是否显示“CREATE_COMPLETE”
  4. 验证Cognito设置:
  5. 打开Amazon Cognito控制台
  6. 验证用户池创建
  7. 确认应用客户端配置
  8. 验证基础设施:
  9. CloudFront分发状态为“Deployed”
  10. 应用负载均衡器状态为“Active”
  11. ECS服务正在运行

许可证

该项目遵循 MIT-0 开源许可条款,请参阅 MIT-0 了解完整条款。