View a markdown version of this page

开始使用 AWS 代理注册表 - Amazon Bedrock AgentCore

开始使用 AWS 代理注册表

即将进行的命名空间迁移

AWS Agent Registry 目前在 bedrock-agentcore 命名空间下处于公开预览状态。从 2026 年 8 月 6 日起,该服务将移至代理注册表命名空间。如果您使用 AWS 代理注册表,则必须更新您的终端节点、IAM 策略、SDK 客户端、CLI 脚本和注册表数据。有关从公共预览版迁移的更多信息,请参阅注册表迁移综合指南

在本指南中,您将创建第一个注册表、添加记录、批准并进行搜索。

先决条件

完成先决条件中的步骤。

步骤 1:创建注册表

使用 IAM 授权和手动批准创建注册表。

控制台

使用基于 IAM 的身份验证创建注册表

  1. AgentCore 控制台中打开 AWS 代理注册表页面。

  2. 在导航窗格中,选择注册表

  3. 在 “注册表” 部分,选择 “创建注册表”。

  4. 注册表详细信息部分的名称中,输入注册表的名称。名称必须以字母数字字符开头。有效字符为 a—z、A—Z、0—9、_(下划线)、(连字符)、-(句点)和.(正斜杠)。/该名称最多可包含 64 个字符。

  5. (可选)选择 “其他详细信息” 展开该部分,然后在 “描述” 中输入描述以帮助识别此注册表。

  6. 搜索 API 授权部分,对于身份验证类型,选择使用 IAM 授权。注意-这是入站授权

  7. 在 “记录审批” 部分,打开或关闭 Auto-approval

    • 启用Auto-approval后,当您提交记录以供批准时,该记录将直接变为 “已批准” 状态,并在不久之后在搜索结果中可见。

    • 关闭后 Auto-approval,当您提交记录以供批准时,该记录将变为待批准状态,并要求策展人在发布之前对其进行审核和批准。

  8. 选择创建注册表

