View a markdown version of this page

AWS エージェントレジストリの使用を開始する - Amazon Bedrock AgentCore

AWS エージェントレジストリの使用を開始する

今後の名前空間の移行

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

このガイドでは、最初のレジストリを作成し、レコードを追加して承認し、検索します。

前提条件

「前提条件」のステップを完了します。

ステップ 1: レジストリを作成する

IAM 認可と手動承認を使用してレジストリを作成します。

コンソール

IAM ベースの認証を使用してレジストリを作成するには

  1. AWS AgentCore コンソールで エージェントレジストリページを開きます。

  2. ナビゲーションペインで、レジストリを選択します。

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

  4. レジストリの詳細セクションの名前 に、レジストリの名前を入力します。名前は英数字で始まる必要があります。有効な文字は、a~z、A~Z、0~9、 _ (アンダースコア)、 - (ハイフン)、 . (ピリオド)、 / (スラッシュ) です。名前は最大 64 文字です。

  5. (オプション) 追加の詳細を選択してセクションを展開し、説明 にこのレジストリを識別するのに役立つ説明を入力します。

  6. API 認可の検索セクションの認証タイプ で、IAM 認可の使用 を選択します。注 - これはインバウンド認可です

  7. レコード承認セクションで、自動承認 をオンまたはオフにします。

    • 自動承認がオンになっている場合、承認のためにレコードを送信すると、レコードは承認済みステータスに直接移動し、直後に検索結果に表示されます。

    • 自動承認がオフの場合、承認のためにレコードを送信すると、レコードは承認保留中のステータスに移行し、公開前にキュレーターがレビューして承認する必要があります。

  8. レジストリの作成 を選択します。

JWT ベースの認証 ID プロバイダー認可を使用してレジストリを作成するには、JSON ウェブトークン (JWT) を使用してレジストリの検索 API へのアクセスを制御します。Amazon Cognito を使用して認可をすばやくセットアップしたり、独自の ID プロバイダーを使用して OAuth 2.0 を有効にしたりできます。

  1. AWS AgentCore コンソールで エージェントレジストリページを開きます。

  2. ナビゲーションペインで、レジストリを選択します。

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

  4. レジストリの詳細セクションの名前 に、レジストリの名前を入力します。名前は英数字で始まる必要があります。有効な文字は、a~z、A~Z、0~9、 _ (アンダースコア)、 - (ハイフン)、 . (ピリオド)、 / (スラッシュ) です。名前は最大 64 文字です。

  5. (オプション) 追加の詳細を選択してセクションを展開し、説明 にこのレジストリを識別するのに役立つ説明を入力します。

  6. Search API Authorization セクションの Auth type で、Use JSON Web Tokens (JWT) を選択します。注 - これはインバウンド認可です

  7. JWT スキーマ設定 では、次のいずれかのオプションを選択します。

    1. Cognito を使用したクイック作成設定 (推奨) – AWS エージェントレジストリは、Amazon Cognito を ID プロバイダーとして使用して、ユーザーに代わって認可設定を作成します。追加の設定は必要ありません。

    2. 既存の ID プロバイダー設定を使用する – 独自の ID プロバイダーを使用して OAuth 2.0 を有効にします。このオプションを選択した場合は、次の手順を実行します。

      1. 検出 URL には、ID プロバイダーから検出 URL を入力します。 AWS エージェントレジストリはこの URL を使用して、プロバイダーのログイン、トークン、検証設定を自動的に取得します。この URL は、ID プロバイダーのダッシュボードまたはドキュメント ( など) https://cognito-identity.amazonaws.com/.well-known/openid-configuration にあります。

        注: レジストリの作成後に検出 URL を変更することはできません

      2. (オプション) JWT 認可設定、許可された対象者を選択して、 AWS エージェントレジストリが JWT トークンのaudクレームに対して検証する許可された対象者のリストを指定します。OAuth 2.0 のオーディエンスクレーム () aud は、トークンの対象となるリソースサーバー (API) を指定します。これにより、リクエストを処理する前にトークンが正しい受信者であることが保証され、トークンが発行されなかった別の API で再利用されるのを防ぐことができます。

      3. (オプション) 許可されたクライアントを選択して、 AWS エージェントレジストリが JWT トークンのclient_idクレームに対して検証する許可されたクライアント識別子のリストを指定します。client_id は、レジストリの検索 API へのアクセストークンをリクエストするアプリケーションのパブリックで一意の識別子です。このオプションを有効にする場合は、クライアントフィールドに 1 つ以上のクライアント IDs を入力し、クライアントの追加を選択してクライアントを追加します。

      4. (オプション) 許可されたスコープを選択して、スコープとして定義された許可されたアクセス許可のリストを指定します。設定されている場合、受信トークンの少なくとも 1 つのスコープ値が、設定された値のいずれかと一致する必要があります。スコープは、アプリケーションが実行できる操作を制限するアクセス許可として機能します。

      5. (オプション) カスタムクレームを選択して、受信トークンの特定のクレームと事前定義された値に一致する一連のルールを指定します。ルールごとに、クレーム名、値タイプ ( STRING または STRING_ARRAY )、および必要な一致値を指定します。

  8. レコード承認セクションで、自動承認 をオンまたはオフにします。

    1. 自動承認がオンの場合、承認のためにレコードを送信すると、レコードは承認済みステータスに直接移動し、すぐに検索結果に表示されます。

    2. 自動承認がオフの場合、承認のためにレコードを送信すると、レコードは承認保留中ステータスに移行し、公開前にレジストリ管理者がレビューして承認する必要があります。

  9. レジストリの作成 を選択します。

注記

* 許可された対象者、許可されたクライアント、許可されたスコープ、またはカスタムクレームの少なくとも 1 つの JWT 認可設定フィールドが必要です。複数の を設定すると、 AWS Agent Registry はそれらをすべて検証します。* レジストリの作成後に検出 URL を変更することはできません。* 認可タイプ (IAM または JWT) は、レジストリの作成後に変更することはできません。* レジストリは、一度に IAM SigV4 または JWT ベアラートークンの 1 つの形式のインバウンド認可タイプのみをサポートします。両方を同時に使用することはできません。IAM 経由の検索は IAM ベースのレジストリでのみサポートされ、Oauth 経由の検索は Oauth ベースのレジストリでのみサポートされます。

レジストリを作成すると、コンソールはレジストリの詳細ページに移動します。レジストリのステータスは、最初は「Creating . AWS Agent Registry」です。レジストリは ARN を割り当てます。この ARN は、レジストリの詳細セクションにあります。プロビジョニングが完了すると、レジストリのステータスが準備完了に変わります。ステータスが準備完了になると、レジストリにレコードを追加できます。

AWS CLI

aws bedrock-agentcore-control create-registry \ --name "MyFirstRegistry" \ --description "My first Agent Registry" \ --region us-east-1

レジストリのステータスは CREATING として始まり、プロビジョニングが完了すると READY に移行します。

AWS SDK

import boto3 client = boto3.client('bedrock-agentcore-control') response = client.create_registry( name='my-agent-registry', description='My first Agent Registry' ) print(response['registryArn'])

ステップ 2: レジストリレコードを追加する

レジストリに MCP サーバーのレコードを作成します。

コンソール

レジストリレコードは、エージェント、ツール、スキル、またはカスタムリソースを表します。

  1. AWS AgentCore コンソールで エージェントレジストリページを開きます。

  2. ナビゲーションペインで、レジストリ を選択し、レコードを追加するレジストリの名前を選択します。

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

  4. ソースタイプを選択します。

    1. エンドポイントからの同期 — エンドポイント URL とオプションの認証情報を指定して、MCP サーバーまたはエージェント (A2A) エンドポイントからメタデータを取得します。詳細については、「外部ソースからのレコードの同期」を参照してください。

    2. 手動 — レコードの詳細とプロトコル設定を手動で設定します。以下の手順に進みます。

  5. 「レコードの詳細」セクションの「名前」に、レコードの名前を入力します。名前は英数字で始まる必要があります。有効な文字は、a~z、A~Z、0~9、 _ (アンダースコア)、 - (ハイフン)、 . (ピリオド)、 / (スラッシュ) です。名前は最大 255 文字です。

  6. (オプション) 説明 に、レコードの説明を入力します。説明は 1~4,096 文字です。

  7. レコードバージョン には、レコードのバージョン識別子 (例: 1.0.0または ) v2.1 を入力します。

  8. レコードタイプセクションで、リソースに一致するタイプを選択します。

    1. MCP – AI ツールとエージェント通信用に設計されたプロトコル。コンテキスト管理と構造化されたメッセージ形式を処理します。このタイプを選択した場合は、次の手順を実行します。

      1. MCP サーバー定義セクションで、スキーマバージョンドロップダウン ( など) 2025-12-11 からスキーマバージョンを選択し、MCP サーバー定義エディタに MCP レジストリ server.json を入力します。 定義は、選択したバージョンの公式 MCP サーバースキーマに準拠している必要があります。公式スキーマを参照として表示するには、公式スキーマの表示を有効にします。

      2. (オプション) ツール定義を追加を選択して、このサーバーで使用できる特定のツールを入力パラメータ、出力、使用例とともに追加し、検出可能性を高めます。このオプションを選択した場合は、スキーマバージョンドロップダウン ( など) 2025-11-25 からスキーマバージョンを選択し、ツール定義エディタにツール定義を入力します。公式ツールスキーマを参照として表示するには、公式スキーマの表示を有効にします。

    2. エージェント – エージェントagent-to-agent安全なやり取りのために設計されたプロトコル。分散ワークフローと情報交換を有効にします。このタイプを選択した場合、スキーマのバージョンは 0.3 です。エディタにエージェントカード定義を入力します。公式スキーマを参照として表示するには、公式スキーマの表示を有効にします。

    3. エージェントスキル – マークダウンドキュメントとオプションの構造化定義を使用してエージェントスキルを登録します。このタイプを選択した場合は、次の手順を実行します。

      1. スキルドキュメント には、このスキルを説明するマークダウンドキュメントを入力します。

      2. (オプション) スキル定義を含めるを選択して、構造化定義を追加します。このオプションを選択した場合は、スキーマバージョンドロップダウンからスキーマバージョンを選択し、エディタにスキル定義を JSON オブジェクトとして入力します。

    4. カスタム – 特殊な通信パターンのためのカスタムプロトコル実装。独自のインターフェイス仕様と統合要件を定義します。このタイプを選択した場合は、エディタにカスタム定義を JSON オブジェクトとして入力します。

  9. [Create record] (レコードを作成) を選択します。

注記

標準 MCP または A2A プロトコルスキーマに準拠しないサーバーまたはエージェントをレジストリに追加する場合は、カスタムレコードタイプを使用して、そのようなリソースをレジストリに追加します。

レコードの作成を選択すると、 AWS Agent Registry はレコードのプロビジョニングを開始します。レコードのステータスは、最初は作成中です。プロビジョニングが完了すると、ステータスはドラフトに変わります。他のユーザーがレコードを検出できるようにするには、承認のために送信します。詳細については、「ステップ 3: 承認のためにレコードを送信する」を参照してください。

AWS CLI

aws bedrock-agentcore-control create-registry-record \ --registry-id <registryId> \ --name "WeatherServer" \ --descriptor-type MCP \ --descriptors '{"mcp": {"server": {"inlineContent": "{\"name\": \"weather/mcp-server\", \"description\": \"Weather data service\", \"version\": \"1.0.0\"}"}}}' \ --record-version "1.0" \ --region us-east-1

レコードは CREATING ステータスで作成され、処理が完了すると DRAFT に移行します。他のタイプのレコードを作成するための AWS CLI の例については、「レコードの作成と管理」セクションを参照してください。

AWS SDK

import boto3 import json client = boto3.client('bedrock-agentcore-control') server_content = json.dumps({ "name": "io.example/weather-server", "description": "A weather MCP server", "version": "1.0.0" }) tools_content = json.dumps({ "tools": [{ "name": "get_weather", "description": "Get the current weather for a location", "inputSchema": { "type": "object", "properties": { "location": { "type": "string", "description": "City name" } }, "required": ["location"] } }] }) response = client.create_registry_record( registryId='<registryId>', name='my-mcp-server', descriptorType='MCP', descriptors={ 'mcp': { 'server': { 'schemaVersion': '2025-12-11', 'inlineContent': server_content }, 'tools': { 'protocolVersion': '2024-11-05', 'inlineContent': tools_content } } } ) print(f"Record ARN: {response['recordArn']}") print(f"Status: {response['status']}") # CREATING

ステップ 3: 承認のためにレコードを送信する

コンソール

承認のためにレコードを送信すると、レコードを検出可能にするレビュープロセスが開始されます。レジストリレコードテーブルまたはレコードの詳細ページからレコードを送信できます。

レジストリレコードテーブルの承認のためにレコードを送信するには

  1. AWS AgentCore コンソールで エージェントレジストリページを開きます。

  2. ナビゲーションペインで、レジストリ を選択し、レジストリ名を選択します。

  3. レジストリレコードセクションで、送信するレコードを選択します。

  4. ステータスの更新 を選択し、承認のために送信 を選択します。

レコードの詳細ページから承認のためにレコードを送信するには

  1. AWS AgentCore コンソールで エージェントレジストリページを開きます。

  2. ナビゲーションペインで、レジストリ を選択し、レジストリ名を選択します。

  3. レジストリレコードセクションで、送信するレコードの名前を選択します。

  4. ステータスの更新 を選択し、承認のために送信 を選択します。

承認のためにレコードを送信すると、レジストリの承認設定に基づいてレコードのステータスが変わります。

  • レジストリで自動承認が有効になっている場合、レコードのステータスは直接「承認済み」に変わり、直後に検索結果に表示されます。

  • レジストリの自動承認がオフになっている場合、レコードのステータスは承認保留中に変わり、公開前にレジストリ管理者がレビューして承認する必要があります。

AWS CLI

