このプロジェクトは、AWS CDK を使用して AWS Lambda と API Gateway 上でステートレスな MCP サーバーを構築します。 sample-serverless-mcp-serversの CDK 移植になります。
- AWS CLI (設定済み)
- Node.js と npm
- AWS CDK
npm install(cd src/js/mcpclient && npm install)
(cd src/js/mcpserver && npm install)(cd src/js/mcpclient && npm install)
(cd src/ts/mcpserver && npm install)MCP サーバーをローカルで実行:
node src/js/mcpserver/index.js(cd src/ts/mcpserver && npm run dev)別のターミナルウィンドウでクライアントを実行:
node src/js/mcpclient/index.jsClaude & Cursor クライアントでテスト
"example-local": {
"command": "/path/to/npx",
"args": ["mcp-remote", "http://localhost:3000/mcp"]
}cdk deploy --region us-east-1cdk deploy する前にまずは実行ファイルを build
(cd src/ts/mcpserver && npm run build)lib/serverless-mcp-servers-cdk-stack.ts
code: lambda.Code.fromAsset(path.join(__dirname, "../src/ts/mcpserver/dist")), // Honoメインディレクトリに戻って
cdk deploy --region us-east-1- このプロジェクトは必ず us-east-1 リージョンにデプロイされます
- デプロイ後、API Gateway のエンドポイントが利用可能になるまで約 1 分かかる場合があります
デプロイが完了したら、出力されたエンドポイント URL を使用して MCP クライアントをテストできます:
export MCP_SERVER_ENDPOINT=$(aws cloudformation describe-stacks --stack-name ServerlessMcpServersCdkStack --region us-east-1 --query "Stacks[0].Outputs[?OutputKey=='McpEndpoint'].OutputValue" --output text)
node src/js/mcpclient/index.js "example-remote": {
"command": "/path/to/npx",
"args": [
"mcp-remote",
"https://{{OutputValue}}.execute-api.us-east-1.amazonaws.com/dev/mcp"
]
}
このサンプルには、API Gateway カスタム認証機能が含まれています。デフォルトでは無効になっていますが、CDK スタックファイル内のコメントを解除することで有効にできます。
このサンプルは AWS アカウントに有料リソースをプロビジョニングします。評価が終わったら、以下のコマンドでリソースを削除することを忘れないでください:
cdk destroy --region us-east-1