Habilite la transmisión de respuesta MCP para su puerta de enlace AgentCore
La transmisión de respuestas de MCP permite a su AgentCore pasarela enviar Server-Sent eventos (SSE) en tiempo real a los clientes durante la ejecución de la herramienta. En lugar de esperar a que se complete toda la llamada a la herramienta antes de devolver una respuesta, la pasarela transmite los eventos a medida que se producen, incluidas las notificaciones de progreso, los mensajes de registro, las solicitudes de obtención y las solicitudes de muestreo.
Ventajas de la transmisión de respuestas
- Real-time comentarios
-
Los clientes reciben actualizaciones de progreso y mensajes de registro a medida que se producen, en lugar de esperar a que la herramienta les dé una respuesta completa.
- Habilita funciones MCP interactivas
-
La transmisión de respuestas es un requisito previo para la obtención, el muestreo, las notificaciones de progreso y el registro de los mensajes. Estas funciones requieren una conexión SSE abierta para enviar los eventos iniciados por el servidor durante la ejecución de la herramienta.
- Mejor experiencia de usuario para herramientas de larga duración
-
En el caso de las herramientas que tardan unos segundos o minutos en completarse, la transmisión mantiene al cliente informado y receptivo.
Habilite la transmisión de respuestas
Para habilitar la transmisión de respuestas, streamingConfiguration.enableResponseStreaming configúrelo true en el protocolConfiguration.mcp campo al crear o actualizar su puerta de enlace:
{ "protocolConfiguration": { "mcp": { "streamingConfiguration": { "enableResponseStreaming": true } } } }
nota
La activación de la transmisión de respuestas introduce un cambio en el contrato de entrada del interceptor de respuesta. Si utilizas interceptores de respuesta, revisa la lógica del interceptor para garantizar la compatibilidad con las respuestas de transmisión. Consulta los interceptores de respuesta con la transmisión habilitada para obtener más información.
Cómo funciona la transmisión de respuestas
Cuando la transmisión de respuestas está habilitada y el cliente envía una solicitud con ellaAccept: text/event-stream, la puerta de enlace devuelve una transmisión SSE en lugar de una única respuesta JSON. Los eventos se entregan tal como se reciben del servidor MCP de destino.
La transmisión SSE puede incluir los siguientes tipos de eventos:
| Tipo de evento | Description (Descripción) |
|---|---|
|
|
El progreso se actualiza desde el objetivo durante la ejecución de la herramienta. Consulte Recibir notificaciones de progreso. |
|
|
Registra los mensajes del objetivo. Consulte Recibir mensajes de registro. |
|
|
Solicitudes de obtención del objetivo solicitando la participación del usuario. Consulte Elicitación de usuarios. |
|
|
Muestreo de solicitudes del objetivo que solicitan completar un LLM. Consulte Utilizar el muestreo. |
|
Resultado final |
El resultado de la llamada a la herramienta, que se entrega como último evento antes del cierre de la transmisión. |
Si el cliente no envíaAccept: text/event-stream, la puerta de enlace almacena la respuesta en búfer y devuelve una única respuesta JSON una vez finalizada la llamada a la herramienta. En este caso, los eventos intermedios (progreso, registro) no se entregan.
Requisitos del cliente:
Para recibir respuestas en streaming, los clientes deben:
-
Enviar el
Accept: text/event-streamencabezado en sus solicitudes. -
Gestione los eventos de SSE a medida que llegan, analizando cada
data:línea como un JSON-RPC mensaje. -
Mantenga la conexión abierta hasta que se reciba el evento con el resultado final.