mcpField
A
AWS Common MCP Servers with CDK Deployment

AWS Common MCP Servers with CDK Deployment

ローカル
github.com/vAirpowerクラウド・インフラ183 週間前に更新

AWS Common MCP Servers with CDK Deployment について

AWS Location Service、S3、RDS Data API経由のAurora PostgreSQL向けMCPサーバーと、デプロイ用のAWS CDKコードを提供します。MCPでAWSサービスを利用するAI開発者向けです。

主な機能

  1. 01場所検索、詳細取得、ルート計算
  2. 02S3バケットとオブジェクトの操作
  3. 03Data API経由のAurora PostgreSQL SQL実行
  4. 04CDKによるECS Fargateへのインフラデプロイ

活用シーン

  1. 01Location Serviceで場所検索やルート計算
  2. 02S3オブジェクトの一覧、取得、アップロード、削除
  3. 03Aurora PostgreSQLクラスターへのSQL実行
  4. 04AWSアカウントへのMCPサービスのデプロイ

MCP 対応

AWS Location Service、S3、Aurora PostgreSQLの操作をMCPクライアント向けのツールとして公開します。AWS CDKコードでサーバー実行用のインフラを構築し、通常はECS Fargateにデプロイします。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

AWS Common MCP Servers with CDK Deployment

このプロジェクトでは、一般的な AWS サービス向けにデプロイ可能な Model Context Protocol(MCP)サーバーと、これらのサーバーを実行するために必要なインフラストラクチャ(通常は ECS Fargate 上)をプロビジョニングする AWS Cloud Development Kit(CDK)のコード(Python)を提供します。

AI 開発者(Amazon Bedrock、LangChain などを使用する開発者)が、標準化された MCP インターフェースを通じて AWS サービスと連携するため、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 シークレット。デプロイには、このシークレットの 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 が有効になっていることを確認します。
    • データベース認証情報(例:username、password キー)を格納したシークレットを、AWS Secrets Manager に作成します(デプロイ先と同じリージョン)。
    • cdk_deployment/aws_mcp_infra/aurora_pg_data_api_stack.py の db_cluster_arn および db_secret_arn 変数を、対象クラスターの ARN と作成したシークレットの 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 # Replace with your AWS account number and region
    
  5. スタックをデプロイします: すべてのスタックをデプロイします(VPC、クラスター、および 3 つのサービスすべてを作成します)。
    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 install または pip install -r requirements.txt)をインストールし、ローカル環境に AWS 認証情報を設定したうえで、サーバーを直接実行します(node build/index.js または python aurora_pg_data_api_server.py)。Aurora サーバーの場合は、ローカルで DB_CLUSTER_ARN と DB_SECRET_ARN の環境変数も設定する必要があります。

クリーンアップ

デプロイしたすべてのリソースを削除するには、次を実行します。

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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。