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.
Temas
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-Idencabezado para aislar la sesión. En el modo sin estado, los servidores deben admitir el funcionamiento sin estado para no rechazar el encabezado generadoMcp-Session-Idpor 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-Idy 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-Idal 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-Idla respuesta. -
El cliente debe incluirlo
Mcp-Session-Iden 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)
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.