View a markdown version of this page

Verwenden des Registry MCP-Endpunkts - Amazon Grundgestein AgentCore

Verwenden des Registry MCP-Endpunkts

Bevorstehende Namespace-Migration

AWS Agent Registry befindet sich derzeit in der öffentlichen Vorschauversion unter dem Bedrock-Agentcore-Namespace. Ab dem 6. August 2026 wird der Dienst in den Agent-Registry-Namespace verschoben. Wenn Sie AWS Agent Registry verwenden, müssen Sie Ihre Endpoints, IAM-Richtlinien, SDK-Clients, CLI-Skripts und Registrierungsdaten aktualisieren. Weitere Informationen zur Migration aus der öffentlichen Vorschauversion finden Sie unter Umfassender Anleitung zur Registrierungsmigration.

-Übersicht

Jede Registrierung stellt einen MCP-compatible Endpunkt bereit, der der Spezifikation 2025-11-25 entspricht. Der Endpunkt unterstützt die Auflistung von Tools und den Aufruf von Tools zum Durchsuchen von Registrierungseinträgen.

https://bedrock-agentcore.<region>.amazonaws.com/registry/<registryId>/mcp

Das MCP enthält ein Tool namens „search_registry_records“.

Tool name: search_registry_records Description: Searches for registry records using natural language queries. Returns metadata for matching records. Parameters: - searchQuery (required): string - Natural language search query - maxResults: integer - Maximum number of results to return (1-20, default 10) - filter: object - Optional metadata filter using structured JSON operators. Supports field-level operators ($eq, $ne, $in) and logical operators ($and, $or) on filterable fields (name, descriptorType, version). Example: {"descriptorType": {"$eq": "MCP"}}

Sie können von einem vorhandenen MCP-Client wie Kiro, Claude usw. aus eine Verbindung zur Registrierung herstellen.

Stellen Sie von einem vorhandenen MCP-Client aus eine Connect zum OAuth-based Registrierungs-MCP-Endpunkt her

Berechtigungen

Der MCP-Endpunkt verwendet dasselbe, um die eingehenden Anfragen CustomJWTAuthorizerConfigurationzu autorisieren.

Der .well-known/oauth-protected-resource Pfad ist:. https://bedrock-agentcore.<region>.amazonaws.com/.well-known/oauth-protected-resource/registry/<registryId>/mcp

Der Client kann die Metadaten auch aus dem WWW-Authenticate Header ermitteln:

www-authenticate: Bearer resource_metadata="https://bedrock-agentcore.<region>.amazonaws.com/.well-known/oauth-protected-resource/registry/<registryId>/mcp"

Sobald Sie das Zugriffstoken erhalten haben, können Sie es validieren:

curl -s -X POST "https://bedrock-agentcore.<region>.amazonaws.com/registry/<registryId>/mcp" \ -H "Authorization: Bearer ${ACCESS_TOKEN}" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_registry_records","arguments":{"searchQuery":"weather"}}}'

Abhängig von Ihrem Autorisierungsserver und den Sicherheitsanforderungen Ihres Unternehmens können Sie einen der folgenden Ansätze wählen, um Ihren MCP-Client zu konfigurieren:

  1. Bearer-Token: Verwenden Sie einen separaten Prozess, um das Bearer-Token abzurufen und es im MCP-Client-Header zu konfigurieren

  2. Pre-registered Client: Erstellen Sie einen Client auf Ihrem Autorisierungsserver und setzen Sie den Client in der Konfiguration der Registrierung auf die Zulassungsliste.

  3. Dynamische Client-Registrierung: Wenn Ihr Autorisierungsserver die dynamische Client-Registrierung (DCR) unterstützt, können Sie die Zielgruppe in der Konfiguration der Registrierung zulassen.

OAuth-based Einrichtung des MCP-Clients

Verwenden Sie das Inhaber-Token

In den meisten IDEs können Sie das Bearer-Token für den Autorisierungsheader in einer MCP-Konfiguration konfigurieren. Kiro unterstützt beispielsweise Umgebungsvariablen mithilfe der Syntax. ${ENV_VAR} Sie können das folgende Beispiel verwenden:

{ "mcpServers": { "my-registry": { "type": "http", "url": "https://bedrock-agentcore.<region>.amazonaws.com/registry/<registryId>/mcp", "headers": { "Authorization": "Bearer ${ACCESS_TOKEN}" } } } }

Pre-registered Kunde

Sie können einen neuen Client auf der Grundlage der Erteilung des Autorisierungscodes auf Ihrem Autorisierungsserver erstellen und den Client für den Zugriff auf die Registrierung verwenden. Erstellen Sie beispielsweise einen Client im Cognito-Benutzerpool.

