View a markdown version of this page

Obiettivi dei server MCP - Fondamento Amazon AgentCore

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Obiettivi dei server MCP

I server MCP forniscono strumenti locali, accesso ai dati o funzioni personalizzate per le interazioni con modelli e agenti in Bedrock. AgentCore In Bedrock AgentCore, è possibile definire un server MCP preconfigurato come destinazione durante la creazione di un gateway.

I server MCP ospitano strumenti, prompt e risorse che gli agenti possono scoprire e utilizzare. In Bedrock AgentCore, si utilizza un gateway per associare gli obiettivi a queste funzionalità e collegarli al runtime dell'agente. Vi connettete a server MCP esterni tramite l'SynchronizeGatewayTargetsAPI che esegue gli handshake del protocollo e indicizza le funzionalità disponibili. Per ulteriori informazioni sull'installazione e l'utilizzo dei server MCP, consulta Amazon Bedrock AgentCore MCP Server: Vibe coding with your coding assistant.

Considerazioni e limitazioni principali

Modalità di quotazione

ListingMode può essere impostato come DYNAMIC o DEFAULT per le destinazioni del server MCP.

  • In modalità DYNAMIC, i client scoprono le funzionalità del server MCP quando un utente richiama un'operazione MCP. Gateway recupera le funzionalità del server inoltrando le richieste al server MCP. Attualmente la modalità DYNAMIC non è interoperabile con la ricerca semantica o l'OAuth a tre fasi in uscita (3LO).

  • A meno che non venga modificata, la Listing Mode è impostata su DEFAULT. In modalità DEFAULT, i client scoprono le funzionalità del server MCP tramite un'operazione di sincronizzazione fornita dall' SynchronizeGatewayTargets API.

Sincronizzazione implicita

Per le destinazioni in modalità DEFAULT, UpdateGatewayTarget le operazioni attivano automaticamente il rilevamento CreateGatewayTarget e l'indicizzazione delle capacità. Quando viene richiamata una delle due operazioni, Gateway recupera gli strumenti disponibili utilizzando la tools/list funzionalità di MCP, ne richiede l'utilizzoprompts/list, l'utilizzo delle risorse resources/list e resources/templates/list aggiunge le funzionalità restituite al catalogo unificato.

Sincronizzazione esplicita

I cataloghi di funzionalità per Target in modalità DEFAULT possono essere aggiornati manualmente chiamando l'API. SynchronizeGatewayTargets Quando viene chiamato, aggiorna l'elenco delle funzionalità disponibili del Gateway. È necessario chiamare l'API ogni volta che le definizioni degli strumenti, del prompt e delle risorse di un server MCP cambiano.

La sincronizzazione è un meccanismo fondamentale per mantenere cataloghi di funzionalità accurati durante l'integrazione dei server MCP. La sincronizzazione implicita avviene automaticamente durante la creazione e gli aggiornamenti degli obiettivi, in cui Gateway rileva e indicizza immediatamente strumenti, prompt e risorse dal server MCP per garantire la disponibilità delle funzionalità per la ricerca semantica e l'elenco unificato. La sincronizzazione esplicita viene eseguita su richiesta tramite l'SynchronizeGatewayTargetsAPI, consentendo l'individuazione del catalogo delle funzionalità MCP quando i server MCP modificano le proprie funzionalità in modo indipendente.

Quando chiamare SynchronizeGatewayTargets

Ogni volta che una destinazione del server MCP ha la modalità di elenco impostata su DEFAULT, utilizzate l'SynchronizeGatewayTargetsAPI dopo aver aggiunto, rimosso o modificato strumenti, prompt o risorse. Poiché Gateway precalcola gli incorporamenti vettoriali per la ricerca semantica e mantiene cataloghi di funzionalità normalizzati, la sincronizzazione è necessaria per garantire che gli utenti possano scoprire e richiamare gli strumenti, i prompt e le risorse più recenti disponibili.

Come chiamare l'API

Effettua una richiesta PUT a /gateways/ {gatewayIdentifier} /synchronize con l'ID di destinazione nel corpo della richiesta. L'API restituisce immediatamente una risposta 202 ed elabora la sincronizzazione in modo asincrono. Monitora lo stato dell'obiettivo GetGatewayTarget per tenere traccia dell'avanzamento della sincronizzazione, poiché l'operazione può richiedere diversi minuti per set di funzionalità di grandi dimensioni.

Strategia di autorizzazione