aws bedrock-agentcore-control submit-registry-record-for-approval \ --registry-id <registryId> \ --record-id <recordId> \ --region us-east-1

レコードは PENDING_APPROVAL (自動承認が有効になっている場合は直接 APPROVED) に移動します。

AWS SDK

import boto3 client = boto3.client('bedrock-agentcore-control') response = client.submit_registry_record_for_approval( registryId='<registryId>', recordId='<recordId>' ) print(f"Record ARN: {response['recordArn']}") print(f"Record ID: {response['recordId']}") print(f"Status: {response['status']}") # PENDING_APPROVAL or APPROVED print(f"Updated At: {response['updatedAt']}")

ステップ 4: レコードを承認する

コンソール

レジストリレコードテーブルからレコードを承認するには

  1. AWS AgentCore コンソールで エージェントレジストリページを開きます。

  2. ナビゲーションペインで、レジストリ を選択し、レジストリ名を選択します。

  3. レジストリレコードセクションで、承認するレコードを選択します。

  4. ステータスの更新 を選択し、承認 を選択します。

  5. 確認ダイアログで、ステータス変更の理由を入力します。

  6. [確認] を選択します

レコードの詳細ページからレコードを承認するには

  1. AWS AgentCore コンソールで エージェントレジストリページを開きます。

  2. ナビゲーションペインで、レジストリ を選択し、レジストリ名を選択します。

  3. レジストリレコードセクションで、承認するレコードの名前を選択します。

  4. レコードの詳細ページで、ステータスの更新 を選択し、承認 を選択します。

  5. 確認ダイアログで、ステータス変更の理由を入力します。

  6. [確認] を選択します

AWS CLI

aws bedrock-agentcore-control update-registry-record-status \ --registry-id <registryId> \ --record-id <recordId> \ --status APPROVED \ --status-reason "Reviewed and approved" \ --region us-east-1

AWS SDK

import boto3 client = boto3.client('bedrock-agentcore-control') response = client.update_registry_record_status( registryId='<registryId>', recordId='<recordId>', status='APPROVED', statusReason='Meets all requirements' ) print(f"Record ARN: {response['recordArn']}") print(f"Status: {response['status']}") # APPROVED print(f"Reason: {response['statusReason']}")

ステップ 5: レジストリを検索する

コンソール

セマンティック検索またはキーワード検索を使用してレジストリ内の承認済みレコードを検索し、エージェント、MCP サーバー、スキル、その他のリソースを検索できます。名前、プロトコル、またはバージョンで結果をフィルタリングして、検索を絞り込むことができます。

注記

* コンソール検索機能は、認可タイプとして IAM を使用するレジストリでのみ使用できます。* レジストリが JSON ウェブトークン (JWT) を使用している場合は、curl や Postman などの HTTP クライアントを使用して、リクエストヘッダーに有効な JWT ベアラートークンを使用して検索 API を直接呼び出す必要があります。 AWS CLI および AWS SDKs IAM SigV4 署名を使用し、JWT 認可レジストリでは使用できません。詳細については、「レジストリレコードの検索」を参照してください。

レジストリレコードを検索するには

  1. AWS AgentCore コンソールで エージェントレジストリページを開きます。

  2. ナビゲーションペインで、レジストリ を選択し、レジストリ名を選択します。

  3. レコードの検索タブを選択します。

  4. 承認済みレコードの検索フィールドに、検索クエリを入力します。

  5. (オプション) 特定のプロパティで結果をフィルタリングするには、検索フィールドを選択してプロパティメニューを展開し、フィルター: 名前記述子タイプ 、またはバージョン を選択します。

  6. [検索] を選択してください。

検索は、承認済みステータスのレコードのみを返します。下書き、承認保留中、拒否済み、非推奨ステータスなど、他の状態のレコードは検索結果に表示されません。

AWS CLI

aws bedrock-agentcore search-registry-records \ --search-query "weather" \ --registry-ids "<registry-id>" \ --region us-east-1

承認されたレコードが検索結果に表示されます。

AWS SDK

import boto3 client = boto3.client('bedrock-agentcore') response = client.search_registry_records( registryIds=['arn:aws:bedrock-agentcore:us-east-1:<account>:registry/<registryId>'], searchQuery='weather forecast tool', maxResults=10 ) for record in response['registryRecords']: print(f"Record: {record['name']} ({record['recordId']})") print(f" Type: {record['descriptorType']}") print(f" Status: {record['status']}") print(f" Version: {record['version']}")

構築したもの

  • IAM 認可と手動承認を持つレジストリ

  • MCP サーバーを記述するレジストリレコード

  • 検索によって検出可能な承認済みレコード

次の手順

  • Amazon EventBridge 通知を設定して承認ワークフローを自動化する

  • エージェント、サーバー、スキル、カスタムリソースのレコードをさらに追加する