Aktivieren Sie das MCP-Antwort-Streaming für Ihr Gateway AgentCore
MCP-Antwort-Streaming ermöglicht es Ihrem AgentCore Gateway, während der Ausführung des Tools Server-Sent Ereignisse (SSE) in Echtzeit an Clients zu senden. Anstatt zu warten, bis der gesamte Tool-Aufruf abgeschlossen ist, bevor eine Antwort zurückgegeben wird, streamt das Gateway Ereignisse, sobald sie auftreten — einschließlich Fortschrittsbenachrichtigungen, Protokollmeldungen, Auslöseanforderungen und Sampling-Anfragen.
Vorteile von Response-Streaming
- Real-time Feedback
-
Kunden erhalten Statusaktualisierungen und Protokollmeldungen, sobald sie geschehen, anstatt auf die vollständige Antwort des Tools zu warten.
- Aktiviert interaktive MCP-Funktionen
-
Das Streaming von Antworten ist eine Grundvoraussetzung für die Erfassung, Probenahme, Fortschrittsmeldungen und Protokollierung von Meldungen. Für diese Funktionen ist eine offene SSE-Verbindung erforderlich, um serverinitiierte Ereignisse während der Ausführung des Tools zu übertragen.
- Bessere Benutzererfahrung für Tools mit langer Laufzeit
-
Bei Tools, deren Fertigstellung Sekunden oder Minuten dauert, sorgt das Streaming dafür, dass der Kunde stets auf dem Laufenden bleibt und schnell reagieren kann.
Aktivieren Sie das Antwort-Streaming
Um das Antwort-Streaming streamingConfiguration.enableResponseStreaming zu aktivieren, stellen Sie true bei der Erstellung oder Aktualisierung Ihres Gateways in dem protocolConfiguration.mcp Feld Folgendes ein:
{ "protocolConfiguration": { "mcp": { "streamingConfiguration": { "enableResponseStreaming": true } } } }
Anmerkung
Durch die Aktivierung des Antwort-Streamings wird der Eingabevertrag für den Response Interceptor geändert. Wenn Sie Antwort-Interzeptoren verwenden, überprüfen Sie Ihre Interceptor-Logik, um die Kompatibilität mit Streaming-Antworten sicherzustellen. Einzelheiten finden Sie unter Response Interceptors mit aktiviertem Streaming.
So funktioniert Response-Streaming
Wenn das Antwort-Streaming aktiviert ist und der Client eine Anfrage mit sendetAccept: text/event-stream, gibt das Gateway einen SSE-Stream statt einer einzelnen JSON-Antwort zurück. Ereignisse werden so zugestellt, wie sie vom MCP-Serverziel empfangen wurden.
Der SSE-Stream kann die folgenden Ereignistypen enthalten:
| Ereignistyp | Description |
|---|---|
|
|
Fortschrittsaktualisierungen vom Ziel während der Ausführung des Tools. Siehe Fortschrittsbenachrichtigungen erhalten. |
|
|
Nachrichten vom Ziel protokollieren. Siehe Empfangen von Protokollnachrichten. |
|
|
Fordere Anfragen von der Zielperson auf, die nach Benutzereingaben fragen. Siehe Evizitation verwenden. |
|
|
Stichprobenanfragen von der Zielperson, in der ein LLM-Abschluss beantragt wird. Siehe Stichprobenverfahren verwenden. |
|
Endgültiges Ergebnis |
Das Ergebnis des Werkzeugaufrufs, das als letztes Ereignis vor dem Schließen des Streams geliefert wird. |
Wenn der Client nicht sendetAccept: text/event-stream, puffert das Gateway die Antwort und gibt nach Abschluss des Werkzeugaufrufs eine einzige JSON-Antwort zurück. Zwischenereignisse (Fortschritt, Protokollierung) werden in diesem Fall nicht übermittelt.
Anforderungen des Kunden
Um Streaming-Antworten zu erhalten, müssen Kunden:
-
Senden Sie den
Accept: text/event-streamHeader in ihren Anfragen. -
Behandelt SSE-Ereignisse, sobald sie eintreffen, und analysiert jede
data:Zeile als JSON-RPC Nachricht. -
Halten Sie die Verbindung offen, bis das Endergebnisereignis empfangen wird.