人類は最近、そのモデルコンテキストプロトコル(MCP)における主要な技術革新を発表し、新しい「ストリーミング可能なHTTP」伝送プロトコルを開始しました。この革新的なソリューションは、MCPのリモートデータ送信方法を完全に変更します。新しいプロトコルは、既存のHTTP+SSEソリューションの重要な制限を解決するだけでなく、MCPの元の技術的利点も保持し、AIモデルとアプリケーション間の通信に革新的なブレークスルーをもたらします。
技術アーキテクチャの観点から見ると、この更新はMCPデータ送信メカニズムの包括的な再構成です。新しいプロトコルは、より柔軟で使いやすく、より互換性のあるデザインコンセプトを採用しています。オンラインで保持する必要がある長いSSE接続と比較して、新しいソリューションにより、クライアントはいつでもメッセージを送信して返信を待つことができます。この方法は、通常のHTTP要求と同様ですが、ストリーミングをサポートすることで、システムの柔軟性と使いやすさが大幅に向上します。
このテクノロジーの更新には、主に5つのコア改善が含まれています。まず、専用 /SSEエンドポイントが削除され、サーバーアーキテクチャが簡素化されました。第二に、クライアントからサーバーへのすべてのメッセージは、統合 /メッセージエンドポイントを介して送信され、インターフェイスの標準化を実現します。第三に、サーバーは実際のニーズに応じてSSEストリームにHTTP要求を動的にアップグレードし、より柔軟性を提供することができます。第4に、クライアントはヘッダーを介してMCPセッションIDを提供し、サーバーがセッション情報をより柔軟に管理できるようにします。最後に、完全にステートレスサーバー操作モードをサポートし、システムのスケーラビリティを大幅に改善します。
この技術革新を促進する主な理由は、既存のHTTP+SSE伝送ソリューションには多くの技術的なボトルネックがあることです。接続が切断された後の回復機能の欠如により、クライアントはセッション全体を再起動する必要があります。サーバーは、連続SSE接続をサポートするために高可用性を維持する必要があります。また、SSEは一方向通信のみをサポートしており、柔軟な双方向データ相互作用を実現できません。新しい「ストリーミング可能なHTTP」伝送法は、これらの問題を正常に解決し、システムの全体的なパフォーマンスとスケーラビリティを大幅に改善しました。
開発者の場合、このアップデートは多くの便利さをもたらします。MCPサーバーを実装する方が簡単で、通常のHTTPサーバーのみがMCPをサポートできるため、専用のSSEサーバーを構築する必要はありません。 vercel、cloudflare、aws lambdaなどのクラウドプラットフォームに展開する方が簡単です。これは、長い接続をサポートしていません。互換性が大幅に改善されており、標準のHTTPとしての新しいソリューションは、CDN、APIゲートウェイ、ロードバランシングとシームレスに統合できます。スケーラビリティを大幅に向上させ、ステートレスモードの操作をサポートし、必要に応じてSSEに動的にアップグレードできます。
インフラストラクチャとサーバーアーキテクチャの観点から、新しいソリューションは革新的な変更ももたらします。ステートレスサーバーが可能になり、サーバーがクライアントセッション情報を継続的に保存する必要がなくなりました。これらは、マイクロサービスアーキテクチャにより適しており、REST API、GraphQL、ロードバランシング、CDN、その他のシステムと簡単に統合できます。サーバーリソースの使用率は高く、リクエストの処理後にリソースをリリースできます。これは、高い並行性シナリオに適しています。
SSEに関する多くの問題にもかかわらず、人類が代替としてWebSocketを選択していないことは注目に値します。これは主に次の技術的な考慮事項に基づいています。WebSocketは長い接続を維持する必要がありますが、MCPは主にRPCのようなモードを採用し、各要求は独立して実行されます。 WebSocketはHTTPヘッダー情報を送信できず、認証プロセスが複雑になります。 WebSocketは、主にMCPで使用されているPOSTリクエストと互換性のない投稿ではなく、Getアップグレードのみをサポートしています。したがって、最終的にはHTTPの使用を継続することが決定されましたが、SSEやWebSocketを強制するのではなく、必要に応じてSSEにアップグレードする機能をサーバーに提供することが決定されました。
全体として、このアップデートによりMCPがより軽量で柔軟になり、サーバーはストリーミングをサポートするかどうかを独立して決定できます。展開プロセスは大幅に簡素化されており、サーバーレスアーキテクチャに適しています。互換性は大幅に改善されており、さまざまなネットワークインフラストラクチャでシームレスに動作する可能性があります。サーバーリソースの使用率は高く、大規模な同時リクエストをサポートしています。
この革新的な変更により、MCPサーバーはよりシンプルで効率的で柔軟になり、大規模な分散展開をサポートし、SSEの制限から完全に脱却し、AIモデルとアプリケーション間のコミュニケーションのための新しい章を開きます。プロジェクトアドレス:https://github.com/modelcontextprotocol/specification/pull/206