Sobald Sie die Client-ID haben, stellen Sie sicher, dass Sie sie in der Registrierung zulassen:

aws bedrock-agentcore-control update-registry \ --registry-id <registryId> \ --authorizer-configuration '{ "optionalValue": { "customJWTAuthorizer": { "discoveryUrl": "https://<example-domain>/.well-known/openid-configuration", "allowedClients": ["<client-id>"] } } }'

Dann können Sie Ihren MCP-Client konfigurieren, wenn er die Angabe von clientId unterstützt. Ein Beispiel im Claude-Code:

{ "mcpServers": { "pre-registered-registry": { "type": "http", "url": "https://bedrock-agentcore.<region>.amazonaws.com/registry/<registryId>/mcp", "oauth": { "clientId": "<client-id>", "callbackPort": "<port-number>" } } } }
Anmerkung

Bei einigen Autorisierungsservern wie Auth0 und Cognito können Sie eine Reihe von Ports nicht als zulässige Umleitungs-URIs konfigurieren. Daher müssen Sie einen Port explizit in der zulässigen redirect/callback URL des vorregistrierten Clients sowie in der mcp.json festlegen.

Dynamische Client-Registrierung

Die meisten MCP-Client-Anwendungen unterstützen die dynamische Client-Registrierung. In diesem Fall sollten Sie KEINEN allowedClients Wert in der Registrierung angeben. Stattdessen können Sie wählen, ob Sie festlegen möchtenallowedAudience. Der Wert kann mit Ihrer MCP-Registrierung identisch sein. Sie sollten Ihren Autorisierungsserver so konfigurieren, dass er JWT mit einem aud Feld ausgibt, das denselben Wert wie in hat. allowedAudience

aws bedrock-agentcore-control update-registry \ --registry-id <registryId> \ --authorizer-configuration '{ "optionalValue": { "customJWTAuthorizer": { "discoveryUrl": "https://<example-domain>/.well-known/openid-configuration", "allowedAudience": ["https://bedrock-agentcore.<region>.amazonaws.com/registry/<registryId>/mcp"] } } }'

Dann können Sie Ihren MCP-Client einfach über eine URL konfigurieren:

{ "mcpServers": { "dcr-registry": { "type": "http", "url": "https://bedrock-agentcore.<region>.amazonaws.com/registry/<registryId>/mcp" } } }

Häufige Fehler bei der Einrichtung der dynamischen Client-Registrierung:

Stellen Sie von einem vorhandenen MCP-Client aus eine Connect zum IAM-based Registrierungs-MCP-Endpunkt her

Berechtigungen

Für die MCP-Initialisierung und die Auflistung der Tools:

{ "Effect": "Allow", "Action": "bedrock-agentcore:InvokeRegistryMcp", "Resource": "arn:aws:bedrock-agentcore:*:<account>:registry/*" }

Für die Suche per MCP-Tool-Aufruf benötigen Sie außerdem:

{ "Effect": "Allow", "Action": [ "bedrock-agentcore:InvokeRegistryMcp", "bedrock-agentcore:SearchRegistryRecords" ], "Resource": "arn:aws:bedrock-agentcore:*:<account>:registry/*" }

Sie können die Erlaubnis mit dem folgenden Befehl überprüfen:

curl -s -X POST "https://bedrock-agentcore.<region>.amazonaws.com/registry/<registryId>/mcp" \ -H "Content-Type: application/json" \ -H "X-Amz-Security-Token: ${AWS_SESSION_TOKEN}" \ --aws-sigv4 "aws:amz:<region>:bedrock-agentcore" \ --user "${AWS_ACCESS_KEY_ID}:${AWS_SECRET_ACCESS_KEY}" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_registry_records","arguments":{"searchQuery":"weather"}}}'

IAM-based MCP-Client-Setup

Sie können mcp-proxy-for-aws verwenden, um eine Verbindung zu einer Registrierung herzustellen. IAM-based Zum Beispiel in Kiro mcp.json:

{ "mcpServers": { "iam-based-registry": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "mcp-proxy-for-aws@latest", "https://bedrock-agentcore.<region>.amazonaws.com/registry/<registryId>/mcp", "--service", "bedrock-agentcore", "--region", "<region>", "--profile", "my-profile" ] } } }

Entwickeln Sie Ihren eigenen MCP-Client

Weitere Code-Referenzen zum Aufrufen des Registry MCP-Endpunkts, auch von beliebten IDEs wie Kiro oder Claude Code, finden Sie in den Beispielcode-Referenzen im öffentlichen Code-Repository.