View a markdown version of this page

Destinos de servidores MCP - Base amazónica AgentCore

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.

Destinos de servidores MCP

Los servidores MCP proporcionan herramientas locales, acceso a datos o funciones personalizadas para sus interacciones con los modelos y los agentes de Bedrock. AgentCore En Bedrock AgentCore, puede definir un servidor MCP preconfigurado como destino al crear una puerta de enlace.

Los servidores MCP alojan herramientas, indicaciones y recursos que los agentes pueden descubrir y utilizar. En Bedrock AgentCore, utiliza una puerta de enlace para asociar los objetivos a estas capacidades y conectarlos al tiempo de ejecución de su agente. Se conecta con servidores MCP externos a través de la SynchronizeGatewayTargets API, que realiza protocolos de enlace e indexa las capacidades disponibles. Para obtener más información sobre la instalación y el uso de servidores MCP, consulte Amazon Bedrock AgentCore MCP Server: Vibe coding with your coding assistant.

Consideraciones y limitaciones clave

Modo de listado

ListingMode se puede establecer como DINÁMICO o PREDETERMINADO para los destinos del servidor MCP.

  • En el modo DYNAMIC, los clientes descubren las capacidades del servidor MCP cuando un usuario invoca una operación MCP. Gateway recupera las capacidades del servidor reenviando las solicitudes al servidor MCP. Actualmente, el modo DYNAMIC no es compatible con la búsqueda semántica ni con la OAuth de tres vías (3LO) saliente.

  • A menos que se modifique, el modo de listado se establece en DEFAULT. En el modo DEFAULT, los clientes descubren las capacidades del servidor MCP mediante una operación de sincronización proporcionada por la SynchronizeGatewayTargets API.

Sincronización implícita

Para los objetivos en modo DEFAULT, CreateGatewayTarget y UpdateGatewayTarget las operaciones activan automáticamente la detección de capacidades y la indexación. Cuando se invoca una de las operaciones, Gateway busca las herramientas disponibles utilizando la tools/list capacidad de MCP, solicita el uso, los recursos que utilizan resources/list yprompts/list, ademásresources/templates/list, agrega las capacidades devueltas al catálogo unificado.

Sincronización explícita

Los catálogos de capacidades para los objetivos en modo DEFAULT se pueden actualizar manualmente mediante una llamada a la SynchronizeGatewayTargets API. Cuando se llama, actualiza la lista de capacidades disponibles de Gateway. Debe llamar a la API cada vez que cambien las definiciones de herramientas, solicitudes o recursos de un servidor MCP.

La sincronización es un mecanismo fundamental para mantener catálogos de capacidades precisos al integrar los servidores MCP. La sincronización implícita se produce automáticamente durante la creación y las actualizaciones de los destinos, donde Gateway descubre e indexa inmediatamente las herramientas, las instrucciones y los recursos del servidor MCP para garantizar que las capacidades de búsqueda semántica y listas unificadas estén disponibles. La sincronización explícita se realiza bajo demanda a través de la SynchronizeGatewayTargets API, lo que permite descubrir el catálogo de capacidades del MCP cuando los servidores del MCP modifican sus capacidades de forma independiente.

¿Cuándo llamar SynchronizeGatewayTargets

Siempre que el destino de un servidor MCP tenga su modo de listado establecido en DEFAULT, utilice la SynchronizeGatewayTargets API después de agregar, eliminar o modificar las herramientas, las instrucciones o los recursos. Dado que Gateway precalcula las incrustaciones vectoriales para la búsqueda semántica y mantiene los catálogos de capacidades normalizados, la sincronización es necesaria para garantizar que los usuarios puedan descubrir e invocar las herramientas, las instrucciones y los recursos más recientes disponibles.

¿Cómo llamar a la API

Realiza una solicitud PUT a /gateways/ {GatewayIdentifier} /synchronize con el ID de destino en el cuerpo de la solicitud. La API devuelve inmediatamente una respuesta 202 y procesa la sincronización de forma asincrónica. Supervise el estado del objetivo GetGatewayTarget para realizar un seguimiento del progreso de la sincronización, ya que la operación puede tardar varios minutos en el caso de conjuntos de capacidades grandes.

