View a markdown version of this page

MCP-Serverziele - Amazon Grundgestein AgentCore

MCP-Serverziele

MCP-Server bieten lokale Tools, Datenzugriff oder benutzerdefinierte Funktionen für Ihre Interaktionen mit Modellen und Agenten in Bedrock. AgentCore In Bedrock AgentCore können Sie bei der Erstellung eines Gateways einen vorkonfigurierten MCP-Server als Ziel definieren.

MCP-Server hosten Tools, Eingabeaufforderungen und Ressourcen, die Agenten erkennen und verwenden können. In Bedrock verwenden Sie ein Gateway AgentCore, um Ziele mit diesen Funktionen zu verknüpfen und sie mit Ihrer Agenten-Laufzeit zu verbinden. Sie stellen eine Verbindung zu externen MCP-Servern über die SynchronizeGatewayTargets API her, die Protokoll-Handshakes durchführt und verfügbare Funktionen indexiert. Weitere Informationen zur Installation und Verwendung von MCP-Servern finden Sie unter Amazon Bedrock AgentCore MCP Server: Vibe-Codierung mit Ihrem Programmierassistenten.

Wichtigste Überlegungen und Einschränkungen

Auflistungsmodus

ListingMode kann für MCP-Serverziele entweder als DYNAMIC oder DEFAULT festgelegt werden.

  • Im DYNAMIC-Modus erkennen Clients die MCP-Serverfunktionen, wenn ein Benutzer einen MCP-Vorgang aufruft. Gateway ruft Serverfunktionen ab, indem es Anfragen an den MCP-Server weiterleitet. Derzeit ist der DYNAMIC-Modus nicht mit der semantischen Suche oder dem ausgehenden dreibeinigen OAuth (3LO) kompatibel.

  • Sofern nicht geändert, ist der Auflistungsmodus auf DEFAULT gesetzt. Im DEFAULT-Modus erkennen Clients die MCP-Serverfunktionen durch einen Synchronisierungsvorgang, der von der SynchronizeGatewayTargets API bereitgestellt wird.

Implizite Synchronisation

Bei Zielen im DEFAULT-Modus lösen UpdateGatewayTarget Operationen automatisch die Erkennung CreateGatewayTarget und Indizierung von Fähigkeiten aus. Wenn einer der beiden Operationen aufgerufen wird, ruft Gateway die verfügbaren Tools mithilfe der tools/list MCP-Fähigkeiten ab, fordert die Verwendung von prompts/list Ressourcen mit und auf resources/list und resources/templates/list fügt die zurückgegebenen Funktionen dem einheitlichen Katalog hinzu.

Explizite Synchronisation

Funktionskataloge für Ziele im DEFAULT-Modus können manuell aktualisiert werden, indem die SynchronizeGatewayTargets API aufgerufen wird. Wenn sie aufgerufen wird, aktualisiert sie die Liste der verfügbaren Funktionen des Gateways. Sie sollten die API jederzeit aufrufen, wenn sich das Tool, die Eingabeaufforderung oder die Ressourcendefinitionen eines MCP-Servers ändern.

Die Synchronisation ist bei der Integration von MCP-Servern ein entscheidender Mechanismus für die Aufrechterhaltung genauer Funktionskataloge. Die implizite Synchronisation erfolgt automatisch bei der Erstellung und Aktualisierung von Zielen. Dabei erkennt und indexiert Gateway sofort Tools, Eingabeaufforderungen und Ressourcen vom MCP-Server, um sicherzustellen, dass Funktionen für die semantische Suche und die einheitliche Auflistung verfügbar sind. Die explizite Synchronisation erfolgt bei Bedarf über die SynchronizeGatewayTargets API, sodass der MCP-Fähigkeitskatalog erkannt werden kann, wenn MCP-Server ihre Funktionen unabhängig voneinander ändern.

Wann sollte ich anrufen SynchronizeGatewayTargets

Immer wenn der Listing-Modus eines MCP-Serverziels auf DEFAULT gesetzt ist, verwenden Sie die SynchronizeGatewayTargets API, nachdem Tools, Eingabeaufforderungen oder Ressourcen hinzugefügt, entfernt oder geändert wurden. Da Gateway Vektoreinbettungen für die semantische Suche im Voraus berechnet und normalisierte Funktionskataloge verwaltet, ist eine Synchronisation erforderlich, um sicherzustellen, dass Ihre Benutzer die neuesten verfügbaren Tools, Eingabeaufforderungen und Ressourcen finden und aufrufen können.

