awslabs/run-model-context-protocol-servers-with-aws-lambda
Run existing Model Context Protocol (MCP) stdio-based servers in AWS Lambda functions
何を解決するか
ほとんどのModel Context Protocol (MCP) サーバーは、標準入出力(stdio)を介して通信する子プロセスとしてローカルで実行されるように設計されています。このプロジェクトは、これらの stdio ベースのサーバーを AWS Lambda 関数にラップする方法を提供し、クラウド上でホストして HTTPS でアクセス可能にすることができます。これにより、単一のローカルマシンに束縛されずに済みます。
動作方法
このライブラリは Lambda 関数内の MCP サーバーのライフサイクルを管理します。各呼び出しにおいて、Lambda 関数は MCP サーバーを子プロセスとして起動し、初期化し、受信したリクエストを転送し、レスポンスを返した後、プロセスを終了します。以下の4つの接続方法をサポートしています:
- Amazon API Gateway:OAuth 認証を伴う MCP Streamable HTTP トランスポートを使用。
- Amazon Bedrock AgentCore Gateway:OAuth 認証を伴う MCP Streamable HTTP トランスポートを使用。
- Lambda Function URLs:AWS IAM(SigV4)で認証されるカスタム Streamable HTTP トランスポートを使用。
- Lambda Invoke API:AWS IAM を介して Lambda API を直接呼び出すカスタムトランスポートを使用。
対象ユーザー
Cursor、Cline、Claude Desktop などの MCP クライアントと互換性を維持しつつ、ローカル環境から分散型クラウドアーキテクチャへ MCP サーバーを移行したい開発者。
特徴
- 多言語対応:Python および TypeScript 用の実装例を提供。
- クラウドネイティブホスティング:MCP サーバーをサーバーレス関数として実行可能。
- 柔軟な認証:OAuth(API Gateway/Bedrock 経由)および AWS IAM をサポート。
- 詳細な設定ガイド:サーバーのパッケージング、AWS Secrets Manager を用いたシークレットの管理、子プロセスへの AWS 認証情報の渡し方に関するガイダンスを含む。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト