本项目提供了可部署的 Model Context Protocol (MCP) 服务器,适用于常见的 AWS 服务。同时,附带使用 Python 编写的 AWS Cloud Development Kit (CDK) 代码,用于配置必要的基础设施,以便在 ECS Fargate 上运行这些服务器。其目标是为 AI 开发者(如使用 Amazon Bedrock、LangChain 的开发者)提供可复用组件,使他们能轻松将这些服务器部署到自己的 AWS 账户中,通过标准化的 MCP 接口与 AWS 服务进行交互。
~/.aws/credentials 文件或环境变量设置。npm install -g aws - cdk)部署 Aurora PostgreSQL 数据 API 服务器的特定先决条件:
aws - mcp - infra/
├── mcp_servers/ # MCP 服务器的源代码
│ ├── location_service/ # TypeScript 服务器用于 AWS Location Service
│ ├── s3/ # Python 服务器用于 S3
│ └── aurora_pg_data_api/ # Python 服务器用于 Aurora PG 数据 API
├── cdk_deployment/ # CDK 部署代码和相关配置
│ ├── app.py # 主应用程序文件
│ ├── stack.py # 堆栈定义文件
│ └── README.md # 部署说明文档
└── .env # 环境变量文件,用于 CDK 配置
在项目目录中运行以下命令以安装所需的依赖项:
pip install -r requirements.txt
npm install --location_service
根据您的 AWS 账户和区域,更新 .env 文件中的配置:
AWS_ACCOUNT_ID=your_account_id
AWS_REGION=your_region
DB_CLUSTER_ARN=your_db_cluster_arn
DB_SECRET_ARN=your_db_secret_arn
在项目根目录中运行以下命令以初始化 CDK 环境:
cdk init --language python
创建一个新的 CDK 堆栈文件 stack.py,然后运行以下命令以部署资源:
cdk synth && cdk deploy
boto3)调用 ECS 任务,或者通过 AWS Systems Manager Session Manager 进行交互(如果已配置)。具体机制取决于客户端应用程序的设计。node build/index.js;对于 Aurora 数据 API 服务器,请运行 python aurora_pg_data_api_server.py。确保本地环境已配置 AWS 凭证,并且对于 Aurora 服务器,设置了 DB_CLUSTER_ARN 和 DB_SECRET_ARN 环境变量。要删除所有已部署的资源,运行:
cdk destroy --all
通过以上步骤,您可以轻松地将这些 MCP 服务器部署到 AWS 并进行管理。