streamable-http-mcp-server-lambda-sample

k-ibaraki/streamable-http-mcp-server-lambda-sample

3.2

If you are the rightful owner of streamable-http-mcp-server-lambda-sample and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

This project demonstrates how to deploy an MCP server as a Docker container on AWS Lambda, making it accessible via HTTP.

Tools
  1. mcp-server-time

    A tool to retrieve the current time.

Streamable HTTP MCP Server Lambda Sample

AWS LambdaでMCPサーバーをHTTP経由で公開するサンプルプロジェクト。

概要

このプロジェクトは、MCPサーバーをDockerコンテナとしてAWS Lambdaにデプロイし、Lambda Function URLを通じてHTTPアクセス可能にします。

  • MCPサーバー: mcp-server-time (現在時刻を取得するツールを提供)
  • プロキシ: mcp-proxy でMCPプロトコルをHTTPに変換
  • デプロイ: AWS CDKを使用してLambdaとしてデプロイ

前提条件

  • Node.js 22
  • AWS CLI設定済み
  • Docker
  • AWS CDK CLI

セットアップ

  1. 依存関係のインストール:
npm install
  1. CDKのブートストラップ (初回のみ):
npx cdk bootstrap

デプロイ

npx cdk deploy

デプロイ完了後、Function URLが出力されます。

使用方法

デプロイされたFunction URLに対してHTTPリクエストを送信することで、MCPサーバーの機能を利用できます。

構成

  • アーキテクチャ: ARM64 (Graviton2)
  • メモリ: 256MB
  • タイムアウト: 15秒
  • 認証: なし (Function URLは公開)

ファイル構成

  • mcp-server-lambda-sample.ts: CDKスタック定義
  • container/Dockerfile: MCPサーバーのコンテナ定義
  • cdk.json: CDK設定

CDKコマンド

  • npm run build - TypeScriptをJSにコンパイル
  • npm run watch - 変更を監視してコンパイル
  • npm run test - Jestユニットテストを実行
  • npx cdk deploy - スタックをAWSにデプロイ
  • npx cdk diff - デプロイされたスタックと現在の状態を比較
  • npx cdk synth - CloudFormationテンプレートを生成
  • npx cdk destroy - スタックを削除