Estrategia de autorización

Se admiten los siguientes tipos de estrategia de autorización.

  • Sin autorización: la puerta de enlace invoca al servidor MCP sin una autorización preconfigurada. No se recomienda este enfoque.

  • OAuth: la pasarela admite OAuth bilateral (tipo de concesión), OAuth triple (tipo de CLIENT_CREDENTIALS concesión) y el intercambio de fichas en nombre del intercambio de fichas (tipo de AUTHORIZATION_CODE concesión). TOKEN_EXCHANGE Usted configura el proveedor de autorización en Amazon Bedrock AgentCore Identity en la misma cuenta y región para que la puerta de enlace realice llamadas al servidor MCP. Si utiliza el intercambio de tokens en nombre del usuario, consulte las consideraciones sobre el intercambio de tokens en nombre de este tipo de destino.

  • IAM (versión de AWS firma 4 (Sig V4)): la puerta de enlace firma las solicitudes al servidor MCP mediante SigV4 con las credenciales del rol de servicio de puerta de enlace. Se configura IamCredentialProvider con un nombre de servicio obligatorio para la firma de SigV4 y una región opcional (de forma predeterminada, la región de puerta de enlace).

  • Clave de API: la puerta de enlace utiliza un proveedor de credenciales de claves de API para autenticarse en el servidor MCP. El proveedor de claves de API se configura en Amazon Bedrock AgentCore Identity en la misma cuenta y región que la puerta de enlace.

importante

La autorización saliente de IAM (SIGv4) requiere que el servidor MCP esté alojado en un AWS servicio que admita de forma nativa la autenticación de IAM. La puerta de enlace firma las solicitudes salientes con SigV4, pero no modifica la configuración de autenticación en el destino. El servicio de destino debe poder verificar las firmas de Sigv4.

Los siguientes AWS servicios admiten de forma nativa la autenticación de IAM y son compatibles con la autorización de salida de IAM para los destinos de los servidores MCP:

Los servicios que no verifican de forma nativa las firmas de SIGv4, como el balanceador de carga de aplicaciones o los puntos de enlace directos de Amazon EC2, no son compatibles con la autorización de salida de IAM. Si su servidor MCP está alojado en uno de estos servicios, utilice en su lugar la autorización mediante claves de API o OAuth.

Consideraciones de configuración para los destinos del servidor MCP

Se debe configurar lo siguiente.

  1. El servidor MCP debe tener capacidades de herramienta. Las funciones de avisos y recursos son opcionales y se sincronizan automáticamente cuando el servidor las anuncia.

  2. Las versiones del protocolo MCP compatibles son: 2026-07-28, 2025-11-25, 2025-06-18 y 2025-03-26.

  3. Para URL/endpoint la provisión del servidor, la URL debe estar codificada. La puerta de enlace utilizará la misma URL para invocar al servidor.

nota

En el caso de las cuentas que están habilitadas para actualizar la versión de MCP, puede modificar las versiones de protocolo compatibles con la puerta de enlace durante la UpdateGateway operación. De lo contrario, las versiones compatibles se fijan al crear la puerta de enlace.

sugerencia

Si su servidor MCP está hospedado en AgentCore Runtime, puede evitar la inicialización repetida con el servidor MCP en cada solicitud. Habilite las sesiones de MCP en su puerta de enlace o agréguelas Mcp-Session-Id como encabezado de solicitud y respuesta permitido en la puerta de destino. metadataConfiguration Esto se traduce en una latencia más baja para las siguientes llamadas a las herramientas. Esta guía se aplica a la versión anterior 2025-11-25 y a la versión anterior. La versión no 2026-07-28 tiene estado y no utiliza el Mcp-Session-Id encabezado.

On-behalf-of consideraciones sobre el intercambio de fichas

