AWS Common MCP Servers with CDK Deployment

AWS Common MCP Servers with CDK Deployment

使用 AWS CDK 为常见 AWS 服务(Location、S3、Aurora PG Data API)部署可部署的 MCP 服务器。

vAirpower

云平台
访问服务器

README

基于 CDK 部署的 AWS 常用 MCP 服务器

本项目提供可部署的用于常见 AWS 服务的模型上下文协议 (MCP) 服务器,以及 AWS Cloud Development Kit (CDK) 代码(Python),用于配置运行这些服务器所需的基础设施,通常在 ECS Fargate 上运行。

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

包含的 MCP 服务器

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

前提条件

  • AWS 账户
  • 已在本地配置并具有适当权限的 AWS CLI(用于 CDK 部署)。应通过 ~/.aws/credentials 或环境变量设置凭据。
  • Node.js 和 npm(用于 Location Service 服务器构建过程和 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 Data API。
  • 一个 AWS Secrets Manager secret,其中包含集群的数据库凭据(用户名、密码)。部署需要此 secret 的 ARN。

项目结构

aws-mcp-infra/
├── mcp_servers/             # MCP 服务器的源代码
│   ├── location_service/    # 用于 AWS Location Service 的 TypeScript 服务器
│   ├── s3/                  # 用于 S3 的 Python 服务器
│   └── aurora_pg_data_api/  # 用于 Aurora PG Data API 的 Python 服务器
├── cdk_deployment/          # AWS CDK 代码 (Python)
│   ├── app.py               # CDK App 入口点
│   ├── cdk.json               # CDK 配置
│   ├── requirements.txt     # CDK Python 依赖项
│   └── aws_mcp_infra/       # CDK Stack 定义
│       ├── __init__.py
│       ├── location_service_stack.py
│       ├── s3_stack.py
│       └── aurora_pg_data_api_stack.py
├── .gitignore
└── README.md                # 此文件

部署

  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 中创建一个 secret(与部署相同的区域),其中包含数据库凭据(例如,键 usernamepassword)。
    • 使用您的特定集群 ARN 和您创建的 secret 的 ARN 更新 cdk_deployment/aws_mcp_infra/aurora_pg_data_api_stack.py 中的 db_cluster_arndb_secret_arn 变量。
  3. 安装 CDK 依赖项:
    cd cdk_deployment
    python3 -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt
    
  4. 引导 CDK(如果首次在此账户/区域中使用 CDK):
    cdk bootstrap aws://ACCOUNT-NUMBER/REGION # 替换为您的 AWS 账号和区域
    
  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 函数 / Bedrock Agents: 使用 AWS SDK(例如,Python 的 boto3)来调用 ECS 任务,或者可能通过 AWS Systems Manager Session Manager(如果已配置)进行交互。确切的机制取决于客户端应用程序如何设计与在 ECS 中运行的 MCP 服务器进行通信。
  • 本地测试(需要适配): 要在部署 之前 在本地测试这些服务器,您通常会在安装它们各自的依赖项(npm installpip install -r requirements.txt)并确保您的本地环境已配置 AWS 凭据后,直接运行它们(node build/index.jspython aurora_pg_data_api_server.py)。对于 Aurora 服务器,您还需要在本地设置 DB_CLUSTER_ARNDB_SECRET_ARN 环境变量。

清理

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

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

推荐服务器

contentful-mcp

contentful-mcp

在你的 Contentful Space 中更新、创建、删除内容、内容模型和资源。

精选
TypeScript
Supabase MCP Server

Supabase MCP Server

一个模型上下文协议(MCP)服务器,它提供对 Supabase 管理 API 的编程访问。该服务器允许 AI 模型和其他客户端通过标准化的接口来管理 Supabase 项目和组织。

精选
JavaScript
Azure MCP Server

Azure MCP Server

通过 Claude Desktop 实现与 Azure 服务的自然语言交互,支持资源管理、订阅处理和租户选择,并提供安全身份验证。

官方
本地
TypeScript
Settlemint

Settlemint

利用 SettleMint 的模型上下文协议服务器,无缝地与企业区块链基础设施交互。通过人工智能驱动的助手构建、部署和管理智能合约,从而简化您的区块链开发工作流程,实现最高的效率。

官方
本地
TypeScript
Brev

Brev

在云端运行、构建、训练和部署机器学习模型。

官方
本地
Python
Story Protocol SDK MCP

Story Protocol SDK MCP

这个服务器提供 MCP(模型上下文协议)工具,用于与 Story 的 Python SDK 交互。 功能: * 获取许可条款 * 使用 PIL 条款铸造和注册 IP 资产 * 铸造许可代币 * 向钱包发送 $IP * 通过 Pinata [外部] 上传图像到 ipfs * 通过 Pinata [外部] 上传 IP 和 NFT 元数据

官方
Python
Tembo MCP Server

Tembo MCP Server

一个 MCP 服务器,它使 Claude 能够与 Tembo Cloud 平台 API 交互,从而允许用户通过自然语言管理 Tembo Cloud 资源。

官方
TypeScript
Workers MCP

Workers MCP

一个连接 Claude Desktop 和其他 MCP 客户端到 Cloudflare Workers 的软件包,从而可以通过模型上下文协议,使用自然语言访问自定义功能。

官方
TypeScript
Appwrite MCP Server

Appwrite MCP Server

一个模型上下文协议服务器,允许 AI 助手与 Appwrite 的 API 交互,从而提供管理 Appwrite 项目中数据库、用户、函数、团队和其他资源的工具。

官方
Python
MCP2Lambda

MCP2Lambda

通过 MCP 协议,人工智能模型能够与 AWS Lambda 函数交互,从而在安全的环境中访问私有资源、实时数据和自定义计算。

官方
Python