Abilita lo streaming di risposta MCP per il tuo gateway AgentCore
Lo streaming di risposta MCP consente al AgentCore gateway di fornire Server-Sent eventi (SSE) in tempo reale ai client durante l'esecuzione dello strumento. Invece di attendere il completamento dell'intera chiamata allo strumento prima di restituire una risposta, il gateway trasmette gli eventi man mano che si verificano, tra cui notifiche di avanzamento, messaggi di registro, richieste di elicitazione e richieste di campionamento.
Vantaggi dello streaming delle risposte
- Real-time feedback
-
I clienti ricevono aggiornamenti sullo stato di avanzamento e messaggi di registro man mano che si verificano, anziché attendere la risposta completa dello strumento.
- Abilita le funzionalità MCP interattive
-
Lo streaming delle risposte è un prerequisito per l'elicitazione, il campionamento, le notifiche di avanzamento e la registrazione dei messaggi. Queste funzionalità richiedono una connessione SSE aperta per fornire eventi avviati dal server durante l'esecuzione dello strumento.
- Esperienza utente migliore per strumenti a lunga durata
-
Per strumenti che richiedono secondi o minuti per essere completati, lo streaming mantiene il cliente informato e reattivo.
Abilita lo streaming delle risposte
Per abilitare lo streaming delle risposte, imposta streamingConfiguration.enableResponseStreaming l'opzione true nel protocolConfiguration.mcp campo durante la creazione o l'aggiornamento del gateway:
{ "protocolConfiguration": { "mcp": { "streamingConfiguration": { "enableResponseStreaming": true } } } }
Nota
L'abilitazione dello streaming di risposta introduce una modifica al contratto di input dell'intercettore di risposta. Se utilizzi intercettori di risposta, rivedi la logica dell'intercettore per garantire la compatibilità con le risposte in streaming. Vedi Intercettori di risposta con streaming abilitato per i dettagli.
Come funziona lo streaming di risposta
Quando lo streaming di risposta è abilitato e il client invia una richiesta conAccept: text/event-stream, il gateway restituisce un flusso SSE anziché una singola risposta JSON. Gli eventi vengono consegnati non appena vengono ricevuti dalla destinazione del server MCP.
Il flusso SSE può includere i seguenti tipi di eventi:
| Tipo di evento | Description |
|---|---|
|
|
Aggiornamenti dell'avanzamento dalla destinazione durante l'esecuzione dello strumento. Vedi Ricevere notifiche sullo stato di avanzamento. |
|
|
Registra i messaggi dalla destinazione. Vedi Ricevere messaggi di registrazione. |
|
|
Richieste di sollecitazione da parte del target che richiedono l'input dell'utente. Vedi Use elicitation. |
|
|
Richieste di campionamento provenienti dal target che richiedono il completamento di un LLM. Vedi Utilizzare il campionamento. |
|
Risultato finale |
Il risultato della chiamata allo strumento, fornito come ultimo evento prima della chiusura dello stream. |
Se il client non inviaAccept: text/event-stream, il gateway memorizza la risposta nel buffer e restituisce una singola risposta JSON al termine della chiamata allo strumento. In questo caso gli eventi intermedi (avanzamento, registrazione) non vengono forniti.
Requisiti del cliente
Per ricevere risposte in streaming, i clienti devono:
-
Inviare l'
Accept: text/event-streamintestazione nelle loro richieste. -
Gestisci gli eventi SSE non appena arrivano, analizzando ogni
data:riga come messaggio. JSON-RPC -
Mantieni aperta la connessione fino alla ricezione del risultato finale.