Cuando se utiliza el intercambio de fichas en nombre del intercambio de fichas (el tipo de TOKEN_EXCHANGE concesión) como autorización saliente para un destino de servidor MCP, se aplican las siguientes limitaciones:

  • Servidores de autorización compatibles con 2LO: si tu servidor de autorización permite la autenticación de máquina a máquina (la CLIENT_CREDENTIALS concesión, también conocida como OAuth bilateral), puedes usar el modo de publicación PREDETERMINADO. En el modo de listado PREDETERMINADO, la puerta de enlace ejecuta una sincronización en segundo plano durante y para obtener las herramientas CreateGatewayTargetUpdateGatewayTarget, las instrucciones y SynchronizeGatewayTargets los recursos del servidor MCP (utilizando) las instrucciones y los recursos del servidor MCP. tools/list Durante estas operaciones del plano de control no existe ningún token de usuario entrante, por lo que la sincronización utiliza el token de máquina a máquina en lugar del intercambio de tokens en nombre del usuario.

  • Servidores de autorización sin soporte de 2LO: si tu servidor de autorización no admite la autenticación de máquina a máquina, usa en su lugar el modo de listado dinámico. En el modo DYNAMIC, la puerta de enlace descubre las capacidades del servidor MCP en el momento de la invocación. Como hay un token de usuario entrante que se puede intercambiar en ese momento, la puerta de enlace no requiere una sincronización en segundo plano del plano de control.

Asegurar el estado de la solicitud para su obtención y muestreo (versión 2026-07-28 y posteriores)

En la versión 2026-07-28 y posteriores, la obtención y el muestreo utilizan el patrón de solicitudes de ida y vuelta múltiples (MRTR). El destino de su servidor MCP genera el requestState valor en un input_required resultado; la puerta de enlace trata este valor como opaco. La puerta de enlace no almacena elrequestState. Conserva el valor en la memoria únicamente mientras lo reenvía sin cambios entre su cliente y su servidor MCP de destino, y lo descarta cuando se completa la solicitud.

AgentCore Gateway y su servidor MCP de destino comparten la responsabilidad de proteger el estado de la solicitud:

  • AgentCore Gateway autentica y autoriza todas las solicitudes según la configuración de autorización entrante de su puerta de enlace, incluidos los reintentos que conllevan un. requestState Una persona que llama y no puede autenticarse en su puerta de enlace no puede presentar en absoluto un estado de solicitud. Para obtener más información, consulta Cómo configurar la autorización de entrada para tu puerta de enlace.

  • El servidor MCP de destino es responsable de validar requestState lo que recibe, ya que el valor pasa de ida y vuelta al cliente. La especificación MCP exige que los servidores traten al cliente como un intermediario que no es de confianza y que siempre validen el estado de la solicitud. Si el estado contiene datos específicos del usuario original, la especificación exige que el servidor vincule criptográficamente esos datos al usuario. Al volver a intentarlo, el servidor debe comprobar que el estado pertenece al usuario actualmente autenticado. La puerta de enlace no verifica que la persona que llama que presenta una requestState sea la misma persona que la recibió. Impedir que un usuario reproduzca el estado de solicitud de otro usuario es responsabilidad de su servidor MCP.

Para proteger el estado de la solicitud, siga las instrucciones de la especificación MCP. Cifre o firme el estado (por ejemplo, con un JWT firmado AES-GCM o con él) para garantizar la confidencialidad y la integridad. Vincula un estado específico del usuario al usuario original, haz que caduque el estado y trata cualquier valor de estado en texto plano como una entrada que no sea de confianza. Para obtener más información, consulte las solicitudes de ida y vuelta múltiples en el sitio web del Model Context Protocol.

Conexión a un servidor OAuth-protected MCP mediante el flujo de código de autorización

Para admitir el tipo de concesión del código de autorización (OAuth de tres vías) en los destinos de los servidores MCP, Amazon Bedrock AgentCore Gateway proporciona dos métodos para la creación de objetivos.

Sincronización implícita durante la creación del destino del servidor MCP