Wie ruft man die API auf

Stellen Sie eine PUT-Anfrage an /gateways/ {gatewayIdentifier} /synchronize mit der Ziel-ID im Anfragetext. Die API gibt sofort eine 202-Antwort zurück und verarbeitet die Synchronisation asynchron. Überwachen Sie den Zielstatus, GetGatewayTarget um den Fortschritt der Synchronisation nachzuverfolgen, da der Vorgang bei großen Funktionsumfängen mehrere Minuten dauern kann.

Autorisierungsstrategie

Die folgenden Arten der Autorisierungsstrategie werden unterstützt.

  • Keine Autorisierung — Das Gateway ruft den MCP-Server ohne vorkonfigurierte Autorisierung auf. Dieser Ansatz wird nicht empfohlen.

  • OAuth — Das Gateway unterstützt sowohl zweistufiges OAuth (Grant-Typ Client Credentials) als auch dreibeiniges OAuth (Authorization Code Grant-Typ). Sie konfigurieren den Autorisierungsanbieter in Amazon Bedrock AgentCore Identity in demselben Konto und derselben Region für das Gateway, um Anrufe an den MCP-Server zu tätigen.

  • IAM (AWS Signature Version 4 (Sig V4)) — Das Gateway signiert Anfragen an den MCP-Server mithilfe von Sigv4 mit den Zugangsdaten für die Gateway-Serverolle. Sie konfigurieren eine IamCredentialProvider mit einem erforderlichen Dienstnamen für die Sigv4-Signierung und einer optionalen Region (standardmäßig die Gateway-Region).

  • API-Schlüssel — Das Gateway verwendet einen API-Schlüssel-Anmeldeinformationsanbieter, um sich beim MCP-Server zu authentifizieren. Sie konfigurieren den API-Schlüsselanbieter in Amazon Bedrock AgentCore Identity im selben Konto und in derselben Region wie das Gateway.

Wichtig

Für die ausgehende IAM-Autorisierung (Sigv4) muss der MCP-Server hinter einem AWS Dienst gehostet werden, der die IAM-Authentifizierung nativ unterstützt. Das Gateway signiert ausgehende Anfragen mit SigV4, ändert jedoch nicht die Authentifizierungskonfiguration auf dem Ziel. Der Zieldienst muss in der Lage sein, SigV4-Signaturen zu überprüfen.

Die folgenden AWS Dienste unterstützen nativ die IAM-Authentifizierung und sind mit der ausgehenden IAM-Autorisierung für MCP-Serverziele kompatibel:

Dienste, die SigV4-Signaturen nicht nativ verifizieren, wie Application Load Balancer oder direkte Amazon EC2 EC2-Endpunkte, sind nicht mit der ausgehenden IAM-Autorisierung kompatibel. Wenn Ihr MCP-Server hinter einem dieser Dienste gehostet wird, verwenden Sie stattdessen OAuth oder API-Schlüsselautorisierung.

Überlegungen zur Konfiguration von MCP-Serverzielen

Folgendes muss konfiguriert werden.

  1. Der MCP-Server muss über Toolfunktionen verfügen. Funktionen für Eingabeaufforderungen und Ressourcen sind optional und werden automatisch synchronisiert, wenn der Server sie ankündigt.

  2. Die unterstützten MCP-Protokollversionen sind: 2025-06-18, 2025-03-26 und 2025-11-25.

  3. Für die vom Server bereitgestellten Daten sollte die URL kodiert sein. URL/endpoint Das Gateway verwendet dieselbe URL, um den Server aufzurufen.

Tipp

Wenn Ihr MCP-Server auf AgentCore Runtime gehostet wird, aktivieren Sie MCP-Sitzungen auf Ihrem Gateway oder fügen Sie Mcp-Session-Id als zulässige Anfrage- und Antwort-Header in den Zieldateien hinzu. metadataConfiguration Dadurch wird eine wiederholte Initialisierung mit dem MCP-Server bei jeder Anfrage vermieden und die Latenz für nachfolgende Tool-Aufrufe verringert.

