

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 开始使用 Amazon 代理注册表
<a name="registry-get-started"></a>

**迁移现已开放**  
 Amazon 代理注册表已在新`agent-registry`命名空间下启动。2026 年 10 月 30 日将停止对公共预览版`bedrock-agentcore`命名空间的支持。有关迁移说明，请参阅[注册表迁移综合指南](registry-faq.md)。

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

## 先决条件
<a name="registry-get-started-prereqs"></a>

完成[先决条件](registry-prerequisites.md)中的步骤。

## 步骤 1：创建注册表
<a name="registry-get-started-step1"></a>

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

### 控制台
<a name="registry-get-started-step1-console"></a>

#### 通过 IAM-based 授权创建注册表
<a name="_creating_a_registry_with_iam_based_authorization"></a>

**Example**  

1. 打开[Amazon 代理注册表控制台](https://console.amazonaws.cn/agent-registry/home?region=us-east-1#)。

1. 在导航窗格中，选择**注册表**。

1. 在 “**注册表**” 部分，选择 “**创建注册表**”。

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

1. （可选）选择 “**其他详细信息**” 展开该部分，然后在 “**描述**” 中输入描述以帮助识别此注册表。

1. 在**发现授权**部分，对于**身份验证类型**，选择**使用 IAM 授权**（入站授权）。

1. 在 “**记录审批**” 部分，打开或关闭 **Auto-approval**：
   + 启用**Auto-approval**后，当您提交记录以供批准时，该记录将直接变为 “**已批准**” 状态，并在不久之后在搜索结果中可见。
   + 关闭后 **Auto-approval**，当您提交记录以供批准时，该记录将变为**待批准**状态，并要求策展人在发布之前对其进行审核和批准。

1. （可选）在 “**标签**” 部分中，选择 “**添加新标记**”，将一个或多个标签附加到注册表。每个标签都有一个密钥和一个可选值。

1. 选择 “**创建注册表**”。

1. 在[Bedrock-AgentCore 控制台](https://console.amazonaws.cn/bedrock-agentcore/home?region=us-east-1#)中打开 “ Amazon 代理注册表” 页面。

1. 在导航窗格中，选择**注册表**。

1. 在 “**注册表**” 部分，选择 “**创建注册表**”。

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

1. （可选）选择 “**其他详细信息**” 展开该部分，然后在 “**描述**” 中输入描述以帮助识别此注册表。

1. 在**搜索 API 授权**部分，对于**身份验证类型**，选择**使用 IAM 授权**（入站授权）。

1. 在 “**记录审批**” 部分，打开或关闭 **Auto-approval**：
   + 启用**Auto-approval**后，当您提交记录以供批准时，该记录将直接变为 “**已批准**” 状态，并在不久之后在搜索结果中可见。
   + 关闭后 **Auto-approval**，当您提交记录以供批准时，该记录将变为**待批准**状态，并要求策展人在发布之前对其进行审核和批准。

1. 选择 “**创建注册表**”。

#### 通过 JWT-based 授权创建注册表
<a name="_creating_a_registry_with_jwt_based_authorization"></a>

身份提供商授权使用 JSON Web 令牌 (JWT) 来控制对注册表可发现的数据平面 API 和 MCP 端点的访问。您可以使用 Amazon Cognito 快速设置授权，也可以使用自己的身份提供商来启用 OAuth 2.0。

**Example**  

1. 打开[Amazon 代理注册表控制台](https://console.amazonaws.cn/agent-registry/home?region=us-east-1#)。

1. 在导航窗格中，选择**注册表**。

1. 在 “**注册表**” 部分，选择 “**创建注册表**”。

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

1. （可选）选择 “**其他详细信息**” 展开该部分，然后在 “**描述**” 中输入描述以帮助识别此注册表。

1. 在**发现授权**部分中，对于**身份验证类型**，选择**使用 JSON Web 令牌 (JWT)**（入站授权）。

1. 对于 **JWT 架构配置**，请选择以下选项之一：

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

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

      1. 对于**发现 URL**，请输入您的身份提供商提供的发现 URL。 Amazon Agent Registry 使用此 URL 自动获取您的提供商的登录、令牌和验证设置。您可以在身份提供商的控制面板或文档（例如`https://cognito-identity.amazonaws.com/.well-known/openid-configuration`）中找到此 URL。
**注意**  
创建注册表后，无法更改发现 URL。

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

      1. （可选）选择 “**允许的客户端**” 以提供允许的客户端标识符列表， Amazon 代理注册表会根据 JWT 令牌中的`client_id`声明验证这些标识符。A `client_id` 是请求访问令牌以访问注册表可发现的数据平面 API 或 MCP 端点的应用程序的公共唯一标识符。如果启用此选项，请在 “客户端” 字段中输入一个或多个**客户**端 ID，然后选择 “**添加客户端**” 以添加其他客户端。

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

      1. （可选）选择 “**自定义声明**” 以提供一组规则，将传入令牌中的特定声明与预定义值进行匹配。为每条规则指定声明名称、值类型（STRIN **G** 或 **STRING\_ARRAY**）和所需的匹配值。

1. 在 “**记录审批**” 部分，打开或关闭 **Auto-approval**：

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

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

1. （可选）在 “**标签**” 部分中，选择 “**添加新标记**”，将一个或多个标签附加到注册表。每个标签都有一个密钥和一个可选值。

1. 选择 “**创建注册表**”。

1. 在[Bedrock-AgentCore 控制台](https://console.amazonaws.cn/bedrock-agentcore/home?region=us-east-1#)中打开 “ Amazon 代理注册表” 页面。

1. 在导航窗格中，选择**注册表**。

1. 在 “**注册表**” 部分，选择 “**创建注册表**”。

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

1. （可选）选择 “**其他详细信息**” 展开该部分，然后在 “**描述**” 中输入描述以帮助识别此注册表。

1. 在**搜索 API 授权**部分，对于**身份验证类型**，选择**使用 JSON Web 令牌 (JWT)**（入站授权）。

1. 对于 **JWT 架构配置**，请选择以下选项之一：

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

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

      1. 对于**发现 URL**，请输入您的身份提供商提供的发现 URL。 Amazon Agent Registry 使用此 URL 自动获取您的提供商的登录、令牌和验证设置。您可以在身份提供商的控制面板或文档（例如`https://cognito-identity.amazonaws.com/.well-known/openid-configuration`）中找到此 URL。
**注意**  
创建注册表后，无法更改发现 URL。

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

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

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

      1. （可选）选择 “**自定义声明**” 以提供一组规则，将传入令牌中的特定声明与预定义值进行匹配。为每条规则指定声明名称、值类型（STRIN **G** 或 **STRING\_ARRAY**）和所需的匹配值。

1. 在 “**记录审批**” 部分，打开或关闭 **Auto-approval**：

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

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

1. 选择 “**创建注册表**”。

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

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

### Amazon CLI
<a name="registry-get-started-step1-cli"></a>

**Example**  

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

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

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

### Amazon SDK
<a name="registry-get-started-step1-sdk"></a>

**Example**  

```
import boto3

client = boto3.client('agent-registry-control')

response = client.create_registry(
    name='my-agent-registry',
    description='My first Agent Registry'
)
print(response['registryArn'])
```

```
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：添加注册表记录
<a name="registry-get-started-step2"></a>

在注册表中创建 MCP 服务器的记录。

### 控制台
<a name="registry-get-started-step2-console"></a>

注册记录代表代理、工具、技能或自定义资源。

**Example**  

1. 打开[Amazon 代理注册表控制台](https://console.amazonaws.cn/agent-registry/home?region=us-east-1#)。

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

1. 在 “**注册记录**” 部分，选择 “**创建记录**”。

1. 选择来源类型：

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

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

1. 在**记录详细信息**部分的**名称**中，输入记录的唯一名称。该名称在注册表中必须是唯一的 — `Name` 和的组合`Record version`必须是唯一的。名称必须以字母数字字符开头。有效字符为 a—z、A—Z、0—9、`_`（下划线）、（连字符）、`-`（句点）和`.`（正斜杠）。`/`该名称最多可包含 255 个字符。

1. （可选）在 “**显示名称**” 中，为记录输入人类可读的标签。这与记录的技术名称一起出现在注册记录表和搜索结果中。

1. （可选）在**描述**中，输入记录的描述。描述可以是 1 到 4,096 个字符。

1. 在**记录版本**中，输入记录的版本标识符（例如，`1.0.0`或`v2.1`）。

1. 在 “**记录类型和描述符**” 部分中：

   1. 在 “**类型**” 下，选择记录的语义类型。类型决定哪些主描述符键有效。
      +  **MCP** — 专为 AI 工具和代理通信而设计的协议。处理上下文管理和结构化消息格式。
      +  **代理 — 专为安全代理**与代理交互而设计的协议。支持分布式工作流程和信息交换。
      +  **技能** — 使用 markdown 文档和可选的结构化定义注册代理技能。
      +  **自定义**-针对特殊通信模式的自定义协议实现。定义您自己的接口规格和集成要求。

   1. 在 “**描述符**” 下，选择记录描述符数据的形状。可用选项取决于您选择的**类型**：
      +  **MCP** **→ **MCP 服务器或自定义**** 
      +  **代理** **→ **A2A 代理卡**、**MCP 服务器或自定义**** 
      +  **技能** → **特工技能定义**或**自定义** 
      +  **自定义** → **自定义** 

1. 将根据您选择的描述符显示特定于**描述符**的编辑器：

   1.  **MCP 服务器** — 从 “架构版本” 下拉列表中选择**架构版本**（例如`2025-12-11`），然后在 “您的 **MCP** 服务器定义编辑器” 中输入[模型上下文协议网站中的模型上下文协议注册表](https://registry.modelcontextprotocol.io/) server.json。该定义必须符合所选版本的官方 MCP 服务器架构。要查看官方架构作为参考，请打开 “**显示官方架构”**。（可选）选择**添加工具定义**以添加此服务器上可用的工具及其输入参数、输出和使用示例。选择架构版本（例如`2025-11-25`），然后在您的工具定义编辑器中输入**您的工具定义**。

   1.  **A2A Agent Card** — 架构版本为。`0.3`在编辑器中输入您的代理卡定义。要查看官方架构作为参考，请打开 “**显示官方架构”**。

   1.  **特工技能定义** — 对于**技能文档**，请输入描述该技能的降价。（可选）选择 “**包括技能定义**” 以添加结构化定义。选择架构版本并以 JSON 对象的形式输入定义。

   1.  **自**定义-将您的自定义定义输入为 JSON 对象。

1. （可选）在 “**标签**” 部分中，选择 “**添加新标签**” 以将一个或多个标签附加到记录。每个标签都有一个密钥和一个可选值。

1. 选择**创建记录**。

1. 在[Bedrock-AgentCore 控制台](https://console.amazonaws.cn/bedrock-agentcore/home?region=us-east-1#)中打开 “ Amazon 代理注册表” 页面。

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

1. 在 “**注册记录**” 部分，选择 “**创建记录**”。

1. 选择来源类型：

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

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

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

1. （可选）在**描述**中，输入记录的描述。描述可以是 1 到 4,096 个字符。

1. 在**记录版本**中，输入记录的版本标识符（例如，`1.0.0`或`v2.1`）。

1. 在**记录类型**部分，选择与您的资源相匹配的类型：

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

      1. **在 **MCP 服务器定义**部分，从架构版本下拉列表中选择架构版本（例如`2025-12-11`），然后在**您的 MCP** 服务器定义编辑器中输入[模型上下文协议网站中的模型上下文协议注册表](https://registry.modelcontextprotocol.io/) server.json。**该定义必须符合所选版本的官方 MCP 服务器架构。要查看官方架构作为参考，请打开 “**显示官方架构”**。

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

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

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

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

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

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

1. 选择**创建记录**。

**注意**  
要向注册表中添加不符合标准 MCP 或 A2A 协议架构的服务器或代理，请使用自定义记录类型。

选择 “创建记录” 后， Amazon 代理注册表将开始配置记录。记录状态最初为 “正在创建”。置备完成后，状态将更改为 “草稿”。要将记录提供给其他人查找，请将其提交以供批准。有关更多信息，请参阅[步骤 3：提交记录以供审批](#registry-get-started-step3)。

### Amazon CLI
<a name="registry-get-started-step2-cli"></a>

**Example**  

```
aws agent-registry-control create-registry-record \
  --registry-id <registryId> \
  --name "weather-server" \
  --display-name "WeatherServer" \
  --record-type MCP \
  --descriptors '{"mcpServer": {"data": "{\"name\": \"weather/mcp-server\", \"description\": \"Weather data service\", \"version\": \"1.0.0\"}", "dataSchemaVersion": "2025-12-11"}}' \
  --record-version "1.0" \
  --region us-east-1
```

```
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
```

该记录以 “创建” 状态创建，并在处理完成后转换为 “草稿”。有关创建其他类型记录的更多 Amazon CLI 示例，请参阅[创建和管理记录](registry-create-manage-records.md)部分。

### Amazon SDK
<a name="registry-get-started-step2-sdk"></a>

**Example**  

```
import boto3
import json

client = boto3.client('agent-registry-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',
    displayName='My MCP Server',
    recordType='MCP',
    descriptors={
        'mcpServer': {
            'data': server_content,
            'dataSchemaVersion': '2025-12-11',
            'additionalData': {
                'tools': {
                    'data': tools_content,
                    'dataSchemaVersion': '2024-11-05'
                }
            }
        }
    },
    recordVersion='1.0'
)
print(f"Record ARN: {response['recordArn']}")
print(f"Status: {response['status']}")  # CREATING
```

```
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
            }
        }
    },
    recordVersion='1.0'
)
print(f"Record ARN: {response['recordArn']}")
print(f"Status: {response['status']}")  # CREATING
```

## 第 3 步：提交记录以供审批
<a name="registry-get-started-step3"></a>

### 控制台
<a name="registry-get-started-step3-console"></a>

提交记录以供批准将启动审查流程，使该记录可供查阅。您可以从注册表或记录详细信息页面提交记录。

 **从注册表中提交记录以供审批** 

**Example**  

1. 打开[Amazon 代理注册表控制台](https://console.amazonaws.cn/agent-registry/home?region=us-east-1#)。

1. 在导航窗格中，选择**注册表**，然后选择注册表名称。

1. 在 “**注册记录**” 部分，选择要提交的记录。

1. 选择 “**更新状态**”，然后选择 “**提交以供审批**”。

1. 在[Bedrock-AgentCore 控制台](https://console.amazonaws.cn/bedrock-agentcore/home?region=us-east-1#)中打开 “ Amazon 代理注册表” 页面。

1. 在导航窗格中，选择**注册表**，然后选择注册表名称。

1. 在 “**注册记录**” 部分，选择要提交的记录。

1. 选择 “**更新状态**”，然后选择 “**提交以供审批**”。

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

**Example**  

1. 打开[Amazon 代理注册表控制台](https://console.amazonaws.cn/agent-registry/home?region=us-east-1#)。

1. 在导航窗格中，选择**注册表**，然后选择注册表名称。

1. 在 “**注册记录**” 部分，选择要提交的记录的名称。

1. 选择 “**更新状态**”，然后选择 “**提交以供审批**”。

1. 在[Bedrock-AgentCore 控制台](https://console.amazonaws.cn/bedrock-agentcore/home?region=us-east-1#)中打开 “ Amazon 代理注册表” 页面。

1. 在导航窗格中，选择**注册表**，然后选择注册表名称。

1. 在 “**注册记录**” 部分，选择要提交的记录的名称。

1. 选择 “**更新状态**”，然后选择 “**提交以供审批**”。

提交记录以供批准后，记录状态会根据注册机构的批准设置而变化：
+ 如果注册表已**Auto-approval**开启，则记录状态将直接更改为 “已**批准**”，并在不久之后在搜索结果中可见。
+ 如果注册表已关**Auto-approval**闭，则记录状态将更改为 “**待批准**”，并要求注册表管理员在发布之前对其进行审核和批准。

### Amazon CLI
<a name="registry-get-started-step3-cli"></a>

**Example**  

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

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

记录将移至 PENDING\_Approval（如果启用了自动批准，则直接移至 “已批准”）。

### Amazon SDK
<a name="registry-get-started-step3-sdk"></a>

**Example**  

```
import boto3

