MCP ラムダ SAM
AWS Lambda と SAM を使用したモデルコンテキストプロトコル (MCP) の実装。
概要
このプロジェクトは、2 つの異なるインターフェースを持つ、モデル コンテキスト プロトコルのサーバーレス実装を提供します。
システム構成(管理):
MCPツール、リソース、プロンプトの登録
IAM権限管理
インフラストラクチャのセットアップと構成
システム使用状況(クライアント):
SSE接続の確立
コマンドの送信
ストリーミング応答の受信
建築
人魚の図
この Mermaid 構文を使用してシステムを視覚化できます。
MCP Lambda は、起動時およびリクエストの処理時に登録テーブルから登録を読み取ります。
セッション状態を永続化するためにセッション テーブルを使用します。
登録テーブルに保存されている ARN を使用して、登録された Lambda ツールを動的に呼び出します。
システム構成ガイド(管理者)
このセクションは、MCP サーバーを構成および管理する必要があるシステム管理者を対象としています。
展開
このコマンドは対話形式で管理構成を要求します。
スタック名(複数インスタンスの場合)
AWS リージョン
VPC 構成(オプション)
権限の概要
MCP エンドポイントにアクセスするには、ユーザーとクライアントは関連する関数 URL を呼び出すための IAM 権限を持っている必要があります。
管理者:
mcp-registration
関数の URL を呼び出す権限が必要ですクライアント:
mcp
関数 URL を呼び出す権限が必要です
IAM ポリシーまたはaws lambda add-permission
(以下を参照) を使用してアクセスを許可できます。
AWS CLI 経由で権限を割り当てる
登録機能 URLを呼び出す権限を付与するには:
MCP 関数 URL (SSE およびメッセージ) を呼び出す権限を付与するには:
<registration-function-name>
と<mcp-function-name>
を実際の Lambda 関数名に置き換えます。
登録API
これらのエンドポイントを使用して、MCP ツール、リソース、およびプロンプトを管理します。
新しいツールを登録する
登録の更新
登録を削除
登録リスト
必要なIAM権限
管理者向け
登録を管理するには、管理者には次の権限が必要です。
システム利用ガイド(クライアント)
このセクションは、MCP サーバーを使用するクライアント向けです。
必要なIAM権限
MCP サーバーを使用するには、クライアントに次の権限が必要です。
サーバーへの接続
SSE接続を確立します:
SSE の cURL の例
最初のイベントにはsessionId
が含まれます。メッセージを送信する際にこれを使用してください。
送信コマンド:
エラー処理
一般的なクライアントエラー
401
: AWS 認証情報が無効または見つかりません403
: 権限が不十分です404
: 無効なセッションID429
: レート制限を超えました
トラブルシューティング
接続の問題:
AWS認証情報を確認する
IAM権限を確認する
ネットワーク接続を確保する
コマンド実行エラー:
セッションIDがアクティブであることを確認する
コマンド形式がツール登録と一致しているかどうかを確認します
パラメータがスキーマと一致していることを確認する
要件
AWS CLI がインストールおよび設定されている
AWS SAM CLI がインストールされている
Node.js 20.x 以降
以下を作成する権限を持つ AWS アカウント:
ラムダ関数
DynamoDB テーブル
IAMロール
SQSキュー
AWS SAM CLI セットアップ
AWS SAM CLI を使用してこのアプリケーションをローカルまたは AWS にデプロイするには:
AWS SAM CLI をインストールします: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html
PATH で使用可能であることを確認します。
アプリケーションをビルドしてデプロイします。
プロンプトに従って、スタック名、リージョン、機能、およびパラメータのオーバーライドを構成します。
保存した構成を使用するには、 --guided
なしでsam deploy
再実行できます。
インストール
このアプリケーションは、次の 4 つの方法でインストールおよび展開できます。
1. AWS サーバーレスアプリケーションリポジトリ (SAR) の使用
MCP サーバーをデプロイする最も簡単な方法は、AWS Serverless Application Repository (SAR) を使用することです。
SARコンソールへ移動
Mark Van Proctorによるmcp-lambda-samを検索
デプロイをクリック
パラメータを設定します:
StackIdentifier
: このMCPサーバーインスタンスの一意のIDVpcEnabled
: VPC にデプロイする場合はtrue
に設定しますVpcId
とSubnetIds
:VpcEnabled
がtrue
の場合にのみ指定します
指示に従って展開します
あるいは、AWS CLI からデプロイすることもできます。
2. npx の使用 (CLI)
このコマンドは対話形式で管理構成を要求します。
スタック名(複数インスタンスの場合)
AWS リージョン
VPC 構成(オプション)
3. インストールによるプログラム的な使用
パッケージをインストールします。
パッケージをインストールしたら、プログラムで使用できます。
4. ローカル開発と展開
パッケージをインストールします。
開発の変更を行った後、手動でデプロイできます。
発達
SARへの公開
このプロジェクトに貢献していて、SAR に更新を公開する必要がある場合:
アプリケーションをパッケージ化します。
SAR に公開:
アプリケーションを公開する (1 回限りの設定):
AWSコンソール > サーバーレスアプリケーションリポジトリに移動します
アプリケーションを選択
「共有」をクリックし、「公開」を選択します
次の共有ポリシーを適用します: GXP25
ライセンス
マサチューセッツ工科大学
貢献
リポジトリをフォークする
機能ブランチを作成する
変更をコミットする
ブランチにプッシュする
新しいプルリクエストを作成する
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
SSE サポートを備えた AWS Lambda 関数用のモデルコンテキストプロトコル サーバー インフラストラクチャを提供する Node.js パッケージ。開発者は MCP ツールとプロンプトをサーバーレス関数として実装できます。
Related MCP Servers
- AsecurityAlicenseAqualityEnables AI models to interact with AWS Lambda functions via the MCP protocol, allowing access to private resources, real-time data, and custom computation in a secure environment.Last updated -2108MIT License
- AsecurityAlicenseAqualityA comprehensive Model Context Protocol server that provides advanced Node.js development tooling for automating project creation, component generation, package management, and documentation with AI-powered assistance.Last updated -75MIT License
- AsecurityAlicenseAqualityA Model Context Protocol server implementation that enables Claude to perform AWS operations on S3 and DynamoDB services through natural language commands.Last updated -23127MIT License
- -securityAlicense-qualityA Node.js package providing Model Context Protocol server infrastructure for AWS Lambda functions with streaming response capabilities through Server-Sent Events.Last updated -11212MIT License