Serverless Operations, inc

>_cd /blog/id_e613c17qoal

title

Amazon Bedrock AgentCore Registry - 増えつづけるエージェントとツールの「住所録」

AIエージェントが増えると、今度は「探せない」問題が来る

社内でAIエージェントやツールの活用が進むと、各チームがそれぞれにMCPサーバーを立て、エージェントを作り、専用ツールを量産していきます。便利になっていく一方で、新しい悩みが出てきます。

「あの機能、どこかのチームが作ってなかったっけ?」「同じようなツールをまた一から作っている気がする」――こうしたリソースのサイロ化が発生します。見つけられないがゆえに既存のものを再発明し、重複と技術的負債だけが積み上がっていきます。

AWS Agent Registry は、まさにこの「探せない」問題を解決するためのサービスです。Amazon Bedrock AgentCore の一機能として提供される、フルマネージドのディスカバリ(発見)サービスで、MCPサーバー・ツール・エージェント・エージェントスキル・カスタムリソースを、検索可能な一つのカタログにまとめてくれます。組織の「住所録」のような存在だと考えると分かりやすいかもしれません。

基本機能

ポイントは大きく6つです。

  • 集中ディスカバリ ― 組織内のリソースを一カ所に集約。人間もAIエージェントも検索できます。
  • ガバナンスとキュレーション ― 承認ワークフローを通り、セキュリティ・品質基準を満たしたものだけが公開されます。管理者はいつでも公開を取り消せます。
  • 柔軟なリソースタイプ ― MCP、エージェント、スキル、任意のカスタムリソースを登録可能。MCP/エージェントは公式プロトコルスキーマで検証されます。
  • ハイブリッド検索 ― セマンティック検索とキーワード検索を組み合わせ、自然言語でも正確な名前でもヒットします。
  • MCPネイティブアクセス ― レジストリ自身がMCPエンドポイントを持ち、MCP互換クライアントから直接やり取りできます。
  • 柔軟な認可 ― AWS IAM、または社内IdPのJWTを選べます。

利用シーン

公式のユースケースを見ると、効きどころがイメージしやすくなります。

https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/registry-use-cases.html

社内ワークフローの部品探し。 例えば「従業員の有給残数レポートを作る社内ワークフロー」を組みたいとき、必要なのは従業員情報サービス・PTO管理サービス・ドキュメント生成サービスの3つ。社内Wikiを漁ったり人に聞いて回る代わりに、レジストリを検索すれば接続情報とツールスキーマ付きで3つとも見つかります。数日かかっていた「探す」工程が数分になります。

顧客向けエージェントへの機能追加。 注文照会を担当する顧客サービスエージェントに「配送遅延の追跡」機能を足したい。レジストリで配送追跡サービスを検索して見つけ、Gatewayにアタッチしてポリシーを更新するだけ。どのチームが作ったか、誰に連絡すればいいかを知らなくても済みます。

チームをまたいだエージェントの乱立を抑える。 管理者がレジストリを眺めていて、新チームの「旅行予約エージェント」が既存の「旅行プランニングエージェント」とそっくりだと気づく。重複に気づけたことで両チームをつなぎ、二重メンテナンスを回避できます。

再利用可能なスキルの共有。 あるチームが作った「PDFから構造化データを抽出するスキル」が好評で、全社展開を頼まれた。各チームに個別に声をかける代わりに、詳細なドキュメントと構造化定義を付けてレジストリに公開。他のビルダーが検索で見つけて自分のエージェントに組み込めます。

キュレーションによる品質担保。 新しいMCPサーバーが登録申請されると、EventBridge通知が標準レビューパイプラインを起動。ツール説明や入力スキーマの完全性、セキュリティ要件を自動チェックし、不備があればキュレーターが理由付きで差し戻します。

ライブサーバーとの同期。 AgentCore Runtime上でツール定義が進化していくMCPサーバーでも、URLベースの同期を設定しておけば、レジストリがエンドポイントから最新メタデータを取得し、カタログを正確に保てます。

さっそくやってみる

ではAWS CLIを使ってやってみます。

まず AWS CLI を最新版にしてみます。

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install --update

