Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Activez le streaming de réponse MCP pour votre passerelle AgentCore
Le streaming de réponses MCP permet à votre AgentCore passerelle de fournir des Server-Sent événements en temps réel (SSE) aux clients pendant l'exécution de l'outil. Au lieu d'attendre la fin de l'appel à l'outil pour renvoyer une réponse, la passerelle diffuse les événements au fur et à mesure qu'ils se produisent, notamment les notifications de progression, les messages de journal, les demandes d'élicitation et les demandes d'échantillonnage.
Avantages du streaming de réponses
- Real-time feedback
-
Les clients reçoivent des mises à jour sur la progression et enregistrent les messages au fur et à mesure, au lieu d'attendre la réponse complète de l'outil.
- Active les fonctionnalités MCP interactives
-
Le streaming des réponses est une condition préalable à l'élicitation, à l'échantillonnage, aux notifications de progression et à la journalisation des messages. Ces fonctionnalités nécessitent une connexion SSE ouverte pour fournir des événements initiés par le serveur lors de l'exécution de l'outil.
- Une meilleure expérience utilisateur pour les outils de longue durée
-
Pour les outils dont l'exécution ne prend que quelques secondes ou minutes, le streaming permet au client de rester informé et réactif.
Activez le streaming des réponses
Pour activer le streaming des réponses, définissez sur streamingConfiguration.enableResponseStreaming true dans le protocolConfiguration.mcp champ lors de la création ou de la mise à jour de votre passerelle :
{ "protocolConfiguration": { "mcp": { "streamingConfiguration": { "enableResponseStreaming": true } } } }
Note
L'activation du streaming de réponses introduit une modification du contrat d'entrée de l'intercepteur de réponse. Si vous utilisez des intercepteurs de réponse, revoyez la logique de votre intercepteur pour vous assurer de la compatibilité avec les réponses en streaming. Consultez la section Intercepteurs de réponse avec diffusion en continu activée pour plus de détails.
Comment fonctionne le streaming des réponses
Lorsque le streaming de réponses est activé et que le client envoie une demande avecAccept: text/event-stream, la passerelle renvoie un flux SSE au lieu d'une seule réponse JSON. Les événements sont diffusés au fur et à mesure de leur réception depuis la cible du serveur MCP.
Le flux SSE peut inclure les types d'événements suivants :
| Type d’événement | Description |
|---|---|
|
|
La progression est mise à jour depuis la cible lors de l'exécution de l'outil. Voir Recevoir des notifications de progression. |
|
|
Consignez les messages provenant de la cible. Consultez la section Recevoir des messages de journalisation. |
|
|
Demandes d'élicitation émanant de la cible demandant à l'utilisateur de saisir des informations. Voir Utiliser l'élicitation. |
|
|
Échantillonnage des demandes émanant de la cible demandant l'achèvement d'un LLM. Voir Utiliser l'échantillonnage. |
|
Résultat final |
Le résultat de l'appel à l'outil, envoyé comme dernier événement avant la fermeture du flux. |
Si le client n'envoie pasAccept: text/event-stream, la passerelle met la réponse en mémoire tampon et renvoie une seule réponse JSON une fois l'appel à l'outil terminé. Les événements intermédiaires (progression, journalisation) ne sont pas fournis dans ce cas.
Les exigences du client
Pour recevoir des réponses en streaming, les clients doivent :
-
Envoyez l'
Accept: text/event-streamen-tête dans leurs demandes. -
Gérez les événements SSE au fur et à mesure qu'ils arrivent, en analysant chaque
data:ligne comme un JSON-RPC message. -
Maintenez la connexion ouverte jusqu'à la réception du résultat final.