從 AgentCore 閘道接收進度通知
進度通知可讓 MCP 伺服器目標報告長時間執行工具呼叫的增量進度。當工具呼叫需要時間完成時,伺服器可以傳送notifications/progress事件,讓用戶端了解操作的狀態。AgentCore Gateway 會將這些通知從 MCP 伺服器目標轉送到您的用戶端,做為 Server-Sent Events (SSE) 區塊。
先決條件
若要從閘道接收進度通知:
-
啟用回應串流 — 在開放連線期間,進度通知會以 SSE 區塊的形式傳送。在閘道的
true中streamingConfiguration.enableResponseStreaming將 設定為protocolConfiguration.mcp。 -
MCP 伺服器目標類型 — 進度通知源自 MCP 伺服器目標。
-
用戶端傳送
Accept: text/event-stream標頭 — 用戶端必須請求 SSE 回應才能接收串流事件。
進度通知的運作方式
當用戶端在tools/call請求參數progressToken中使用 提出請求時,MCP 伺服器目標可以在執行期間傳送notifications/progress事件。在最終工具結果之前,閘道會以 SSE 區塊的形式將這些事件轉送至用戶端。
每個進度通知都包含:
-
progressToken— 符合原始請求中提供的字符。 -
progress— 目前的進度值 (數值)。 -
total— 指出完成目標的選用總值。 -
message— 目前狀態的選用人類可讀描述。