client = boto3.client('agent-registry-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']}")
```

```
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：批准记录
<a name="registry-get-started-step4"></a>

### 控制台
<a name="registry-get-started-step4-console"></a>

 **批准注册表记录表中的记录** 

**Example**  

1. 打开[Amazon 代理注册表控制台](https://console.amazonaws.cn/agent-registry/home?region=us-east-1#)。

1. 在导航窗格中，选择**注册表**，然后选择注册表名称。

1. 在 “**注册记录**” 部分，选择要批准的记录。

1. 选择**更新状态**，然后选择**批准**。

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

1. 选择**确认**。

1. 在[Bedrock-AgentCore 控制台](https://console.amazonaws.cn/bedrock-agentcore/home?region=us-east-1#)中打开 “ Amazon 代理注册表” 页面。

1. 在导航窗格中，选择**注册表**，然后选择注册表名称。

1. 在 “**注册记录**” 部分，选择要批准的记录。

1. 选择**更新状态**，然后选择**批准**。

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

1. 选择**确认**。

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

**Example**  

1. 打开[Amazon 代理注册表控制台](https://console.amazonaws.cn/agent-registry/home?region=us-east-1#)。

1. 在导航窗格中，选择**注册表**，然后选择注册表名称。

1. 在 “**注册记录**” 部分，选择要批准的记录的名称。

1. 在记录详细信息页面中，选择**更新状态**，然后选择**批准**。

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

1. 选择**确认**。

1. 在[Bedrock-AgentCore 控制台](https://console.amazonaws.cn/bedrock-agentcore/home?region=us-east-1#)中打开 “ Amazon 代理注册表” 页面。

1. 在导航窗格中，选择**注册表**，然后选择注册表名称。

1. 在 “**注册记录**” 部分，选择要批准的记录的名称。

1. 在记录详细信息页面中，选择**更新状态**，然后选择**批准**。

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

1. 选择**确认**。

### Amazon CLI
<a name="registry-get-started-step4-cli"></a>

**Example**  

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

```
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
```

### Amazon SDK
<a name="registry-get-started-step4-sdk"></a>

**Example**  

```
import boto3

client = boto3.client('agent-registry-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']}")
```

```
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 步：发现已批准的记录
<a name="registry-get-started-step5"></a>

记录目录是用于浏览和搜索注册表中已批准记录的控制台页面。当您在记录目录页面上选择注册表时，控制台会自动列出其已批准的记录。从那里你可以翻阅列表，或者使用搜索框来运行自然语言查询。通过编程方式`ListDiscoverableRegistryRecords`，使用一次调用`SearchDiscoverableRegistryRecords`即可浏览、搜索和`BatchGetDiscoverableRegistryRecord`获取多条记录的完整详细信息。

### 控制台
<a name="registry-get-started-step5-console"></a>

**注意**  
Console-based discovery 仅适用于**使用 IAM** 作为授权类型的注册机构。如果您的注册表使用 JSON Web 令牌 (JWT)，请使用 HTTP 客户端（例如 curl 或 Postman）直接调用可发现的数据平面 API，并在请求标头中包含有效的 JWT 不记名令牌。 Amazon CLI 和 Amazon 软件开发工具包使用 IAM Sigv4 签名，不能与注册表一起使用。 JWT-authorized 有关更多详细信息，请参阅[搜索注册表记录](registry-search-records.md)。

**Example**  
 **浏览或搜索已批准的记录**   

1. 打开[Amazon 代理注册表控制台](https://console.amazonaws.cn/agent-registry/home?region=us-east-1#)。

1. 在导航窗格中，选择**录制目录**。

1. 在 “**注册表**” 下，选择要浏览其已批准记录的注册表。该页面会自动列出该注册表中所有已批准的记录。

1. （可选）在页面右上角的 “**卡片**” 和 “**表格**” 视图之间切换。

1. （可选）在**搜索已批准的记录**中，输入自然语言查询或名称以缩小结果范围，然后选择**搜索**。

1. 选择一张卡片或一行以打开记录的完整详细信息。
记录目录仅显示处于 “**已批准**” 状态的记录。不显示处于 “草稿”、“待批准”、“已拒绝” 或 “已弃用” 状态的记录。
 **搜索注册表记录**   

1. 在[Bedrock-AgentCore 控制台](https://console.amazonaws.cn/bedrock-agentcore/home?region=us-east-1#)中打开 “ Amazon 代理注册表” 页面。

1. 在导航窗格中，选择**注册表**，然后选择注册表名称。

1. 选择 “**搜索记录**” 选项卡。

1. 在 “**搜索已批准的记录**” 字段中，输入您的搜索查询。

1. （可选）要按特定属性筛选结果，请选择搜索字段以展开 “**属性**” 菜单，然后选择筛选器：**名称**、**描述符类型**或**版本**。

1. 选择**搜索**。
搜索仅返回处于 “**已批准**” 状态的记录。处于草稿、待批准、已拒绝或已弃用状态等其他状态的记录不会出现在搜索结果中。

### Amazon CLI
<a name="registry-get-started-step5-cli"></a>

 **浏览已批准的记录**-在注册表中列出已批准的记录：

```
aws agent-registry list-discoverable-registry-records \
  --registry-id "<registry-id>" \
  --region us-east-1
```

 **搜索已批准的记录** — 运行混合语义\+关键字搜索：

**Example**  

```
aws agent-registry search-discoverable-registry-records \
  --search-query "weather" \
  --registry-ids "<registry-id>" \
  --region us-east-1
```

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

 **一次检索多条记录的完整详细信息**：

```
aws agent-registry batch-get-discoverable-registry-record \
  --entries '[{"registryId": "<registry-id>", "recordIds": ["<recordId-1>", "<recordId-2>"]}]' \
  --region us-east-1
```

**注意**  
 `ListDiscoverableRegistryRecords``BatchGetDiscoverableRegistryRecord`且仅在`agent-registry`命名空间中可用。它们在`bedrock-agentcore`命名空间中不可用。

### Amazon SDK
<a name="registry-get-started-step5-sdk"></a>

 **浏览已批准的记录**：

```
import boto3

client = boto3.client('agent-registry')

list_response = client.list_discoverable_registry_records(
    registryId='<registry-id>',
    maxResults=20
)
for record in list_response['registryRecords']:
    print(f"{record['displayName']} ({record['name']}) - {record['recordType']}")
```

 **搜索已批准的记录**：

**Example**  

```
import boto3

client = boto3.client('agent-registry')

response = client.search_discoverable_registry_records(
    registryIds=['arn:aws:agent-registry:us-east-1:<account>:registry/<registryId>'],
    searchQuery='weather forecast tool',
    maxResults=10
)
for record in response['registryRecords']:
    print(f"Record: {record['displayName']} ({record['recordId']})")
    print(f"  Name: {record['name']}")
    print(f"  Type: {record['recordType']}")
    print(f"  Status: {record['status']}")
    print(f"  Version: {record['recordVersion']}")
```

```
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']}")
```

 **一次检索多条记录的完整详细信息**：

```
batch_response = client.batch_get_discoverable_registry_record(
    entries=[{'registryId': '<registry-id>', 'recordIds': ['<recordId-1>', '<recordId-2>']}]
)
for record in batch_response['registryRecords']:
    print(f"{record['displayName']} ({record['name']}) - {record['recordType']}")
for err in batch_response['errors']:
    print(f"Error for {err['recordId']}: {err['errorCode']}")
```

## 你建造了什么
<a name="registry-get-started-what-built"></a>
+ 具有 IAM 授权和手动批准的**注册表**
+ 描述 MCP 服务器的**注册表记录**
+ 经**批准的记录**可通过记录目录浏览和搜索

## 后续步骤
<a name="registry-get-started-next-steps"></a>
+ 在和的基础上构建目录式的发现体验 `ListDiscoverableRegistryRecords` `BatchGetDiscoverableRegistryRecord` 
+ 设置 Amazon EventBridge 通知以自动执行您的批准工作流程
+ 为您的代理、服务器、技能和自定义资源添加更多记录