Activez le streaming des réponses MCP pour votre passerelle AgentCore
Le streaming des réponses MCP permet à votre AgentCore passerelle de transmettre des Server-Sent événements en temps réel (SSE) aux clients lors de l'exécution de l'outil. Au lieu d'attendre la fin de l'appel à l'outil avant de 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 de sollicitation et les demandes d'échantillonnage.
Avantages du streaming de réponses
- Real-time commentaires
-
Les clients reçoivent des mises à jour sur la progression et consignent les messages au fur et à mesure, plutôt que 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 à l'enregistrement des messages. Ces fonctionnalités nécessitent une connexion SSE ouverte pour transmettre des événements initiés par le serveur lors de l'exécution de l'outil.
- Meilleure expérience utilisateur pour les outils de longue durée
-
Pour les outils dont l'exécution prend quelques secondes ou minutes, le streaming permet au client de rester informé et réactif.
Activer le streaming des réponses
Pour activer le streaming des réponses, définissez ce paramètre streamingConfiguration.enableResponseStreaming sur 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 des réponses introduit une modification du contrat d'entrée de l'intercepteur de réponse. Si vous utilisez des intercepteurs de réponse, passez en revue votre logique d'interception pour vous assurer de la compatibilité avec les réponses en streaming. Voir Intercepteurs de réponse avec diffusion en continu activée pour plus de détails.
Comment fonctionne le streaming de réponses
Lorsque le streaming des 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 transmis au fur et à mesure qu'ils sont reçus de la cible du serveur MCP.
Le flux SSE peut inclure les types d'événements suivants :
| Type d’événement | Description |
|---|---|
|
|
Mises à jour de progression depuis la cible pendant l'exécution de l'outil. Consultez la section Recevoir des notifications de progression. |
|
|
Enregistrez les messages provenant de la cible. Consultez la section Recevoir des messages de journalisation. |
|
|
Demandes d'élicitation de la part de la cible demandant l'avis de l'utilisateur. Voir Utiliser l'élicitation. |
|
|
Échantillonnage de 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, fourni en tant que 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.
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'à ce que le résultat final soit reçu.