Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Utilice las sesiones de MCP con su AgentCore puerta de enlace
Las sesiones de MCP permiten interacciones estables entre los clientes y su puerta de enlace. AgentCore Cuando las sesiones están habilitadas, la puerta de enlace genera un identificador de sesión único durante la inicialización y mantiene el estado de varias solicitudes, lo que permite utilizar funciones avanzadas de MCP, como la obtención y el muestreo.
Ventajas de usar sesiones
- Interacciones estatales entre servidores MCP y destinos
-
La puerta de enlace almacena el identificador de sesión del servidor MCP de destino y lo reutiliza en las siguientes llamadas a las herramientas. Esto evita la reinicialización de cada solicitud y permite a los objetivos mantener el contexto en todas las llamadas.
- Respuestas más rápidas con AgentCore objetivos de tiempo de ejecución
-
Cuando se reutiliza la sesión del objetivo, AgentCore Runtime no necesita iniciar en frío una nueva conexión al servidor MCP en cada solicitud, lo que se traduce en tiempos de respuesta más rápidos.
- Habilita las funciones avanzadas de MCP
-
Las sesiones son un requisito previo para la obtención y el muestreo, que requieren el seguimiento del estado de varias solicitudes.
- User-scoped seguridad (pasarelas autenticadas)
-
En el caso de las pasarelas con autenticación entrante, las sesiones se vinculan a la identidad del usuario verificada, lo que evita el secuestro de sesiones.
Habilite las sesiones en su puerta de enlace
Para habilitar las sesiones, especifique una sessionConfiguration en el protocolConfiguration.mcp campo al crear o actualizar la puerta de enlace.
{ "protocolConfiguration": { "mcp": { "sessionConfiguration": { "sessionTimeoutInSeconds": 3600 } } } }
El parámetro sessionTimeoutInSeconds es opcional. Si se omite, el tiempo de espera predeterminado es de 3600 segundos (1 hora). El intervalo válido es de 900 (15 minutos) a 28800 (8 horas). El tiempo de espera es absoluto y se calcula a partir de la primera initialize solicitud.
Para habilitar también las funciones que dependen de las sesiones, como la obtención y el muestreo, también debes habilitar la transmisión de respuestas:
{ "protocolConfiguration": { "mcp": { "sessionConfiguration": { "sessionTimeoutInSeconds": 3600 }, "streamingConfiguration": { "enableResponseStreaming": true } } } }
nota
Cuando las sesiones están habilitadas en una puerta de enlace, no se pueden incluir Mcp-Session-Id en la configuración de propagación metadataConfiguration de encabezados de un destino de puerta de enlace. La puerta de enlace administra los ID de sesión internamente. Si lo intenta, se produce un error de solicitud incorrecta de HTTP 400.
Ciclo de vida de la sesión
El ciclo de vida de la sesión sigue el flujo de inicialización del protocolo MCP:
-
El cliente envía una
initializesolicitud a la puerta de enlace. -
La puerta de enlace crea una sesión, almacena los metadatos de la sesión y devuelve un identificador único
Mcp-Session-Iden el encabezado de la respuesta. -
El cliente incluye el
Mcp-Session-Idencabezado en todas las solicitudes posteriores. -
La puerta de enlace valida la existencia de la sesión, la caducidad y la identidad del usuario (en el caso de las puertas de enlace autenticadas) en cada solicitud.
-
Cuando se agota el tiempo de espera de la sesión o el cliente se desconecta, la sesión caduca.
En la primera llamada de herramienta a un destino de servidor MCP dentro de una sesión, la puerta de enlace inicializa una conexión con el destino y almacena el identificador de sesión del destino. Las llamadas subsiguientes a la herramienta al mismo destino reutilizan este ID de sesión almacenado, lo que evita la inicialización repetida.
Identidad del usuario y alcance de la sesión
Las sesiones se limitan a la identidad del usuario autenticado para evitar el secuestro de sesiones. La puerta de enlace obtiene la identidad del usuario de forma diferente según el método de autenticación entrante configurado en su puerta de enlace:
| Método de autenticación | Identificador de usuario | Comportamiento |
|---|---|---|
|
OAuth/ OIDC |
|
Con un alcance completo. Solo el usuario que creó la sesión puede usarla. La |
|
AWS IAM (SIGv4) |
ARN de la entidad principal |
Alcance completo. Solo el director de IAM que creó la sesión puede usarla. El ARN principal es único en todo el mundo y es inmutable durante toda AWS la vida de la entidad de IAM. Ejemplo: |
|
Sin autenticación |
Ninguno |
Sin límite de usuarios. Las sesiones están disponibles pero no están vinculadas a ninguna identidad. Cualquier persona que tenga el identificador de sesión puede interactuar con la sesión. |
importante
En el caso de las puertas de enlace sin autenticación entrante, las sesiones conllevan un riesgo de secuestro de la sesión, tal como se describe en las consideraciones de seguridad de la especificación MCP.
En el caso de las puertas de enlace autenticadas, si otro usuario intenta utilizar un identificador de sesión existente, la puerta de enlace devuelve el mensaje HTTP 404 Not Found, lo que significa que la sesión es invisible para los demás usuarios.
Tiempo de espera y caducidad de la sesión
El tiempo de espera de la sesión se calcula a partir de la primera initialize solicitud. Una vez transcurrido el tiempo de espera, la sesión caduca y no se puede utilizar.
-
Tiempo de espera predeterminado: 3600 segundos (1 hora)
-
Intervalo configurable: 900 segundos (15 minutos) a 28800 segundos (8 horas)
Si la sesión de destino de un servidor MCP caduca o se pierde antes de que se agote el tiempo de espera de la sesión de puerta de enlace (por ejemplo, si el destino se reinicia), las siguientes llamadas a la herramienta a ese destino arrojan un error de cliente (4xx), como. session not found Para recuperarla, reinicie la conexión MCP con la puerta de enlace enviando una nueva initialize solicitud para iniciar una nueva sesión de puerta de enlace. De este modo, se establece una nueva sesión de destino y las siguientes llamadas a la herramienta utilizan el ID de sesión de destino actualizado.
Gestión de errores
| Escenario | Estado HTTP | Description (Descripción) |
|---|---|---|
|
Falta el |
400: solicitud maligna |
Todas las solicitudes posteriores |
|
ID de sesión no válido o caducado |
404 Not Found (No encontrado) |
La sesión no existe o se ha agotado el tiempo de espera. |
|
Un usuario diferente intenta usar la sesión de otro usuario (pasarelas autenticadas) |
404 Not Found (No encontrado) |
La sesión es invisible para otros usuarios. |
|
|
400: solicitud maligna |
Se devuelve en el plano de control al crear o actualizar un objetivo. |