View a markdown version of this page

Contrato de protocolo MCP - Amazon Bedrock AgentCore

Contrato de protocolo MCP

Comprenda los requisitos para implementar el Protocolo de contexto modelo (MCP) para que los agentes puedan llamar a las herramientas y a los servidores de agentes.

Para ver un código de ejemplo, consulte Implementación de servidores MCP en AgentCore tiempo de ejecución.

Requisitos de implementación del protocolo

Su servidor MCP debe implementar estos requisitos de protocolo específicos:

  • Transporte: se requiere Streamable-http transporte. De forma predeterminada, utilice el modo sin estado (stateless_http=True) para garantizar la compatibilidad con AWS la administración de sesiones y el equilibrio de carga.

  • Administración de sesiones: la plataforma agrega automáticamente un Mcp-Session-Id encabezado para aislar la sesión. En el modo sin estado, los servidores deben admitir el funcionamiento sin estado para no rechazar el encabezado generado Mcp-Session-Id por la plataforma.

sugerencia

Amazon Bedrock AgentCore también admite servidores MCP con estado (stateless_http=False) que permiten funciones como la obtención (interacciones de usuario en varios turnos) y el muestreo (contenido). LLM-generated El modo con estado es necesario cuando el servidor MCP necesita mantener el contexto de la sesión en varias solicitudes con la misma invocación de la herramienta. Para obtener más información y ejemplos, consulte Características del servidor MCP con estado.

Administración de sesiones MCP y adherencia a las micromáquinas virtuales

El Model Context Protocol (MCP) usa el Mcp-Session-Id encabezado para administrar el estado de la sesión y las solicitudes de enrutamiento. Para obtener información sobre la especificación MCP, consulte Transporte HTTP transmisible por MCP.

Fijación de microVM: Amazon Bedrock AgentCore usa el Mcp-Session-Id encabezado para enrutar las solicitudes a la misma instancia de microVM. Los clientes deben capturar lo Mcp-Session-Id devuelto en la respuesta e incluirlo en todas las solicitudes posteriores para garantizar la afinidad de la sesión. Sin un identificador de sesión coherente, es posible que cada solicitud se dirija a una nueva microVM, lo que puede provocar una latencia adicional debido a los arranques en frío.

MCP sin estado (): stateless_http=True

  • La plataforma genera la solicitud a su servidor MCP Mcp-Session-Id y la incluye en la misma.

  • Su servidor MCP debe aceptar el ID de sesión proporcionado por la plataforma (no lo rechace).

  • La plataforma devuelve la misma información Mcp-Session-Id al cliente en la respuesta.

  • El cliente debe incluir este identificador de sesión en todas las solicitudes posteriores de afinidad con microVM.

MCP con estado (): stateless_http=False

  • El cliente envía la solicitud de inicialización sin encabezado. Mcp-Session-Id

  • La plataforma devuelve Mcp-Session-Id la respuesta.

  • El cliente debe incluirlo Mcp-Session-Id en todas las solicitudes posteriores, tanto para el estado de la sesión como para la afinidad con las micromáquinas virtuales.

Para obtener más información sobre la administración de sesiones MCP con estado, consulte la especificación de administración de sesiones MCP.

nota

En ambos modos, Amazon Bedrock AgentCore siempre devuelve un Mcp-Session-Id encabezado a los clientes. Capture y reutilice siempre este encabezado para obtener un rendimiento óptimo.

Requisitos de contenedores

Su servidor MCP debe implementarse como una aplicación contenerizada que cumpla con estas especificaciones:

  • Host: 0.0.0.0

  • Puerto: 8000 - Puerto estándar para la comunicación con el servidor MCP (diferente del protocolo HTTP)

  • Plataforma: contenedor ARM64: necesario para la compatibilidad con el entorno de ejecución de AWS Amazon Bedrock AgentCore

Requisitos de ruta

/mcp - POST

Finalidad

Recibe los mensajes RPC de MCP y los procesa a través de las funciones de la herramienta de su agente, y completa la transferencia de la carga útil de la InvokeAgentRuntimeAPI con mensajes RPC de MCP estándar

Formato de las respuestas

JSON-RPC request/response formato basado, compatible con ambos tipos de contenido y como respuesta application/json text/event-stream

Casos de uso

El /mcp punto final cumple varios propósitos clave:

  • Invocación y administración de herramientas

  • Descubrimiento de la capacidad del agente

  • Acceso y manipulación de los recursos

  • Multi-step flujos de trabajo de agentes

Respuestas de autenticación de OAuth

OAuth-configured los agentes siguen los estándares de autenticación RFC 6749 (OAuth 2.0). Cuando falta la autenticación, el servicio devuelve una respuesta 401 no autorizada con un WWW-Authenticate encabezado (según la RFC 7235), lo que permite a los clientes descubrir los puntos finales del servidor de autorización a través de la API. GetRuntimeProtectedResourceMetadata

401 sin autorización

Se devuelve cuando falta el encabezado de autorización o está vacío.

La respuesta incluye WWW-Authenticate el encabezado:

WWW-Authenticate: Bearer resource_metadata="https://bedrock-agentcore.{region}.amazonaws.com/runtimes/{ESCAPED_ARN}/invocations/.well-known/oauth-protected-resource?qualifier={QUALIFIER}"
nota

SigV4-configured los agentes devuelven el HTTP 403 con un ACCESS_DENIED error y no incluyen WWW-Authenticate encabezados.