RSS DEV コミュニティ
フォロー
MCP ストリーミング HTTP 深掘り
モデルコンテキストプロトコル (MCP) は、HTTP を使用して AI クライアントとサーバー間の通信を標準化します。MCP は Streamable HTTP を活用し、単一のエンドポイント(通常は `/mcp`)を通じてリクエスト/レスポンスとストリーミング通信の両方を実現します。クライアントは、`/mcp` に POST リクエストを送信してセッションを初期化し、共有機能を確立するために機能を交換します。その後、クライアントは同じエンドポイントに POST リクエストを送信してタスクを実行できます。サーバーは、標準的な JSON レスポンスまたは、長時間かかる操作に対してストリーミング Server-Sent Events (SSE) で応答します。SSE により、サーバーは `Content-Type: text/event-stream` ヘッダーで示される増分更新を送信できます。クライアントは、ストリーミングレスポンスを処理するために `sseclient` ライブラリを利用できます。クライアントは、継続的な更新のために、`/mcp` エンドポイントへの GET リクエストを使用して SSE 接続をオプションで開くことができます。Streamable HTTP は、別々のエンドポイントを持つ従来のモデルと比較して、アプローチを簡素化します。このプロトコルは、トランスポートレベルではステートレスですが、プロトコルレベルではセッション対応です。HTTP は、高速な単一レスポンスに最適であり、SSE は進捗状況の更新と継続的な結果に最適です。このアプローチは、実装、デバッグ、およびプロトコルの将来的な拡張を容易にします。