PaPoo
cover

MCPが「状態を持たない」方向に寄ってきた話

これを読んでまず思ったのは、ようやくプロトコルとアプリケーションの責任分界が少しまともになりそうだ、ということだった。
セッションを前提にした設計って、実装する側からすると地味に面倒なんですよね。sticky session だの session store だのを抱え込むと、スケールさせたいだけなのにインフラが妙に重くなる。MCP がそこを削って、「プロトコルは stateless、でもアプリは必要なら stateful でいい」と寄せたのは、かなり筋がいいと思う。

特に引っかかったのは、これで楽になる部分と、逆に後ろに押し出される責任がはっきりしたところです。セッション維持のための仕組みは減るけれど、その代わり retry、idempotency、observability は別レイヤーでちゃんと考えろ、という話になる。ここはかなり現実的だなと思う一方で、便利な抽象化が一つ消えたぶん、雑に作ると事故りやすくもなる。たとえば side effect を持つ tool call は、失敗時に二重実行されても困らないようにしておかないといけない。クラウド側が軽くなったから終わり、ではない。

AWS が Lambda まで視野に入れているのも面白い。セッションを抱えない request-response 型なら、サーバレスに乗せやすくなるのは自然です。MCP が「AI エージェント向けの接続規約」から、かなり普通の分散システムの話に寄ってきた感じがある。派手さはないけれど、こういう地味な整理のほうが実運用では効くことが多いと思う。


参考: Stateless MCP Removes Session Affinity Requirements for AWS Server Deployments

同じ著者の記事