Con este método, el usuario administrador completa el flujo del código de autorización durante CreateGatewayTarget SynchronizeGatewayTargets las operaciones o mediante la URL de autorización devuelta en la respuesta. UpdateGatewayTarget Esto permite a Amazon Bedrock AgentCore Gateway descubrir y almacenar en caché las herramientas del servidor MCP por adelantado.

nota

No puede eliminar, actualizar ni sincronizar un objetivo que se encuentre en un estado de autorización pendiente (CREATE_PENDING_AUTH,, UPDATE_PENDING_AUTH o). SYNCHRONIZE_PENDING_AUTH Espere a que la autorización se complete o falle antes de realizar más operaciones en el destino.

Proporcione el esquema por adelantado durante la creación del destino del servidor MCP

Con este método, los usuarios administradores proporcionan el esquema de la herramienta directamente durante CreateGatewayTarget UpdateGatewayTarget las operaciones que utilizan el mcpToolSchema campo, en lugar de que Amazon Bedrock AgentCore Gateway los obtenga dinámicamente del servidor MCP. Amazon Bedrock AgentCore Gateway analiza el esquema proporcionado y almacena en caché las definiciones de las herramientas.

nota

No puede sincronizar un objetivo que tenga configurado un esquema de herramientas estático (). mcpToolSchema Elimine el esquema estático mediante una UpdateGatewayTarget llamada para habilitar la sincronización dinámica de herramientas.

Enlace de sesión URL

La vinculación de la sesión con la URL de autorización de OAuth 2.0 verifica que el usuario que inició la solicitud de autorización de OAuth sea el mismo usuario que otorgó el consentimiento. Una vez que el usuario complete el consentimiento, el navegador lo redirige a una URL de retorno configurada en el destino con una URI de sesión única. La aplicación es entonces responsable de llamar a la CompleteResourceTokenAuth API, presentando tanto la identidad del usuario como el URI de la sesión. Amazon Bedrock AgentCore Identity valida que el usuario que inició el flujo es el mismo usuario que lo completó antes de cambiar el código de autorización por un token de acceso.

Esto evita que un usuario comparta accidentalmente la URL de autorización y otra persona complete el consentimiento, lo que otorgaría los tokens de acceso a la parte equivocada. La URL de autorización y la URI de sesión solo son válidas durante 10 minutos, lo que limita aún más el margen de uso indebido. El enlace de sesión se aplica durante la creación del destino (sincronización implícita) y durante la invocación de la herramienta.

nota

Al realizar las operaciones de destino (crear, actualizar o sincronizar) y la autorización a través de la consola de AWS administración, la CompleteResourceTokenAuth llamada se realiza en nombre del propietario del recurso y no es necesario realizar ninguna otra acción después de la autorización.

Configurar los permisos

La función de IAM que utilice para crear, actualizar o sincronizar los destinos de los servidores MCP debe tener los permisos que se muestran en el siguiente ejemplo.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock-agentcore:CreateGateway", "bedrock-agentcore:GetGateway", "bedrock-agentcore:CreateGatewayTarget", "bedrock-agentcore:GetGatewayTarget", "bedrock-agentcore:SynchronizeGatewayTargets", "bedrock-agentcore:UpdateGatewayTarget" ], "Resource": "arn:aws:bedrock-agentcore:*:*:*gateway*" }, { "Effect": "Allow", "Action": [ "bedrock-agentcore:CreateWorkloadIdentity", "bedrock-agentcore:GetWorkloadAccessToken", "bedrock-agentcore:GetWorkloadAccessTokenForUserId", "bedrock-agentcore:GetResourceOauth2Token", "bedrock-agentcore:GetResourceApiKey", "bedrock-agentcore:CompleteResourceTokenAuth", "secretsmanager:GetSecretValue" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "kms:EnableKeyRotation", "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*", "kms:ReEncrypt*", "kms:CreateAlias", "kms:DisableKey", "kms:*" ], "Resource": "arn:aws:kms:*:123456789012:key/*" } ] }