View a markdown version of this page

外部ソースからのレコードを同期する - Amazon Bedrock AgentCore

外部ソースからのレコードを同期する

今後の名前空間の移行

AWS エージェントレジストリは現在、bedrock-agentcore 名前空間のパブリックプレビュー中です。2026 年 8 月 6 日以降、サービスはエージェントレジストリ名前空間に移動します。 AWS エージェントレジストリを使用する場合は、エンドポイント、IAM ポリシー、SDK クライアント、CLI スクリプト、レジストリデータを更新する必要があります。パブリックプレビューからの移行の詳細については、「包括的なレジストリ移行ガイド」を参照してください。

概要

AWS エージェントレジストリは、提供された URL をアウトバウンド認証情報に接続することで、外部ソースからのレコードメタデータを自動的に同期できます。URL と認証情報プロバイダーを指定すると (アクセス許可を必要としないパブリックリソースの場合はオプション)、システムはサーバーとツールの定義を抽出し、公式プロトコルスキーマに準拠したレコードの記述子を入力します。また、これらの値がソースで見つかった場合は、レコードの名前、説明、バージョンも更新されます。

パブリック MCP サーバーからの同期

認証や認可を必要としないパブリック MCP サーバーの場合:

コンソール

  1. レジストリの詳細ページを開きます。

  2. レジストリレコードセクションで、レコードの作成を選択します。

  3. エンドポイントから同期を選択します。

  4. レコードの詳細で、レコードタイプとして MCP を選択します。

  5. Endpoint には、パブリック MCP サーバー URL (例: https://knowledge-mcp.global.api.aws) を入力します。有効な HTTPS URL である必要があります。

  6. 認証情報タイプで、「なし」を選択します。

  7. [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 から認証情報プロバイダーを設定する必要があります。認証情報プロバイダーを取得したら、同期のためにレジストリに提供できます。

コンソール

  1. レジストリの詳細ページを開きます。

  2. レジストリレコードセクションで、レコードの作成を選択します。

  3. エンドポイントから同期を選択します。

  4. レコードの詳細で、レコードタイプとして MCP を選択します。

  5. Endpoint に、OAuth で保護された MCP サーバー URL を入力します。有効な HTTPS URL である必要があります。

  6. 認証情報タイプで、OAuth を選択します。

  7. 認証情報プロバイダーの場合は、AgentCore Identity から認証情報プロバイダー ARN を選択または入力します。

  8. (オプション) 追加設定を展開して、以下を設定します。

    1. スコープ — アクセストークンを取得するときにリクエストする OAuth スコープ。

    2. カスタムパラメータ — OAuth トークンリクエスト用の追加のキーと値のパラメータ。

  9. [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 値はオプションです。デフォルトでは、リクエストはレジストリと同じリージョンで署名されます。

コンソール

  1. レジストリの詳細ページを開きます。

  2. レジストリレコードセクションで、レコードの作成を選択します。

  3. エンドポイントから同期を選択します。

  4. レコードの詳細で、レコードタイプとして MCP を選択します。

  5. Endpoint に、IAM で保護された MCP サーバー URL を入力します。有効な HTTPS URL である必要があります。

  6. 認証情報タイプで、IAM を選択します。

  7. ロール ARN には、SigV4 署名のために引き受ける IAM ロール ARN を入力します。

  8. サービスには、SigV4 署名のサービス名を入力します (例: 、bedrock-agentcoreexecute-apilambda)。

  9. (オプション) 追加設定を展開し、SigV4 署名のリージョンを選択します。指定しない場合、レジストリ独自のリージョンが使用されます。

  10. [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 を指定します。

コンソール

  1. レジストリの詳細ページを開きます。

  2. レジストリレコードセクションで、レコードの作成を選択します。

  3. エンドポイントから同期を選択します。

  4. レコードの詳細で、レコードタイプとして エージェントを選択します。

  5. Endpoint には、エージェントカード URL (例: https://agent.example.com/.well-known/agent-card.json) を入力します。有効な HTTPS URL である必要があります。

  6. 認証情報タイプで、適切な認可方法を選択します。

    1. なし — パブリックにアクセス可能なエージェントカード用。

    2. IAM — AgentCore ランタイムまたはゲートウェイでホストされているエージェント向け。ロール ARN サービス名を指定します。

    3. OAuth — OAuth で保護されたエージェント用。認証情報プロバイダー ARN を選択または入力します。

  7. [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\" } } }] } }"

既存のレコードで同期をトリガーする

コンソール

  1. 同期が設定されている MCP またはエージェントレコードのレコード詳細ページを開きます。

  2. ヘッダーアクションで同期ボタンを選択します。

  3. 確認ダイアログで、同期によってレコードがドラフト状態に戻されるというメッセージを確認します。

  4. Sync を選択して確認します。

レコードは同期中に UPDATING ステータスに移行します。完了すると、ソースから更新された記述子を使用して DRAFT に戻ります。同期に失敗すると、レコードは UPDATE_FAILED ステータスに移行し、ステータスの理由フィールドでエラーの詳細が表示されます。トラブルシューティングについては、「同期エラーを記録する」を参照してください。

または、編集中に同期をトリガーすることもできます。

  1. レコードの詳細ページから、3 つのドットメニュー (⋮) を選択し、編集を選択します。

  2. エンドポイントから同期 で、エンドポイントから再同期 チェックボックスをオンにします。

  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 リビジョンが作成されます。承認されたリビジョンは引き続き検索可能です。

トラブルシューティング:「レコード同期エラー」を参照してください。