外部ソースからのレコードを同期する
今後の名前空間の移行
AWS エージェントレジストリは現在、bedrock-agentcore 名前空間のパブリックプレビュー中です。2026 年 8 月 6 日以降、サービスはエージェントレジストリ名前空間に移動します。 AWS エージェントレジストリを使用する場合は、エンドポイント、IAM ポリシー、SDK クライアント、CLI スクリプト、レジストリデータを更新する必要があります。パブリックプレビューからの移行の詳細については、「包括的なレジストリ移行ガイド」を参照してください。
概要
AWS エージェントレジストリは、提供された URL をアウトバウンド認証情報に接続することで、外部ソースからのレコードメタデータを自動的に同期できます。URL と認証情報プロバイダーを指定すると (アクセス許可を必要としないパブリックリソースの場合はオプション)、システムはサーバーとツールの定義を抽出し、公式プロトコルスキーマに準拠したレコードの記述子を入力します。また、これらの値がソースで見つかった場合は、レコードの名前、説明、バージョンも更新されます。
パブリック MCP サーバーからの同期
認証や認可を必要としないパブリック MCP サーバーの場合:
コンソール
-
レジストリの詳細ページを開きます。
-
レジストリレコードセクションで、レコードの作成を選択します。
-
エンドポイントから同期を選択します。
-
レコードの詳細で、レコードタイプとして MCP を選択します。
-
Endpoint には、パブリック MCP サーバー URL (例:
https://knowledge-mcp.global.api.aws) を入力します。有効な HTTPS URL である必要があります。 -
認証情報タイプで、「なし」を選択します。
-
[Create record] (レコードを作成) を選択します。
レコードは CREATING ステータスで作成されます。レジストリはエンドポイントに接続し、サーバーとツールの定義を抽出して、レコードの記述子を入力します。同期が完了すると、レコードは DRAFT に移行します。同期が失敗すると、レコードは CREATE_FAILED ステータスに移行し、ステータスの理由フィールドでエラーの詳細が表示されます。トラブルシューティングについては、「同期エラーを記録する」を参照してください。
AWS CLI
aws bedrock-agentcore-control create-registry-record \ --registry-id $REGISTRY_ID \ --name "aws-knowledge-server" \ --descriptor-type MCP \ --synchronization-type URL \ --synchronization-configuration '{ "fromUrl": { "url": "https://knowledge-mcp.global.api.aws" } }' \ --region us-east-1
AWS SDK
import boto3 client = boto3.client('bedrock-agentcore-control') response = client.create_registry_record( registryId='<registryId>', name='aws-knowledge-server', descriptorType='MCP', synchronizationType='URL', synchronizationConfiguration={ 'fromUrl': { 'url': 'https://knowledge-mcp.global.api.aws' } } ) print(f"Record ARN: {response['recordArn']}") print(f"Status: {response['status']}") # CREATING
レコードは CREATING ステータスで作成されます。同期時間は、メタデータのサイズに応じて秒から分まで異なります。同期が完了すると、サーバーやツールの定義など、MCP サーバーから抽出された記述子を使用して DRAFT に移行します。
OAuth で保護された MCP サーバーからの同期
MCP サーバーが OAuth で保護されている場合は、認可サーバーに M2M クライアントを作成し、クライアント ID と MCP サーバーを呼び出すためにリストされたシークレット許可を含む AgentCore Identity から認証情報プロバイダーを設定する必要があります。認証情報プロバイダーを取得したら、同期のためにレジストリに提供できます。
コンソール
-
レジストリの詳細ページを開きます。
-
レジストリレコードセクションで、レコードの作成を選択します。
-
エンドポイントから同期を選択します。
-
レコードの詳細で、レコードタイプとして MCP を選択します。
-
Endpoint に、OAuth で保護された MCP サーバー URL を入力します。有効な HTTPS URL である必要があります。
-
認証情報タイプで、OAuth を選択します。
-
認証情報プロバイダーの場合は、AgentCore Identity から認証情報プロバイダー ARN を選択または入力します。
-
(オプション) 追加設定を展開して、以下を設定します。
-
スコープ — アクセストークンを取得するときにリクエストする OAuth スコープ。
-
カスタムパラメータ — OAuth トークンリクエスト用の追加のキーと値のパラメータ。
-
-
[Create record] (レコードを作成) を選択します。
レコードは CREATING ステータスで作成されます。レジストリは、OAuth 認証情報を使用してエンドポイントに接続し、サーバーとツールの定義を抽出し、レコードの記述子を入力します。同期が完了すると、レコードは DRAFT に移行します。同期が失敗すると、レコードは CREATE_FAILED ステータスに移行し、ステータスの理由フィールドでエラーの詳細が表示されます。トラブルシューティングについては、「同期エラーを記録する」を参照してください。
AWS CLI
aws bedrock-agentcore-control create-registry-record \ --registry-id $REGISTRY_ID \ --name "oauth-mcp-server" \ --descriptor-type MCP \ --synchronization-type URL \ --synchronization-configuration '{ "fromUrl": { "url": "$MCP_OAUTH_URL", "credentialProviderConfigurations": [ { "credentialProviderType": "OAUTH", "credentialProvider": { "oauthCredentialProvider": { "providerArn": "$OAUTH_PROVIDER_ARN", "grantType": "CLIENT_CREDENTIALS" } } } ] } }' \ --region us-east-1
追加の IAM アクセス許可が必要です。
{ "Statement": [ { "Effect": "Allow", "Action": [ "bedrock-agentcore:GetWorkloadAccessToken" ], "Resource": [ "arn:aws:bedrock-agentcore:*:<account>:workload-identity-directory/*" ] }, { "Effect": "Allow", "Action": [ "bedrock-agentcore:GetResourceOauth2Token" ], "Resource": [ "arn:aws:bedrock-agentcore:*:<account>:token-vault/*" ] } ] }
機能制限:
-
CreateRegistryRecord または UpdateRegistryRecord の呼び出し元には、GetWorkloadAccessToken レジストリに関連付けられたワークロード ID と、認証情報プロバイダーに対する GetResourceOauth2Token アクセス許可が必要です。
-
認証情報プロバイダーは、同じアカウントからのものである必要があります。
IAM で保護された MCP サーバーからの同期
AgentCore Runtime または AgentCore Gateway 上の MCP サーバーの場合は、SigV4 署名用の IAM ロールを指定します。ロールには、ターゲットサービスにアクセスするためのアクセス許可が必要です。例: AgentCore ランタイムbedrock-agentcore:InvokeAgentRuntimeForUserの場合は bedrock-agentcore:InvokeAgentRuntimeまたは、AgentCore Gateway bedrock-agentcore:InvokeGatewayの場合は 。
IAM ロールに加えて、SigV4 署名の serviceフィールドを指定する必要があります。MCP が AgentCore Runtime または AgentCore Gateway で実行されている場合、値は bedrock-agentcore である必要があります。MCP が API ゲートウェイで実行されている場合は execute-api 、MCP が Lambda で実行されている場合は になりますlambda。
region 値はオプションです。デフォルトでは、リクエストはレジストリと同じリージョンで署名されます。
コンソール
-
レジストリの詳細ページを開きます。
-
レジストリレコードセクションで、レコードの作成を選択します。
-
エンドポイントから同期を選択します。
-
レコードの詳細で、レコードタイプとして MCP を選択します。
-
Endpoint に、IAM で保護された MCP サーバー URL を入力します。有効な HTTPS URL である必要があります。
-
認証情報タイプで、IAM を選択します。
-
ロール ARN には、SigV4 署名のために引き受ける IAM ロール ARN を入力します。
-
サービスには、SigV4 署名のサービス名を入力します (例: 、
bedrock-agentcoreexecute-api、lambda)。 -
(オプション) 追加設定を展開し、SigV4 署名のリージョンを選択します。指定しない場合、レジストリ独自のリージョンが使用されます。
-
[Create record] (レコードを作成) を選択します。
レコードは CREATING ステータスで作成されます。レジストリは、IAM 認証情報を使用してエンドポイントに接続し、サーバーとツールの定義を抽出し、レコードの記述子を入力します。同期が完了すると、レコードは DRAFT に移行します。同期が失敗すると、レコードは CREATE_FAILED ステータスに移行し、ステータスの理由フィールドでエラーの詳細が表示されます。トラブルシューティングについては、「同期エラーを記録する」を参照してください。
AWS CLI
aws bedrock-agentcore-control create-registry-record \ --registry-id $REGISTRY_ID \ --name "gateway-mcp-server" \ --descriptor-type MCP \ --synchronization-type URL \ --synchronization-configuration '{ "fromUrl": { "url": "$MCP_IAM_URL", "credentialProviderConfigurations": [ { "credentialProviderType": "IAM", "credentialProvider": { "iamCredentialProvider": { "roleArn": "$IAM_ROLE_ARN", "service": "$SIGNING_SERVICE", "region": "$SIGNING_REGION" } } } ] } }' \ --region us-east-1
追加の IAM アクセス許可が必要です。
{ "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account>:role/<sync-role>" ], "Condition": { "StringEquals": { "iam:PassedToService": "bedrock-agentcore.amazonaws.com" } } } ] }
A2A エージェントカードからの同期
エージェントカード URL または が検出.well-known/agent-card.jsonできるエージェントのベース URL を指定します。
コンソール
-
レジストリの詳細ページを開きます。
-
レジストリレコードセクションで、レコードの作成を選択します。
-
エンドポイントから同期を選択します。
-
レコードの詳細で、レコードタイプとして エージェントを選択します。
-
Endpoint には、エージェントカード URL (例:
https://agent.example.com/.well-known/agent-card.json) を入力します。有効な HTTPS URL である必要があります。 -
認証情報タイプで、適切な認可方法を選択します。
-
なし — パブリックにアクセス可能なエージェントカード用。
-
IAM — AgentCore ランタイムまたはゲートウェイでホストされているエージェント向け。ロール ARN とサービス名を指定します。
-
OAuth — OAuth で保護されたエージェント用。認証情報プロバイダー ARN を選択または入力します。
-
-
[Create record] (レコードを作成) を選択します。
レコードは CREATING ステータスで作成されます。レジストリはエンドポイントに接続し、エージェントカードメタデータを抽出して、レコードの記述子を入力します。同期が完了すると、レコードは DRAFT に移行します。同期が失敗すると、レコードは CREATE_FAILED ステータスに移行し、ステータスの理由フィールドでエラーの詳細が表示されます。トラブルシューティングについては、「同期エラーを記録する」を参照してください。
AWS CLI
aws bedrock-agentcore-control create-registry-record \ --registry-id $REGISTRY_ID \ --name "travel-agent" \ --descriptor-type A2A \ --synchronization-type URL \ --synchronization-configuration '{"fromUrl": {"url": "https://agent.example.com/.well-known/agent-card.json"}}' \ --region us-east-1
A2A 同期の認証情報プロバイダーを指定することもできます。例えば、AgentCore でホストされているエージェントから同期できます。
aws bedrock-agentcore-control create-registry-record \ --registry-id $REGISTRY_ID \ --name "a2a_agent_record" \ --descriptor-type A2A \ --synchronization-type URL \ --synchronization-configuration "{ \"fromUrl\": { \"url\": \"$A2A_URL\", \"credentialProviderConfigurations\": [{ \"credentialProviderType\": \"IAM\", \"credentialProvider\": { \"iamCredentialProvider\": { \"roleArn\": \"$IAM_INVOKER_ROLE\", \"service\": \"bedrock-agentcore\" } } }] } }"
既存のレコードで同期をトリガーする
コンソール
-
同期が設定されている MCP またはエージェントレコードのレコード詳細ページを開きます。
-
ヘッダーアクションで同期ボタンを選択します。
-
確認ダイアログで、同期によってレコードがドラフト状態に戻されるというメッセージを確認します。
-
Sync を選択して確認します。
レコードは同期中に UPDATING ステータスに移行します。完了すると、ソースから更新された記述子を使用して DRAFT に戻ります。同期に失敗すると、レコードは UPDATE_FAILED ステータスに移行し、ステータスの理由フィールドでエラーの詳細が表示されます。トラブルシューティングについては、「同期エラーを記録する」を参照してください。
または、編集中に同期をトリガーすることもできます。
-
レコードの詳細ページから、3 つのドットメニュー (⋮) を選択し、編集を選択します。
-
エンドポイントから同期 で、エンドポイントから再同期 チェックボックスをオンにします。
-
[Save changes] (変更の保存) をクリックします。
AWS CLI
aws bedrock-agentcore-control update-registry-record \ --registry-id $REGISTRY_ID \ --record-id $RECORD_ID \ --trigger-synchronization \ --region us-east-1
AWS SDK
import boto3 client = boto3.client('bedrock-agentcore-control') response = client.update_registry_record( registryId='<registryId>', recordId='<recordId>', triggerSynchronization=True ) print(f"Status: {response['status']}")
注記
レコードが非ドラフトステータス (APPROVED など) の場合、更新によって新しい DRAFT リビジョンが作成されます。承認されたリビジョンは引き続き検索可能です。
のトラブルシューティング:「レコード同期エラー」を参照してください。