次に Registry そのものを作成します。

aws bedrock-agentcore-control create-registry \
  --name "MyFirstRegistry" \
  --description "My first Agent Registry" \
  --region us-east-1
{
    "registryArn": "arn:aws:bedrock-agentcore:us-east-1:917561075114:registry/ssJXTXseDGXmtHh5"
}

Creating のステータスになりますので少し待ちます。

Status が Ready になったら次に進みます。

次に行うのは Registry へツールの登録です。この例ではダミーの MCP Server を登録してみます。

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
{
    "recordArn": "arn:aws:bedrock-agentcore:us-east-1:917561075114:registry/ssJXTXseDGXmtHh5/record/ADfDDyo3DAgQ",
    "status": "CREATING"
}

しばらく待つと CREATINGDraft になります。

aws bedrock-agentcore-control submit-registry-record-for-approval \
  --registry-id <registryId> \
  --record-id <recordId> \
  --region us-east-1
{
    "registryArn": "arn:aws:bedrock-agentcore:us-east-1:917561075114:registry/ssJXTXseDGXmtHh5",
    "recordArn": "arn:aws:bedrock-agentcore:us-east-1:917561075114:registry/ssJXTXseDGXmtHh5/record/ADfDDyo3DAgQ",
    "recordId": "ADfDDyo3DAgQ",
    "status": "PENDING_APPROVAL",
    "updatedAt": "2026-06-13T02:15:31.294005+00:00"
}

PENDING_APPROVAL と承認待ちになります。以下のコマンドで承認が行えます。

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
{
    "registryArn": "arn:aws:bedrock-agentcore:us-east-1:917561075114:registry/ssJXTXseDGXmtHh5",
    "recordArn": "arn:aws:bedrock-agentcore:us-east-1:917561075114:registry/ssJXTXseDGXmtHh5/record/ADfDDyo3DAgQ",
    "recordId": "ADfDDyo3DAgQ",
    "status": "APPROVED",
    "statusReason": "Reviewed and approved",
    "updatedAt": "2026-06-13T02:17:46.415593+00:00"
}

ステータスが Approved に代わりました。

では最後に検索を行います。

aws bedrock-agentcore search-registry-records \
  --search-query "weather" \
  --registry-ids "<registryId>" \
  --region us-east-1
{
    "registryRecords": [
        {
            "registryArn": "arn:aws:bedrock-agentcore:us-east-1:917561075114:registry/ssJXTXseDGXmtHh5",
            "recordArn": "arn:aws:bedrock-agentcore:us-east-1:917561075114:registry/ssJXTXseDGXmtHh5/record/ADfDDyo3DAgQ",
            "recordId": "ADfDDyo3DAgQ",
            "name": "WeatherServer",
            "descriptorType": "MCP",
            "descriptors": {
                "mcp": {
                    "server": {
                        "schemaVersion": "2025-12-11",
                        "inlineContent": "{\"name\": \"weather/mcp-server\", \"description\": \"Weather data service\", \"version\": \"1.0.0\"}"
                    }
                }
            },
            "version": "1.0",
            "status": "APPROVED",
            "createdAt": "2026-06-13T02:14:03.375803+00:00",
            "updatedAt": "2026-06-13T02:17:46.415593+00:00"
        }
    ]
}

これにより組織全員がこのツールを把握することができるようになります。

必要なIAM権限

上記の手順ではすべて同じIAMクレデンシャルで作業を行っていますが、組織的に利用するとなると、承認申請、承認、検索の権限を分けたいケースもあると思います。その場合必要な権限は以下となります。

各操作に必要なアクション

操作

必要な IAM アクション

アクセスレベル

承認申請(submit-registry-record-for-approval)

bedrock-agentcore:SubmitRegistryRecordForApproval

Write

承認(update-registry-record-status で APPROVED/REJECT/DEPRECATE)

bedrock-agentcore:UpdateRegistryRecordStatus

Write

検索(search-registry-records)

bedrock-agentcore:SearchRegistryRecords

Read

Written by
編集部

亀田 治伸

Kameda Harunobu

  • Facebook->
  • X->
  • GitHub->

Share

Facebook->X->
Back
to list
<-