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.
Utilisation du point de terminaison Registry MCP
La migration est désormais ouverte
AWS Le registre des agents a été lancé sous le nouvel agent-registry espace de noms. La prise en charge de l'bedrock-agentcoreespace de noms de version préliminaire publique sera interrompue le 17 septembre 2026. Pour obtenir des instructions de migration, consultez le guide complet de migration du registre.
Vue d’ensemble
Chaque registre expose un MCP-compatible point de terminaison conforme à la spécification 2025-11-25 sur le site Web du Model Context Protocol. Le point de terminaison prend en charge la liste des outils et l'appel d'outils pour rechercher des enregistrements de registre.
Exemple
- AWS Agent Registry namespace
-
https://agent-registry.<region>.api.aws/registry/<registryId>/mcp
- Amazon Bedrock AgentCore namespace (to be deprecated)
-
https://bedrock-agentcore.<region>.amazonaws.com/registry/<registryId>/mcp
Dans l'agent-registryespace de noms, le point de terminaison MCP expose les trois API du plan de données de découverte en tant qu'outils MCP :
-
search_discoverable_registry_records— Recherche en langage naturel pour les enregistrements approuvés.
-
list_discoverable_registry_records— Liste paginée des enregistrements approuvés.
-
batch_get_discoverable_registry_record— Récupération en masse du contenu complet de l'enregistrement par ID d'enregistrement.
Dans l'bedrock-agentcoreespace de noms, seul l'search_registry_recordsoutil est exposé. Les tableaux suivants présentent les définitions des outils :
Exemple
- AWS Agent Registry namespace
-
Tool name: search_discoverable_registry_records
Description:
Searches for approved 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, recordType, recordVersion). Example:
{"recordType": {"$eq": "MCP"}}
---
Tool name: list_discoverable_registry_records
Description:
Returns paginated summaries of approved records in the registry. Summaries include record metadata but not descriptor
content. Use batch_get_discoverable_registry_record to fetch full descriptors after identifying the records you need.
Parameters:
- maxResults: integer - Maximum number of results per page (1-100, default 20)
- nextToken: string - Pagination token from a previous response. Omit for the first page.
- filters: array - Optional list of filter entries in the form {"name": "<field>", "values": ["<value>"]}. Supported
filter names: recordType (valid values: AGENT, MCP, SKILL, CUSTOM) and descriptorType (valid values: a2aAgentCard,
mcpServer, agentSkillsDefinition, custom). Duplicate filter names are rejected. If you specify multiple values for
a single filter, the values are joined by OR. If you specify multiple filters, the filters are joined by AND.
---
Tool name: batch_get_discoverable_registry_record
Description:
Retrieves the full descriptor content for up to 100 approved records in a single call. Common use case: after
identifying records with list_discoverable_registry_records or search_discoverable_registry_records, fetch their full
descriptors in one call rather than making one call per record.
Parameters:
- recordIds (required): array - List of 1-100 record ARNs or IDs to retrieve from the registry.
The response returns HTTP 200 even on partial failure. Records that could not be retrieved appear in an errors list
with an errorCode (RESOURCE_NOT_FOUND, ACCESS_DENIED, or INTERNAL_ERROR) rather than causing the whole call to fail.
- Amazon Bedrock AgentCore namespace (to be deprecated)
-
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"}}
Vous pouvez vous connecter au registre à partir d'un client MCP existant, tel que Kiro, Claude, etc.
Connectez-vous au point de terminaison MCP du OAuth-based registre à partir d'un client MCP existant
Permissions
Le point de terminaison MCP l'utilisera CustomJWTAuthorizerConfiguration pour autoriser les demandes entrantes.
Le .well-known/oauth-protected-resource chemin est : https://agent-registry.<region>.api.aws/.well-known/oauth-protected-resource/registry/<registryId>/mcp (https://bedrock-agentcore.<region>.amazonaws.com/.well-known/oauth-protected-resource/registry/<registryId>/mcppour les registres encore présents dans l'bedrock-agentcoreespace de noms).
Le client peut également découvrir les métadonnées à partir de l'WWW-Authenticateen-tête :
Exemple
- AWS Agent Registry namespace
-
www-authenticate: Bearer resource_metadata="https://agent-registry.<region>.api.aws/.well-known/oauth-protected-resource/registry/<registryId>/mcp"
- Amazon Bedrock AgentCore namespace (to be deprecated)
-
www-authenticate: Bearer resource_metadata="https://bedrock-agentcore.<region>.amazonaws.com/.well-known/oauth-protected-resource/registry/<registryId>/mcp"
Une fois que vous avez obtenu le jeton d'accès, vous pouvez le valider :
Exemple
- AWS Agent Registry namespace
-
curl -s -X POST "https://agent-registry.<region>.api.aws/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_discoverable_registry_records","arguments":{"searchQuery":"weather"}}}'
- Amazon Bedrock AgentCore namespace (to be deprecated)
-
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"}}}'
En fonction des exigences de sécurité de votre serveur d'autorisation et des exigences de sécurité de votre organisation, vous pouvez choisir l'une des approches suivantes pour configurer votre client MCP :
-
Jeton porteur : utilisez un processus distinct pour récupérer le jeton porteur et le configurer dans l'en-tête du client MCP
-
Pre-registered client : créez un client sur votre serveur d'autorisation et autorisez le client dans la configuration du registre.
-
Enregistrement dynamique des clients : si votre serveur d'autorisation prend en charge l'enregistrement dynamique des clients (DCR), vous pouvez autoriser l'audience dans la configuration du registre.
OAuth-based Configuration du client MCP
Utiliser le jeton du porteur
Dans la plupart des IDE, vous pouvez configurer le jeton porteur d'en-tête d'autorisation dans une configuration mcp. Par exemple, Kiro IDE prend en charge les variables d'environnement à l'aide de cette ${ENV_VAR} syntaxe. Pour plus de détails, consultez la section Sécurisation des connexions MCP sur le site Web de Kiro. Vous pouvez utiliser l'exemple suivant :
Exemple
- AWS Agent Registry namespace
-
{
"mcpServers": {
"my-registry": {
"type": "http",
"url": "https://agent-registry.<region>.api.aws/registry/<registryId>/mcp",
"headers": {
"Authorization": "Bearer ${ACCESS_TOKEN}"
}
}
}
}
- Amazon Bedrock AgentCore namespace (to be deprecated)
-
{
"mcpServers": {
"my-registry": {
"type": "http",
"url": "https://bedrock-agentcore.<region>.amazonaws.com/registry/<registryId>/mcp",
"headers": {
"Authorization": "Bearer ${ACCESS_TOKEN}"
}
}
}
}
Pre-registered client
Vous pouvez créer un nouveau client en fonction de l'attribution du code d'autorisation sur votre serveur d'autorisation et utiliser le client pour accéder au registre. Par exemple, créez un client dans le groupe d'utilisateurs Cognito.
Une fois que vous avez l'ID client, assurez-vous de l'inscrire dans le registre :
Exemple
- AWS Agent Registry namespace
-
aws agent-registry-control update-registry \
--registry-id <registryId> \
--discovery-configuration '{
"authorizerConfiguration": {
"optionalValue": {
"customJWTAuthorizer": {
"discoveryUrl": "https://<example-domain>/.well-known/openid-configuration",
"allowedClients": ["<client-id>"]
}
}
}
}'
- Amazon Bedrock AgentCore namespace (to be deprecated)
-
aws bedrock-agentcore-control update-registry \
--registry-id <registryId> \
--authorizer-configuration '{
"optionalValue": {
"customJWTAuthorizer": {
"discoveryUrl": "https://<example-domain>/.well-known/openid-configuration",
"allowedClients": ["<client-id>"]
}
}
}'
Vous pouvez ensuite configurer votre client MCP s'il prend en charge la spécification de l'ID client. Un exemple en code Claude :
Exemple
- AWS Agent Registry namespace
-
{
"mcpServers": {
"pre-registered-registry": {
"type": "http",
"url": "https://agent-registry.<region>.api.aws/registry/<registryId>/mcp",
"oauth": {
"clientId": "<client-id>",
"callbackPort": "<port-number>"
}
}
}
}
- Amazon Bedrock AgentCore namespace (to be deprecated)
-
{
"mcpServers": {
"pre-registered-registry": {
"type": "http",
"url": "https://bedrock-agentcore.<region>.amazonaws.com/registry/<registryId>/mcp",
"oauth": {
"clientId": "<client-id>",
"callbackPort": "<port-number>"
}
}
}
}
Certains serveurs d'autorisation tels que Auth0 et Cognito ne vous permettent pas de configurer une plage de ports comme URI de redirection autorisés. Vous devez donc en définir un explicitement dans l' redirect/callback URL autorisée du client préenregistré, ainsi que dans le fichier mcp.json.
Enregistrement dynamique des clients
La plupart des applications clientes MCP prennent en charge l'enregistrement dynamique des clients. Dans ce cas, vous ne devez PAS spécifier de allowedClients valeur dans le registre. Au lieu de cela, vous pouvez choisir de définirallowedAudience. La valeur peut être la même que celle de votre registre MCP. Vous devez configurer votre serveur d'autorisation pour émettre JWT avec un aud champ ayant la même valeur que dansallowedAudience.
Exemple
- AWS Agent Registry namespace
-
aws agent-registry-control update-registry \
--registry-id <registryId> \
--discovery-configuration '{
"authorizerConfiguration": {
"optionalValue": {
"customJWTAuthorizer": {
"discoveryUrl": "https://<example-domain>/.well-known/openid-configuration",
"allowedAudience": ["https://agent-registry.<region>.api.aws/registry/<registryId>/mcp"]
}
}
}
}'
- Amazon Bedrock AgentCore namespace (to be deprecated)
-
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"]
}
}
}'
Vous pouvez ensuite configurer votre client MCP simplement à l'aide d'une URL :
Exemple
- AWS Agent Registry namespace
-
{
"mcpServers": {
"dcr-registry": {
"type": "http",
"url": "https://agent-registry.<region>.api.aws/registry/<registryId>/mcp"
}
}
}
- Amazon Bedrock AgentCore namespace (to be deprecated)
-
{
"mcpServers": {
"dcr-registry": {
"type": "http",
"url": "https://bedrock-agentcore.<region>.amazonaws.com/registry/<registryId>/mcp"
}
}
}
Erreurs courantes lors de la configuration de l'enregistrement dynamique des clients :
-
Vous devez vous assurer que le serveur d'autorisation prend en charge l'enregistrement dynamique des clients.
-
Le serveur d'autorisation doit émettre un aud champ JWT, qui est autorisé dans votre registre. CustomJWTAuthorizerConfiguration
-
Actuellement, le registre ne renvoie pas de défi de portée dans l'en-tête www-authenticate. Certains clients MCP prennent en charge la définition explicite oauthScopes dans la configuration, comme Kiro.
Connectez-vous au point de terminaison MCP du IAM-based registre à partir d'un client MCP existant
Permissions
Pour l'initialisation du MCP et la liste des outils :
Exemple
- AWS Agent Registry namespace
-
{
"Effect": "Allow",
"Action": "agent-registry:InvokeRegistryMcp",
"Resource": "arn:aws:agent-registry:*:<account>:registry/*"
}
- Amazon Bedrock AgentCore namespace (to be deprecated)
-
{
"Effect": "Allow",
"Action": "bedrock-agentcore:InvokeRegistryMcp",
"Resource": "arn:aws:bedrock-agentcore:*:<account>:registry/*"
}
Pour effectuer une recherche via l'invocation de l'outil MCP, vous devez également :
Exemple
- AWS Agent Registry namespace
-
{
"Effect": "Allow",
"Action":
[
"agent-registry:InvokeRegistryMcp",
"agent-registry:SearchDiscoverableRegistryRecords"
],
"Resource": "arn:aws:agent-registry:*:<account>:registry/*"
}
- Amazon Bedrock AgentCore namespace (to be deprecated)
-
{
"Effect": "Allow",
"Action":
[
"bedrock-agentcore:InvokeRegistryMcp",
"bedrock-agentcore:SearchRegistryRecords"
],
"Resource": "arn:aws:bedrock-agentcore:*:<account>:registry/*"
}
Vous pouvez vérifier l'autorisation à l'aide de la commande :
Exemple
- AWS Agent Registry namespace
-
curl -s -X POST "https://agent-registry.<region>.api.aws/registry/<registryId>/mcp" \
-H "Content-Type: application/json" \
-H "X-Amz-Security-Token: ${AWS_SESSION_TOKEN}" \
--aws-sigv4 "aws:amz:<region>:agent-registry" \
--user "${AWS_ACCESS_KEY_ID}:${AWS_SECRET_ACCESS_KEY}" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_discoverable_registry_records","arguments":{"searchQuery":"weather"}}}'
- Amazon Bedrock AgentCore namespace (to be deprecated)
-
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 Configuration du client MCP
Vous pouvez utiliser mcp-proxy-for-aws sur le GitHub site Web pour vous connecter à un registre. IAM-based Par exemple, dans Kiro mcp.json :
Exemple
- AWS Agent Registry namespace
-
{
"mcpServers": {
"iam-based-registry": {
"disabled": false,
"type": "stdio",
"command": "uvx",
"args": [
"mcp-proxy-for-aws@latest",
"https://agent-registry.<region>.api.aws/registry/<registryId>/mcp",
"--service",
"agent-registry",
"--region",
"<region>",
"--profile",
"my-profile"
]
}
}
}
- Amazon Bedrock AgentCore namespace (to be deprecated)
-
{
"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"
]
}
}
}
Développez votre propre client MCP
Pour plus de références de code sur la façon d'invoquer le point de terminaison Registry MCP, y compris à partir d'IDE populaires tels que Kiro ou Claude Code, veuillez consulter des exemples de références de code dans le référentiel de code public.