Model Context Protocol (MCP) はセッション状態を廃止し、代わりにレシート形式のリクエストと新しい server/discover コマンドを採用しました。これにより、開発者は AWS Lambda のようなサーバーレスプラットフォーム上で MCP を実行できるようになり、長らく信頼性を損なってきた「シングルウェイター(一人のウェイター)」のボトルネックを回避できます。

旧モデルが重要だった理由

元々、MCP は特定のサーバーへの永続的な接続を必要としていました。サーバーはユーザーの「テーブル番号」——コンテキスト、ルール、保留中のアクションを保存する隠れたセッション——を保持していました。そのサーバーがクラッシュすると、セッションは消失し、クライアントは最初からやり直さなければなりませんでした。

アップデートによる変更点

  • セッションの廃止 – 各リクエストには、どのレジ係でも読めるレストランのレシートのように、サーバーが必要とするすべての情報が含まれています。「initialize」ハンドシェイクはなくなりました。
  • レシートモデル – すべてのリクエストの冒頭にある小さなメタブロックに、バージョン情報と必要なパラメータが含まれます。サーバーはリクエストを単独で処理し、resultTypettlMs(ミリ秒単位の生存期間)、cacheScope を含む結果を返します。これらのフィールドにより、クライアントは回答を安全にキャッシュし、いつ期限が切れるかを知ることができます。
  • Server/discover – 新しいコマンドにより、クライアントはサーバーに対して現在の機能(capabilities)を問い合わせることができます。レスポンスは即時であり、事前のやり取りに依存しません。
  • Subscriptions/listen – ブザーのように機能します。クライアントは更新をサブスクライブし、何かが変更されたときにのみ通知を受けるため、ポーリングによるトラフィックを削減できます。
  • Input_required フロー – サーバーが追加情報を必要とする場合、クライアントに直接問い合わせるのではなく、input_required レスポンスを返します。その後、クライアントは追跡リクエストで不足しているデータを提供します。

サーバーが状態を保持しなくなったため、あらゆるステートレスなコンピューティング環境で MCP エンドポイントをホストできます。オンデマンドで起動し、一時停止し、あるいはゾーン間で移行する関数でも、会話を中断することなくトラフィックを処理できます。

勝者と懸念事項

AI フロントエンドを構築する開発者 – よりシンプルで信頼性の高いバックエンドを手にできます。 インフラストラクチャチーム – 安価でオートスケーリング可能なサービス上で MCP をプロビジョニングできます。 MCP サーバーのメンテナーttlMscacheScope を出力し、server/discover の規約を遵守するようにハンドラーを書き直す必要があります。永続的なセッションに依存していたコードはリファクタリングが必要です。 厳格なコンプライアンスを求める企業 – より明確なデータライフサイクル制御の恩恵を受けられます。

隠れた詳細:バージョン交渉

すべてのレシートには、クライアントが期待するプロトコルバージョンを通知する小さなメタブロックが含まれています。

まだ不透明な点

次に注目すべき点

まとめ

セッション状態を削ぎ落とし、すべてのやり取りを自己完結型のレシートに変えることで、MCP はサーバーレスのエコシステムに自然に適合するようになりました。この転換により、MCP はより安定し、スケーラブルになり、サーバーをどこでも実行し、通常の Web サービスと同様にスケールさせることが可能になります。