Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Cibles des serveurs MCP
Les serveurs MCP fournissent des outils locaux, un accès aux données ou des fonctions personnalisées pour vos interactions avec les modèles et les agents dans AgentCore Bedrock. Dans Bedrock AgentCore, vous pouvez définir un serveur MCP préconfiguré comme cible lors de la création d'une passerelle.
Les serveurs MCP hébergent des outils, des instructions et des ressources que les agents peuvent découvrir et utiliser. Dans Bedrock AgentCore, vous utilisez une passerelle pour associer des cibles à ces fonctionnalités et les connecter à l'environnement d'exécution de votre agent. Vous vous connectez à des serveurs MCP externes via l'SynchronizeGatewayTargetsAPI qui effectue des échanges de protocoles et indexe les fonctionnalités disponibles. Pour plus d'informations sur l'installation et l'utilisation de serveurs MCP, consultez Amazon Bedrock AgentCore MCP Server : codage Vibe avec votre assistant de codage.
Rubriques
Principales considérations et limites
Mode de mise en vente
ListingMode peut être défini sur DYNAMIC ou DEFAULT pour les cibles des serveurs MCP.
-
En mode DYNAMIQUE, les clients découvrent les fonctionnalités du serveur MCP lorsqu'un utilisateur appelle une opération MCP. Gateway récupère les fonctionnalités du serveur en transmettant les demandes au serveur MCP. Actuellement, le mode DYNAMIC n'est pas interopérable avec la recherche sémantique ou l'OAuth à trois branches (3LO) sortant.
-
À moins qu'il ne soit modifié, le mode de liste est réglé sur DEFAULT. En mode DEFAULT, les clients découvrent les fonctionnalités du serveur MCP par le biais d'une opération de synchronisation fournie par l' SynchronizeGatewayTargets API.
Synchronisation implicite
Pour les cibles en mode DEFAULT, CreateGatewayTarget les UpdateGatewayTarget opérations déclenchent automatiquement la découverte et l'indexation des capacités. Lorsque l'une ou l'autre des opérations est appelée, Gateway extrait les outils disponibles à l'aide de la tools/list fonctionnalité de MCPprompts/list, invite les ressources utilisant resources/list et resources/templates/list et ajoute les fonctionnalités renvoyées au catalogue unifié.
Synchronisation explicite
Les catalogues de fonctionnalités pour les cibles en mode DEFAULT peuvent être actualisés manuellement en appelant l'SynchronizeGatewayTargetsAPI. Lorsqu'il est appelé, il met à jour la liste des fonctionnalités disponibles de la passerelle. Vous devez appeler l'API chaque fois que les définitions de ressources d'un outil, d'une invite ou d'un outil d'un serveur MCP sont modifiées.
La synchronisation est un mécanisme essentiel pour maintenir des catalogues de fonctionnalités précis lors de l'intégration de serveurs MCP. La synchronisation implicite se produit automatiquement lors de la création et des mises à jour de la cible, au cours de laquelle Gateway découvre et indexe immédiatement les outils, les invites et les ressources du serveur MCP afin de garantir la disponibilité des fonctionnalités de recherche sémantique et de liste unifiée. La synchronisation explicite est effectuée à la demande via l'SynchronizeGatewayTargetsAPI, ce qui permet de découvrir le catalogue de fonctionnalités MCP lorsque les serveurs MCP modifient leurs fonctionnalités indépendamment.
Quand appeler SynchronizeGatewayTargets
Chaque fois que le mode de liste d'une cible de serveur MCP est défini sur DEFAULT, utilisez l'SynchronizeGatewayTargetsAPI après avoir ajouté, supprimé ou modifié des outils, des invites ou des ressources. Comme Gateway précalcule les intégrations vectorielles pour la recherche sémantique et gère des catalogues de fonctionnalités normalisés, la synchronisation est nécessaire pour permettre à vos utilisateurs de découvrir et d'invoquer les derniers outils, instructions et ressources disponibles.
Comment appeler l'API
Envoyez une requête PUT à /gateways/ {gatewayIdentifier} /synchronize avec l'ID cible dans le corps de la demande. L'API renvoie immédiatement une réponse 202 et traite la synchronisation de manière asynchrone. Surveillez l'état de la cible GetGatewayTarget pour suivre la progression de la synchronisation, car l'opération peut prendre plusieurs minutes pour les ensembles de fonctionnalités volumineux.
Stratégie d'autorisation
Les types de stratégie d'autorisation suivants sont pris en charge.
-
Aucune autorisation : la passerelle appelle le serveur MCP sans autorisation préconfigurée. Cette approche n'est pas recommandée.
-
OAuth — La passerelle prend en charge l'OAuth à deux étapes (type d'
CLIENT_CREDENTIALSautorisation), l'OAuth à trois branches (type d'autorisation) et l'échange de jetons pour le compte (type d'AUTHORIZATION_CODEautorisation).TOKEN_EXCHANGEVous configurez le fournisseur d'autorisation dans Amazon Bedrock AgentCore Identity dans le même compte et la même région pour que la passerelle passe des appels vers le serveur MCP. Si vous utilisez l'échange de jetons pour le compte, consultez les considérations relatives à l'échange de jetons pour ce type de cible. -
IAM (AWS Signature Version 4 (Sig V4)) — La passerelle signe les demandes adressées au serveur MCP à l'aide de SigV4 avec les informations d'identification du rôle de service de passerelle. Vous configurez un
IamCredentialProvideravec un nom de service obligatoire pour la signature SIGv4 et une région facultative (la valeur par défaut est la région de passerelle). -
Clé API : la passerelle utilise un fournisseur d'informations d'identification de clé API pour s'authentifier auprès du serveur MCP. Vous configurez le fournisseur de clés d'API dans Amazon Bedrock AgentCore Identity dans le même compte et la même région que la passerelle.
Important
L'autorisation sortante IAM (Sigv4) nécessite que le serveur MCP soit hébergé derrière un AWS service qui prend en charge l'authentification IAM de manière native. La passerelle signe les demandes sortantes avec SIGv4 mais ne modifie pas la configuration d'authentification sur la cible. Le service cible doit être en mesure de vérifier les signatures SIGv4.
Les AWS services suivants prennent en charge l'authentification IAM de manière native et sont compatibles avec l'autorisation sortante IAM pour les cibles de serveurs MCP :
-
Passerelle Amazon Bedrock AgentCore
-
Amazon Bedrock AgentCore Runtime (voir Déployer des serveurs MCP dans AgentCore Runtime)
-
Amazon API Gateway
-
URL des fonctions Lambda
Les services qui ne vérifient pas de manière native les signatures Sigv4, tels que Application Load Balancer ou les points de terminaison Amazon EC2 directs, ne sont pas compatibles avec l'autorisation sortante IAM. Si votre serveur MCP est hébergé derrière l'un de ces services, utilisez plutôt l'autorisation OAuth ou par clé API.
Considérations relatives à la configuration pour les cibles de serveurs MCP
Les paramètres suivants doivent être configurés.
-
Le serveur MCP doit disposer de fonctionnalités d'outil. Les fonctionnalités relatives aux invites et aux ressources sont facultatives et sont synchronisées automatiquement lorsque le serveur les annonce.
-
Les versions du protocole MCP prises en charge sont - 2026-07-28, 2025-11-25, 2025-06-18 et 2025-03-26.
-
Pour ce qui est URL/endpoint du serveur, l'URL doit être codée. La passerelle utilisera la même URL pour appeler le serveur.
Note
Pour les comptes qui sont activés pour les mises à jour des versions MCP, vous pouvez modifier les versions de protocole prises en charge par la passerelle lors de l'UpdateGatewayopération. Dans le cas contraire, les versions prises en charge sont corrigées lors de la création de la passerelle.
Astuce
Si votre serveur MCP est hébergé sur AgentCore Runtime, vous pouvez éviter une initialisation répétée avec le serveur MCP à chaque demande. Activez les sessions MCP sur votre passerelle ou ajoutez-les Mcp-Session-Id comme en-tête de demande et de réponse autorisés dans la metadataConfiguration cible. Cela se traduit par une latence plus faible pour les appels d'outils suivants. Ce guide s'applique à la version 2025-11-25 et aux versions antérieures. La version 2026-07-28 est sans état et n'utilise pas d'Mcp-Session-Iden-tête.
On-behalf-of considérations relatives à l'échange de jetons
Les limites suivantes s'appliquent lorsque vous utilisez un échange de jetons pour le compte (le type d'TOKEN_EXCHANGEautorisation) comme autorisation sortante pour une cible de serveur MCP :
-
Serveurs d'autorisation prenant en charge 2LO — Si votre serveur d'autorisation autorise l'authentification de machine à machine (l'
CLIENT_CREDENTIALSautorisation, également connue sous le nom d'OAuth bidirectionnel), vous pouvez utiliser le mode de liste PAR DÉFAUT. En mode de liste DEFAULT, la passerelle exécute une synchronisation en arrière-plan pendantCreateGatewayTargetetSynchronizeGatewayTargetspour récupérer les outils (à l'aidetools/list), les invites et les ressources du serveur MCP.UpdateGatewayTargetAucun jeton utilisateur entrant n'existe pendant ces opérations du plan de contrôle. La synchronisation utilise donc le jeton de machine à machine au lieu d'un échange de jetons pour le compte de l'échange de jetons. -
Serveurs d'autorisation ne prenant pas en charge 2LO — Si votre serveur d'autorisation ne prend pas en charge l'authentification de machine à machine, utilisez plutôt le mode de liste DYNAMIQUE. En mode DYNAMIC, la passerelle découvre les capacités du serveur MCP au moment de l'invocation. Comme un jeton utilisateur entrant est présent et peut être échangé à ce stade, la passerelle ne nécessite aucune synchronisation en arrière-plan du plan de contrôle.
Sécurisation de l'état de la demande pour l'élicitation et l'échantillonnage (version 2026-07-28 et versions ultérieures)
Sur les versions 2026-07-28 et les versions ultérieures, l'élicitation et l'échantillonnage utilisent le modèle MRTR (multi-demandes aller-retour). La cible de votre serveur MCP génère la requestState valeur dans un input_required résultat ; la passerelle considère cette valeur comme opaque. La passerelle ne stocke pas lerequestState. Il conserve la valeur en mémoire uniquement tout en la transférant inchangée entre votre client et la cible de votre serveur MCP, et la supprime une fois la demande terminée.
AgentCore Gateway et la cible de votre serveur MCP partagent la responsabilité de la sécurisation de l'état de la demande :
-
AgentCore Gateway authentifie et autorise chaque demande en fonction de la configuration d'autorisation entrante de votre passerelle, y compris les nouvelles tentatives comportant un.
requestStateUn appelant qui ne peut pas s'authentifier auprès de votre passerelle ne peut pas du tout présenter l'état de sa demande. Pour plus d'informations, voir Configurer l'autorisation entrante pour votre passerelle. -
La cible de votre serveur MCP est chargée de valider les informations
requestStatequ'elle reçoit, car la valeur passe par le client. La spécification MCP impose aux serveurs de traiter le client comme un intermédiaire non fiable et de toujours valider l'état de la demande. Si l'état contient des données spécifiques à l'utilisateur d'origine, la spécification exige que le serveur lie ces données à l'utilisateur de manière cryptographique. Lors d'une nouvelle tentative, le serveur doit vérifier que l'état appartient à l'utilisateur actuellement authentifié. La passerelle ne vérifie pas que l'appelant présentant unrequestStateest le même que celui qui l'a reçu. Il incombe à votre serveur MCP d'empêcher un utilisateur de rejouer l'état de la demande d'un autre utilisateur.
Pour protéger l'état de la demande, suivez les instructions de la spécification MCP. Chiffrez ou signez l'état (par exemple, avec AES-GCM ou un JWT signé) pour garantir la confidentialité et l'intégrité. Liez l'état spécifique à l'utilisateur d'origine, faites expirer l'état et traitez toutes les valeurs d'état en texte brut comme des entrées non fiables. Pour plus d'informations, consultez la section Demandes aller-retour multiples
Connexion à un serveur OAuth-protected MCP à l'aide du flux de code d'autorisation
Pour prendre en charge le type d'octroi de code d'autorisation (OAuth à trois branches) avec les cibles de serveur MCP, Amazon Bedrock AgentCore Gateway propose deux méthodes de création de cibles.
Synchronisation implicite lors de la création de la cible du serveur MCP
Avec cette méthode, l'utilisateur administrateur complète le flux de code d'autorisation pendant ou pendant CreateGatewayTarget les UpdateGatewayTarget SynchronizeGatewayTargets opérations à l'aide de l'URL d'autorisation renvoyée dans la réponse. Cela permet à Amazon Bedrock AgentCore Gateway de découvrir et de mettre en cache les outils du serveur MCP dès le départ.
Note
Vous ne pouvez pas supprimer, mettre à jour ou synchroniser une cible dont l'état d'autorisation est en attente (CREATE_PENDING_AUTHUPDATE_PENDING_AUTH, ouSYNCHRONIZE_PENDING_AUTH). Attendez que l'autorisation soit terminée ou échoue avant d'effectuer d'autres opérations sur la cible.
Fournir le schéma dès le départ lors de la création de la cible du serveur MCP
Avec cette méthode, les administrateurs fournissent le schéma de l'outil directement pendant CreateGatewayTarget ou pendant les UpdateGatewayTarget opérations utilisant le mcpToolSchema champ, au lieu qu'Amazon Bedrock AgentCore Gateway ne le récupère dynamiquement depuis le serveur MCP. Amazon Bedrock AgentCore Gateway analyse le schéma fourni et met en cache les définitions des outils.
Note
Vous ne pouvez pas synchroniser une cible pour laquelle un schéma d'outil statique (mcpToolSchema) est configuré. Supprimez le schéma statique via un UpdateGatewayTarget appel pour activer la synchronisation dynamique des outils.
Liaison de session URL
La liaison de session d'URL d'autorisation OAuth 2.0 vérifie que l'utilisateur qui a lancé la demande d'autorisation OAuth est le même que celui qui a donné son consentement. Une fois que l'utilisateur a donné son consentement, le navigateur est redirigé vers une URL de retour configurée sur la cible avec un URI de session unique. L'application est ensuite chargée d'appeler l'CompleteResourceTokenAuthAPI, en présentant à la fois l'identité de l'utilisateur et l'URI de la session. Amazon Bedrock AgentCore Identity confirme que l'utilisateur qui a lancé le flux est le même que celui qui l'a terminé avant d'échanger le code d'autorisation contre un jeton d'accès.
Cela permet d'éviter le scénario dans lequel un utilisateur partage accidentellement l'URL d'autorisation et où quelqu'un d'autre complète le consentement, ce qui accorderait des jetons d'accès à la mauvaise partie. L'URL d'autorisation et l'URI de session ne sont valides que pendant 10 minutes, ce qui limite encore la fenêtre en cas d'utilisation abusive. La liaison de session s'applique lors de la création de la cible (synchronisation implicite) et lors de l'appel de l'outil.
Note
Lors de l'exécution des opérations cibles (création, mise à jour ou synchronisation) et de l'autorisation via la console de AWS gestion, l'CompleteResourceTokenAuthappel est effectué au nom du propriétaire de la ressource et ne nécessite aucune autre action après l'autorisation.
Configuration des autorisations
Le rôle IAM que vous utilisez pour créer, mettre à jour ou synchroniser les cibles des serveurs MCP doit disposer des autorisations indiquées dans l'exemple suivant.
{ "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/*" } ] }