Mithilfe des Autorisierungscodeflusses eine Verbindung zu einem OAuth-protected MCP-Server herstellen

Um den Gewährungstyp Autorisierungscode (dreibeiniges OAuth) für MCP-Serverziele zu unterstützen, bietet Amazon Bedrock AgentCore Gateway zwei Methoden für die Zielerstellung.

Implizite Synchronisierung bei der Erstellung des MCP-Serverziels

Bei dieser Methode schließt der Admin-Benutzer den Ablauf des Autorisierungscodes bei CreateGatewayTarget SynchronizeGatewayTargets Vorgängen ab und verwendet dabei die in der Antwort zurückgegebene Autorisierungs-URL. UpdateGatewayTarget Auf diese Weise kann Amazon Bedrock AgentCore Gateway die Tools des MCP-Servers im Voraus erkennen und zwischenspeichern.

Anmerkung

Sie können ein Ziel, das sich in einem ausstehenden Autorisierungsstatus (, oder) befindet, nicht löschen CREATE_PENDING_AUTHUPDATE_PENDING_AUTH, aktualisieren oder synchronisieren. SYNCHRONIZE_PENDING_AUTH Warten Sie, bis die Autorisierung abgeschlossen ist oder schlägt sie fehl, bevor Sie weitere Operationen auf dem Ziel ausführen.

Stellen Sie das Schema bei der Erstellung des MCP-Serverziels im Voraus bereit

Bei dieser Methode geben Admin-Benutzer das Tool-Schema direkt während der CreateGatewayTarget UpdateGatewayTarget Operationen, die das mcpToolSchema Feld verwenden, an, anstatt dass Amazon Bedrock AgentCore Gateway es dynamisch vom MCP-Server abruft. Amazon Bedrock AgentCore Gateway analysiert das bereitgestellte Schema und speichert die Tooldefinitionen im Cache.

Anmerkung

Sie können kein Ziel synchronisieren, für das ein statisches Tool-Schema () mcpToolSchema konfiguriert ist. Entfernen Sie das statische Schema durch einen UpdateGatewayTarget Aufruf, um die dynamische Werkzeugsynchronisierung zu aktivieren.

URL-Sitzungsbindung

Durch die URL-Sitzungsbindung für die OAuth 2.0-Autorisierung wird überprüft, ob der Benutzer, der die OAuth-Autorisierungsanfrage initiiert hat, derselbe Benutzer ist, der die Zustimmung erteilt hat. Nachdem der Benutzer seine Zustimmung erteilt hat, leitet der Browser zurück zu einer Rückgabe-URL, die auf dem Ziel mit einer eindeutigen Sitzungs-URI konfiguriert ist. Die Anwendung ist dann für den Aufruf der CompleteResourceTokenAuthAPI verantwortlich und präsentiert sowohl die Identität des Benutzers als auch den Sitzungs-URI. Amazon Bedrock AgentCore Identity überprüft, ob der Benutzer, der den Flow gestartet hat, derselbe Benutzer ist, der ihn abgeschlossen hat, bevor der Autorisierungscode gegen ein Zugriffstoken ausgetauscht wurde.

Dies verhindert ein Szenario, in dem ein Benutzer versehentlich die Autorisierungs-URL weitergibt und eine andere Person die Zustimmung abschließt, wodurch der falschen Partei Zugriffstoken gewährt würden. Die Autorisierungs-URL und der Sitzungs-URI sind nur für 10 Minuten gültig, wodurch das Zeitfenster für Missbrauch weiter eingeschränkt wird. Die Sitzungsbindung gilt während der Zielerstellung (implizite Synchronisierung) und beim Aufruf des Tools.

Anmerkung

Bei der Ausführung von Zielvorgängen (Erstellen, Aktualisieren oder Synchronisieren) und der Autorisierung über die AWS Management Console erfolgt der CompleteResourceTokenAuthAufruf im Namen des Ressourcenbesitzers, sodass nach der Autorisierung keine weiteren Maßnahmen erforderlich sind.

Konfigurieren von Berechtigungen

Die IAM-Rolle, die Sie zum Erstellen, Aktualisieren oder Synchronisieren von MCP-Serverzielen verwenden, sollte über die im folgenden Beispiel gezeigten Berechtigungen verfügen.

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