AWS MCP服务器部署工具

提供可部署的AWS服务MCP服务器及CDK基础设施代码,帮助AI开发者快速在AWS账户中部署标准化MCP接口服务。

  • by vAirpower
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 vairpower/aws-common-mcp-servers

使用说明

部署了CDK的AWS通用MCP服务器

该项目为常见的AWS服务提供可部署的模型上下文协议(MCP)服务器,以及AWS云开发工具包(CDK)代码(Python),为运行这些服务器(通常在ECS Fargate上)提供必要的基础设施。

目标是提供可重用的组件,人工智能开发人员(例如,使用Amazon Bedrock、LangChain)可以轻松地将其部署到他们的AWS帐户中,通过标准化的MCP接口与AWS服务进行交互。

包含MCP服务器

  1. AWS定位服务: (TypeScript)公开搜索地点、获取地点详细信息、计算路线等功能。基于 aws定位服务器.
  2. 亚马逊S3: (Python)提供用于基本S3操作的工具,如列出bucket/对象、获取、放置和删除对象。
  3. Amazon Aurora PostgreSQL(通过RDS Data API): (Python)允许使用安全的RDS Data API对指定的Aurora PostgreSQL集群执行SQL语句。

先决条件

  • AWS帐户
  • AWS CLI在本地配置了适当的权限(用于CDK部署)。应通过以下方式设置凭据 ~/.aws/credentials 或环境变量。
  • Node.js和npm(用于位置服务服务器构建过程和CDK)
  • Python 3.9+(适用于CDK和基于Python的MCP服务器)
  • AWS-CDK-CLI(npm install -g aws-cdk)
  • Docker(在本地运行,以便CDK构建容器映像)
  • Git

Aurora PostgreSQL Data API服务器的特定先决条件:

  • 在目标AWS区域中运行的现有Aurora PostgreSQL兼容集群。
  • 集群必须启用RDS数据API。
  • 包含群集数据库凭据(用户名、密码)的AWS Secrets Manager机密。部署时需要此秘密的ARN。

项目结构

aws-mcp-infra/
├── mcp_servers/             # Source code for the MCP servers
│   ├── location_service/    # TypeScript server for AWS Location Service
│   ├── s3/                  # Python server for S3
│   └── aurora_pg_data_api/  # Python server for Aurora PG Data API
├── cdk_deployment/          # AWS CDK code (Python)
│   ├── app.py               # CDK App entry point
│   ├── cdk.json             # CDK configuration
│   ├── requirements.txt     # CDK Python dependencies
│   └── aws_mcp_infra/       # CDK Stack definitions
│       ├── __init__.py
│       ├── location_service_stack.py
│       ├── s3_stack.py
│       └── aurora_pg_data_api_stack.py
├── .gitignore
└── README.md                # This file

部署

  1. 克隆存储库:
    git clone https://github.com/vAirpower/aws-common-mcp-servers.git
    cd aws-common-mcp-servers
    
  2. 配置Aurora先决条件(如果部署Aurora服务器):
    • 确保您的Aurora PostgreSQL集群存在并且启用了Data API。
    • 在AWS Secrets Manager(与部署区域相同)中创建一个包含DB凭据(例如密钥)的秘密 username, password).
    • 更新 db_cluster_arn 和 db_secret_arn 变量在 cdk_deployment/aws_mcp_infra/aurora_pg_data_api_stack.py 使用您的特定集群ARN和您创建的秘密的ARN。
  3. 安装 CDK 依赖项:
    cd cdk_deployment
    python3 -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt
    
  4. Bootstrap CDK(如果第一次在此帐户/地区使用CDK):
    cdk bootstrap aws://ACCOUNT-NUMBER/REGION # Replace with your AWS account number and region
    
  5. 部署堆栈: 部署所有堆栈(创建VPC、集群和所有三个服务):
    cdk deploy --all --require-approval never
    
    或者部署特定的堆栈:
    cdk deploy LocationServiceMcpStack S3McpStack AuroraPgDataApiMcpStack --require-approval never
    

部署将为每台服务器构建Docker镜像,将其推送到CDK创建的ECR存储库,并提供ECS Fargate服务。

用法

部署后,MCP服务器作为ECS Fargate服务中的任务运行。默认情况下,它们不会公开。交互通常发生在您的AWS环境中:

  • 来自Lambda函数/基岩试剂: 使用AWS SDK(例如。, boto3 用于Python)调用ECS任务或可能通过AWS Systems Manager会话管理器(如果已配置)进行交互。确切的机制取决于客户端应用程序如何设计为与运行在ECS中的MCP服务器通信。
  • 本地测试(需要调整): 在本地测试这些服务器 之前 部署时,您通常会直接运行它们(node build/index.js 或 python aurora_pg_data_api_server.py)安装各自的依赖项后(npm install 或 pip install -r requirements.txt)并确保您的本地环境已配置AWS凭据。对于Aurora服务器,您还需要设置 DB_CLUSTER_ARN 和 DB_SECRET_ARN 局部环境变量。

清理

要删除所有已部署的资源,请运行:

cd cdk_deployment
source .venv/bin/activate
cdk destroy --all