Sono supportati i seguenti tipi di strategia di autorizzazione.

  • Nessuna autorizzazione: il gateway richiama il server MCP senza autorizzazione preconfigurata. Questo approccio non è consigliato.

  • OAuth: il gateway supporta OAuth a due fasi (tipo di concessione), OAuth a tre fasi (tipo di CLIENT_CREDENTIALS concessione) e lo scambio di token per conto di terzi (tipo di AUTHORIZATION_CODE concessione). TOKEN_EXCHANGE È possibile configurare il provider di autorizzazione in Amazon Bedrock AgentCore Identity nello stesso account e nella stessa regione affinché il gateway effettui chiamate al server MCP. Se utilizzi lo scambio di token per conto di questo tipo di destinazione, consulta le considerazioni sullo scambio di token per conto di questo tipo di destinazione.

  • IAM (AWS Signature Version 4 (Sig V4)): il gateway firma le richieste al server MCP utilizzando Sigv4 con le credenziali del ruolo del servizio gateway. Si configura una IamCredentialProvider con un nome di servizio obbligatorio per la firma Sigv4 e una regione opzionale (l'impostazione predefinita è la regione del gateway).

  • Chiave API: il gateway utilizza un provider di credenziali con chiave API per autenticarsi con il server MCP. È possibile configurare il fornitore di chiavi API in Amazon Bedrock AgentCore Identity nello stesso account e nella stessa regione del gateway.

Importante

L'autorizzazione in uscita IAM (Sigv4) richiede che il server MCP sia ospitato dietro un AWS servizio che supporta nativamente l'autenticazione IAM. Il gateway firma le richieste in uscita con SIGv4 ma non modifica la configurazione di autenticazione sulla destinazione. Il servizio di destinazione deve essere in grado di verificare le firme SIGv4.

I seguenti AWS servizi supportano in modo nativo l'autenticazione IAM e sono compatibili con l'autorizzazione IAM in uscita per le destinazioni dei server MCP:

I servizi che non verificano in modo nativo le firme SIGv4, come Application Load Balancer o endpoint Amazon EC2 diretti, non sono compatibili con l'autorizzazione in uscita IAM. Se il tuo server MCP è ospitato dietro uno di questi servizi, utilizza invece l'autorizzazione con chiave OAuth o API.

Considerazioni sulla configurazione per le destinazioni dei server MCP

È necessario configurare quanto segue.

  1. Il server MCP deve disporre delle funzionalità degli strumenti. Le funzionalità di prompt e risorse sono opzionali e vengono sincronizzate automaticamente quando il server le pubblicizza.

  2. Le versioni del protocollo MCP supportate sono: 2026-07-28, 2025-11-25, 2025-06-18 e 2025-03-26.

  3. Per la URL/endpoint fornitura del server, l'URL deve essere codificato. Il Gateway utilizzerà lo stesso URL per richiamare il server.

Nota

Per gli account abilitati per gli aggiornamenti delle versioni MCP, è possibile modificare le versioni del protocollo supportate dal gateway con questa operazione. UpdateGateway Altrimenti, le versioni supportate vengono corrette quando si crea il gateway.

Suggerimento

Se il server MCP è ospitato su AgentCore Runtime, è possibile evitare l'inizializzazione ripetuta con il server MCP a ogni richiesta. Abilita le sessioni MCP sul tuo gateway o aggiungile Mcp-Session-Id come intestazione di richiesta e risposta consentita in quella di destinazione. metadataConfiguration Ciò si traduce in una minore latenza per le successive chiamate agli strumenti. Questa guida si applica alla versione 2025-11-25 e alle versioni precedenti. 2026-07-28La versione è senza stato e non utilizza l'Mcp-Session-Idintestazione.

On-behalf-of considerazioni sullo scambio di token

Le seguenti limitazioni si applicano quando si utilizza lo scambio di token per conto di un server MCP (il tipo di TOKEN_EXCHANGE concessione) come autorizzazione in uscita per una destinazione del server MCP:

  • Server di autorizzazione con supporto 2LO: se il server di autorizzazione consente l'autenticazione da macchina a macchina (la CLIENT_CREDENTIALS concessione, nota anche come OAuth a due livelli), puoi utilizzare la modalità di elenco PREDEFINITA. Nella modalità di elenco PREDEFINITA, il gateway esegue una sincronizzazione in background durante e SynchronizeGatewayTargets per recuperare gli strumenti (utilizzando) CreateGatewayTargetUpdateGatewayTarget, i prompt e le risorse del server MCP. tools/list Non esiste alcun token utente in entrata durante queste operazioni sul piano di controllo, quindi la sincronizzazione utilizza il token da macchina a macchina anziché per conto dello scambio di token.

  • Server di autorizzazione senza supporto 2LO: se il server di autorizzazione non supporta l'autenticazione da macchina a macchina, utilizza invece la modalità di elenco DINAMICO. In modalità DYNAMIC, il gateway scopre le funzionalità del server MCP al momento della chiamata. Poiché è presente un token utente in entrata che può essere scambiato in quel momento, il gateway non richiede la sincronizzazione in background del piano di controllo.

Protezione dello stato della richiesta per l'elicitazione e il campionamento (versione 2026-07-28 e successive)

Nelle versioni successive, l'elicitazione 2026-07-28 e il campionamento utilizzano il modello MRTR (Multi Round-Trip Request). La destinazione del server MCP genera il requestState valore in un input_required risultato; il gateway considera questo valore come opaco. Il gateway non memorizza il. requestState Mantiene il valore in memoria solo mentre lo inoltra invariato tra il client e il server di destinazione MCP e lo elimina quando la richiesta viene completata.

AgentCore Gateway e la destinazione del server MCP condividono la responsabilità della protezione dello stato della richiesta:

  • AgentCore Gateway autentica e autorizza ogni richiesta in base alla configurazione di autorizzazione in entrata del gateway, inclusi i nuovi tentativi che comportano un. requestState Un chiamante che non è in grado di autenticarsi sul gateway non può presentare affatto lo stato della richiesta. Per ulteriori informazioni, consulta Configurare l'autorizzazione in entrata per il gateway.

  • La destinazione del server MCP è responsabile della convalida di requestState ciò che riceve, poiché il valore viene trasferito attraverso il client. La specifica MCP richiede che i server considerino il client un intermediario non affidabile e convalidino sempre lo stato della richiesta. Se lo stato contiene dati specifici dell'utente originale, la specifica richiede che il server associ crittograficamente tali dati all'utente. Al nuovo tentativo, il server deve verificare che lo stato appartenga all'utente attualmente autenticato. Il gateway non verifica che il chiamante che presenta a requestState sia lo stesso chiamante che lo ha ricevuto. Impedire a un utente di riprodurre lo stato della richiesta di un altro utente è responsabilità del server MCP.

Per proteggere lo stato della richiesta, seguite le indicazioni contenute nelle specifiche MCP. Crittografa o firma lo stato (ad esempio, con AES-GCM o un JWT firmato) per garantire riservatezza e integrità. Associa lo stato specifico dell'utente all'utente di origine, fa scadere lo stato e considera qualsiasi valore di stato in testo normale come input non attendibile. Per ulteriori informazioni, consulta Richieste multiple di andata e ritorno sul sito Web Model Context Protocol.

Connessione a un server OAuth-protected MCP utilizzando il flusso del codice di autorizzazione

Per supportare il tipo di concessione del codice di autorizzazione (OAuth a tre fasi) con destinazioni server MCP, Amazon Bedrock AgentCore Gateway offre due metodi per la creazione degli obiettivi.

Sincronizzazione implicita durante la creazione del target del server MCP

Con questo metodo, l'utente amministratore completa il flusso del codice di autorizzazione durante o durante CreateGatewayTarget le UpdateGatewayTarget SynchronizeGatewayTargets operazioni utilizzando l'URL di autorizzazione restituito nella risposta. Ciò consente ad Amazon Bedrock AgentCore Gateway di scoprire e memorizzare nella cache gli strumenti del server MCP in anticipo.

Nota

Non è possibile eliminare, aggiornare o sincronizzare una destinazione in stato di autorizzazione in sospeso (CREATE_PENDING_AUTH,, o). UPDATE_PENDING_AUTH SYNCHRONIZE_PENDING_AUTH Attendi il completamento o l'esito negativo dell'autorizzazione prima di eseguire ulteriori operazioni sulla destinazione.

Fornisci lo schema in anticipo durante la creazione della destinazione del server MCP

Con questo metodo, gli utenti amministratori forniscono lo schema dello strumento direttamente durante CreateGatewayTarget UpdateGatewayTarget le operazioni che utilizzano il mcpToolSchema campo, anziché Amazon Bedrock AgentCore Gateway che lo recupera dinamicamente dal server MCP. Amazon Bedrock AgentCore Gateway analizza lo schema fornito e memorizza nella cache le definizioni degli strumenti.

Nota

Non è possibile sincronizzare una destinazione con uno schema di strumenti statico () configurato. mcpToolSchema Rimuovete lo schema statico tramite una UpdateGatewayTarget chiamata per abilitare la sincronizzazione dinamica degli strumenti.

Associazione di sessioni URL

L'associazione di sessione URL di autorizzazione OAuth 2.0 verifica che l'utente che ha avviato la richiesta di autorizzazione OAuth sia lo stesso utente che ha concesso il consenso. Dopo che l'utente ha completato il consenso, il browser reindirizza a un URL di ritorno configurato sulla destinazione con un URI di sessione univoco. L'applicazione è quindi responsabile della chiamata all'CompleteResourceTokenAuthAPI, presentando sia l'identità dell'utente che l'URI della sessione. Amazon Bedrock AgentCore Identity verifica che l'utente che ha avviato il flusso sia lo stesso utente che lo ha completato prima di scambiare il codice di autorizzazione con un token di accesso.

In questo modo si evita che un utente condivida accidentalmente l'URL di autorizzazione e qualcun altro completi il consenso, il che concederebbe i token di accesso alla parte sbagliata. L'URL di autorizzazione e l'URI di sessione sono validi solo per 10 minuti, limitando ulteriormente la finestra per un uso improprio. L'associazione di sessione si applica durante la creazione del target (sincronizzazione implicita) e durante l'invocazione dello strumento.

Nota

Quando si eseguono operazioni di destinazione (creazione, aggiornamento o sincronizzazione) e autorizzazione tramite la console di AWS gestione, la CompleteResourceTokenAuth chiamata viene effettuata per conto del proprietario della risorsa e non richiede ulteriori azioni dopo l'autorizzazione.

Configurazione delle autorizzazioni

Il ruolo IAM utilizzato per creare, aggiornare o sincronizzare le destinazioni dei server MCP deve avere le autorizzazioni mostrate nell'esempio seguente.

{ "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/*" } ] }