要使用基于 JWT 的身份验证身份提供者创建注册表,请使用 JSON Web 令牌 (JWT) 来控制对注册表搜索 API 的访问。您可以使用 Amazon Cognito 快速设置授权,也可以使用自己的身份提供商来启用 OAuth 2.0。

  1. AgentCore 控制台中打开 AWS 代理注册表页面。

  2. 在导航窗格中,选择注册表

  3. 在 “注册表” 部分,选择 “创建注册表”。

  4. 注册表详细信息部分的名称中,输入注册表的名称。名称必须以字母数字字符开头。有效字符为 a—z、A—Z、0—9、_(下划线)、(连字符)、-(句点)和.(正斜杠)。/该名称最多可包含 64 个字符。

  5. (可选)选择 “其他详细信息” 展开该部分,然后在 “描述” 中输入描述以帮助识别此注册表。

  6. 搜索 API 授权部分中,对于身份验证类型,选择使用 JSON Web 令牌 (JWT)。注意-这是入站授权

  7. 对于 JWT 架构配置,请选择以下选项之一:

    1. 使用 Cognito 快速创建配置(推荐)— AWS 代理注册表使用 Amazon Cognito 作为身份提供者代表您创建授权配置。无需其他配置。

    2. 使用现有的身份提供商配置-自带身份提供商启用 OAuth 2.0。如果选择此选项,请完成以下步骤:

      1. 对于发现 URL,请输入您的身份提供商提供的发现 URL。 AWS Agent Registry 使用此 URL 自动获取您的提供商的登录、令牌和验证设置。您可以在身份提供商的控制面板或文档(例如https://cognito-identity.amazonaws.com/.well-known/openid-configuration)中找到此 URL。

        注意:创建注册表后,无法更改发现 URL

      2. (可选)在 JWT 授权配置下,选择 “允许的受众” 以提供允许的受众列表, AWS 代理注册局会根据 JWT 令牌中的aud声明对这些受众进行验证。OAuth 2.0 中的受众声明 (aud) 指定令牌用于哪个资源服务器 (API)。这样可以确保令牌在处理请求之前是正确的接收者,从而防止令牌在不同的 API 上被重复使用。

      3. (可选)选择 “允许的客户端” 以提供允许的客户端标识符列表, AWS 代理注册表会根据 JWT 令牌中的client_id声明验证这些标识符。A client_id 是请求访问令牌以访问注册表搜索 API 的应用程序的公共唯一标识符。如果启用此选项,请在 “客户端” 字段中输入一个或多个客户端 ID,然后选择 “添加客户端” 以添加其他客户端。

      4. (可选)选择 “允许的范围” 以提供允许的权限列表,定义为范围。如果已配置,则传入令牌中至少有一个范围值必须与其中一个配置的值相匹配。作用域充当权限来限制应用程序可以执行的操作。

      5. (可选)选择 “自定义声明” 以提供一组规则,将传入令牌中的特定声明与预定义值进行匹配。为每条规则指定声明名称、值类型(STRIN GSTRING_ARRAY)和所需的匹配值。

  8. 在 “记录审批” 部分,打开或关闭 Auto-approval

    1. 启用Auto-approval后,当您提交记录以供批准时,该记录将直接变为 “已批准” 状态,并立即显示在搜索结果中。

    2. 关闭后,当您提交记录以供批准时,该记录将变Auto-approval为 “待批准” 状态,并要求注册表管理员在发布之前对其进行审核和批准。

  9. 选择创建注册表

注意

* 至少需要一个 JWT 授权配置字段:允许的受众、允许的客户、允许的范围或自定义声明。如果您配置了多个配置,则 AWS 代理注册表会对所有配置进行验证。* 创建注册表后,无法更改发现 URL。* 注册表创建后,无法更改授权类型(IAM 或 JWT)。* 注册表一次仅支持一种形式的入站授权类型:IAM Sigv4 或 JWT 不记名令牌。不能同时使用两者。仅支持通过 IAM-based 注册表通过 IAM 进行搜索;只有基于 Oauth 的注册表才支持通过 Oauth 进行搜索。

创建注册表后,控制台将导航到注册表详细信息页面。注册表初始状态为 “正在创建”。 AWS Agent Registry 会为注册表分配 ARN,您可以在注册表详情部分找到该 ARN。置备完成后,注册表状态更改为 “就绪”。当注册表的状态为 “就绪” 时,您可以向其添加记录。

AWS CLI

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

注册表状态开始为 “正在创建”,置备完成后会转换为 “就绪”。

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. AgentCore 控制台中打开 AWS 代理注册表页面。

  2. 在导航窗格中,选择 Re gistry,然后选择要在其中添加记录的注册表的名称。

  3. 在 “注册记录” 部分,选择 “创建记录”。

  4. 选择来源类型:

    1. 从端点同步-提供端点 URL 和可选凭据,以从 MCP 服务器或代理 (A2A) 端点获取元数据。有关详细信息,请参阅同步来自外部来源的记录

    2. 手动-手动配置记录详细信息和协议配置。继续执行以下步骤。

  5. 记录详细信息部分的名称中,输入记录的名称。名称必须以字母数字字符开头。有效字符为 a—z、A—Z、0—9、_(下划线)、(连字符)、-(句点)和.(正斜杠)。/该名称最多可包含 255 个字符。

  6. (可选)在描述中,输入记录的描述。描述可以是 1 到 4,096 个字符。

  7. 记录版本中,输入记录的版本标识符(例如,1.0.0v2.1)。

  8. 记录类型部分,选择与您的资源相匹配的类型:

    1. MCP — 专为 AI 工具和代理通信而设计的协议。处理上下文管理和结构化消息格式。如果您选择此类型,请完成以下步骤:

      1. MCP 服务器定义部分,从 “架构版本” 下拉列表中选择架构版本(例如2025-12-11),然后在的 MCP 服务器定义编辑器中输入 MCP 注册表 server.json。该定义必须符合所选版本的官方 MCP 服务器架构。要查看官方架构作为参考,请打开 “显示官方架构”

      2. (可选)选择添加工具定义以添加此服务器上可用的特定工具及其输入参数、输出和使用示例,以增强可发现性。如果选择此选项,请从 “架构版本” 下拉列表中选择架构版本(例如2025-11-25),然后在 “您的工具定义” 编辑器中输入您的工具定义。要查看官方工具架构作为参考,请打开 “显示官方架构”

    2. 代理 — 专为安全代理与代理交互而设计的协议。支持分布式工作流程和信息交换。如果选择此类型,则架构版本为0.3。在编辑器中输入您的代理卡定义。要查看官方架构作为参考,请打开 “显示官方架构”

    3. 代理技能 — 使用 markdown 文档和可选的结构化定义注册代理技能。如果您选择此类型,请完成以下步骤:

      1. 对于技能文档,请输入描述该技能的 markdown 文档。

      2. (可选)选择 “包括技能定义” 以添加结构化定义。如果选择此选项,请从 “架构版本” 下拉列表中选择架构版本,然后在编辑器中以 JSON 对象的形式输入技能定义。

    4. 自定义-针对特殊通信模式的自定义协议实现。定义您自己的接口规格和集成要求。如果您选择此类型,请在编辑器中以 JSON 对象的形式输入您的自定义定义。

  9. 选择创建记录

注意

如果您希望向注册表中添加不符合标准 MCP 或 A2A 协议架构的服务器或代理,请使用自定义记录类型将此类资源添加到注册表中。

选择 “创建记录” 后, AWS 代理注册表将开始配置记录。记录状态最初为 “正在创建”。置备完成后,状态将更改为 “草稿”。要将记录提供给其他人查找,请将其提交以供批准。有关更多信息,请参阅步骤 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

该记录以 “创建” 状态创建,并在处理完成后转换为 “草稿”。有关创建其他类型记录的更多 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. AgentCore 控制台中打开 AWS 代理注册表页面。

  2. 在导航窗格中,选择注册表,然后选择注册表名称。

  3. 在 “注册记录” 部分,选择要提交的记录。

  4. 选择 “更新状态”,然后选择 “提交以供审批”。

从记录详细信息页面提交记录以供审批

  1. AgentCore 控制台中打开 AWS 代理注册表页面。

  2. 在导航窗格中,选择注册表,然后选择注册表名称。

  3. 在 “注册记录” 部分,选择要提交的记录的名称。

  4. 选择 “更新状态”,然后选择 “提交以供审批”。

提交记录以供批准后,记录状态会根据注册机构的批准设置而变化:

  • 如果注册表已Auto-approval开启,则记录状态将直接更改为 “已批准”,并在不久之后在搜索结果中可见。

  • 如果注册表已关Auto-approval闭,则记录状态将更改为 “待批准”,并要求注册表管理员在发布之前对其进行审核和批准。

AWS CLI

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

记录将移至 PENDING_Approval(如果启用了自动批准,则直接移至 “已批准”)。

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. AgentCore 控制台中打开 AWS 代理注册表页面。

  2. 在导航窗格中,选择注册表,然后选择注册表名称。

  3. 在 “注册记录” 部分,选择要批准的记录。

  4. 选择 “更新状态”,然后选择 “批准”。

  5. 在确认对话框中,输入状态更改的原因。

  6. 选择确认

从记录详细信息页面批准记录

  1. AgentCore 控制台中打开 AWS 代理注册表页面。

  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 Web 令牌 (JWT),则必须使用 HTTP 客户端(例如 curl 或 Postman)直接调用搜索 API,并在请求标头中包含有效的 JWT 不记名令牌。 AWS CLI 和 AWS 软件开发工具包使用 IAM Sigv4 签名,不能与注册表一起使用。 JWT-authorized 可以在搜索注册表记录中找到更多详细信息。

搜索注册表记录

  1. AgentCore 控制台中打开 AWS 代理注册表页面。

  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 通知以自动执行您的批准工作流程

  • 为您的代理、服务器、技能和自定义资源添加更多记录