管理 MCP 服务器和工具

借助 Agent Registry,您可以检查、更新和移除已注册的 Model Context Protocol (MCP) 服务器和工具,以便智能体在运行时拥有准确的工具架构和端点。您可以发现自动和手动注册的 MCP 服务器、更新手动注册的工具定义,以及移除不再使用的 MCP 服务器。

准备工作

  1. 设置 Agent Registry。
  2. 获取已启用 Agent Registry 的治理项目的项目 ID。

  3. 在 Agent Registry 中注册 MCP 服务器。

  4. 如需使用本文档中的 Google Cloud CLI 命令,请设置 gcloud CLI 环境。

所需的角色

如需获得在 Agent Registry 中管理 MCP 服务器和工具所需的权限,请让管理员向您授予已启用 Agent Registry 的治理项目的以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

发现可用的 MCP 服务器和工具

注册 MCP 服务器后,您可以发现这些服务器,以便将其绑定到您的智能体。

列出所有可用的 MCP 服务器

您可以列出环境中注册的所有 MCP 服务器,并查看其详细配置,例如其端点和关联的元数据:

控制台

  1. 在 Google Cloud 控制台中,前往 Agent Registry:

    前往 Agent Registry

  2. 在项目选择器中,选择您设置 Agent Registry 的 Google Cloud 项目。

  3. 选择 MCP 服务器标签页。

    该页面会显示所有已注册 MCP 服务器的列表及其详细信息,例如名称、标识符、说明、运行时和位置。

  4. 如需查看服务器的完整详细信息,请点击服务器的名称。

gcloud

如需列出特定位置中的所有 MCP 服务器,请运行 gcloud agent-registry mcp-servers list 命令:

gcloud agent-registry mcp-servers list \
    --project=PROJECT_ID \
    --location=REGION

替换以下内容:

  • PROJECT_ID:项目 ID。
  • REGION:注册表区域。

过滤已注册的 MCP 服务器

如果您有多个服务器,或者想要确认特定服务器的注册情况,可以按服务器的元数据过滤列表:

控制台

  1. 在 Google Cloud 控制台中,前往 Agent Registry:

    前往 Agent Registry

  2. 在项目选择器中,选择您设置 Agent Registry 的 Google Cloud 项目。

  3. 选择 MCP 服务器标签页。

    该页面会显示所有已注册 MCP 服务器的列表及其详细信息,例如名称、标识符、说明、运行时和位置。

  4. 如需按位置过滤,请点击位置菜单,选择要过滤的位置,然后点击应用。

    页面会显示符合所选条件的已注册 MCP 服务器的过滤列表。

gcloud

通过将 --filter 标志传递给 gcloud agent-registry mcp-servers list 命令,过滤列表以仅返回与特定元数据匹配的资源:

gcloud agent-registry mcp-servers list \
    --project=PROJECT_ID \
    --location=REGION \
    --filter="FILTER_EXPRESSION"

替换以下内容:

  • PROJECT_ID:项目 ID。
  • REGION:注册表区域。
  • FILTER_EXPRESSION:要过滤的 MCP 服务器的过滤表达式。例如,您可以使用以下过滤条件:
    • 如需按显示名称进行过滤,请使用 displayName='DISPLAY_NAME'。
    • 如需按全局唯一的 MCP 服务器标识符 (URN) 进行搜索,请使用 mcpServerId='urn:mcp:SERVER_URN'。

Terraform

如需通过过滤元数据来检索特定已注册的 MCP 服务器,请使用 filter 参数配置 google_agent_registry_mcp_server 数据源:

data "google_agent_registry_mcp_server" "filtered_mcp_server" {
  location = "REGION"
  filter   = "displayName=\"DISPLAY_NAME\""
}

替换以下内容:

  • REGION:注册表区域。
  • DISPLAY_NAME:要作为过滤条件的 MCP 服务器的人类可读名称,例如 Custom MCP Server。

查看 MCP 服务器中的详细信息

查看特定 MCP 服务器的详细信息,例如其工具:

控制台

  1. 在 Google Cloud 控制台中,前往 Agent Registry:

    前往 Agent Registry

  2. 在项目选择器中,选择您设置 Agent Registry 的 Google Cloud 项目。

  3. 选择 MCP 服务器标签页。

    该页面会显示所有已注册 MCP 服务器的列表及其详细信息,例如名称、标识符、说明、运行时和位置。

  4. 点击要查看的 MCP 服务器的名称。

    详情页面包含 MCP 服务器详情标签页。

  5. 点击相应标签页,查看具体的 MCP 服务器详情:

    • 概览:MCP 服务器的核心详细信息,包括服务器的名称、标识符、位置和说明。概览中还会显示一个代码段,供您使用智能体开发套件 (ADK) 构建智能体。
    • 可观测性:深入了解 MCP 服务器的运行状况和使用情况。它会显示以应用为中心的指标,例如延迟时间、流量、错误和令牌支出。此标签页与 Google Cloud Observability 集成,可显示实时效果指标和系统级利用率,帮助您管理费用、调试问题和跟踪用户体验。如需了解详情,请参阅可观测性概览。
    • 工具:服务器提供的功能。此标签页列出了 MCP 服务器公开的具体函数,智能体可以调用这些函数来执行特定操作。对于每个工具,界面都会显示其架构,包括其名称、说明和关键行为注释,这些注释可指导编排智能体应如何与其交互。点击工具名称即可显示代码段,您可以使用 ADK 构建代理。

gcloud

如需查看特定 MCP 服务器的详细元数据,请运行 gcloud agent-registry mcp-servers describe 命令:

gcloud agent-registry mcp-servers describe SERVER_NAME \
    --project=PROJECT_ID \
    --location=REGION

替换以下内容:

  • SERVER_NAME:MCP 服务器的名称,例如 custom-mcp-server。
  • PROJECT_ID:项目 ID。
  • REGION:注册表区域。

Terraform

如需使用特定已注册 MCP 服务器的 ID 检索其详细信息,请配置 google_agent_registry_mcp_server 数据源:

data "google_agent_registry_mcp_server" "my_mcp_server" {
  location      = "REGION"
  mcp_server_id = "SERVER_NAME"
}

output "server_create_time" {
  description = "The timestamp when the MCP server was registered."
  value       = data.google_agent_registry_mcp_server.my_mcp_server.create_time
}

output "server_update_time" {
  description = "The timestamp when the MCP server was last updated."
  value       = data.google_agent_registry_mcp_server.my_mcp_server.update_time
}

替换以下内容:

  • REGION:注册表区域。
  • SERVER_NAME:MCP 服务器的唯一标识符,例如 custom-mcp-server。

更新服务器详细信息和工具定义

如果您的 MCP 服务器添加了新工具或更改了现有架构,您必须更新注册表以反映这些更改。

在 Agent Registry 中,McpServer 资源是只读发现资源。对于自动注册的 MCP 服务器,请在其底层运行时中更新部署或工作负载,以便 Agent Registry 同步更改。如需更新手动注册的 MCP 服务器,您必须直接更新其可写 Service 资源。由于 Registry 不会自动检查手动注册的 MCP 服务器,因此您必须人工上传更新后的工具规范,该规范会替换服务器的现有工具定义。

控制台

通过 Google Cloud 控制台更新可用的服务器详细信息:

  1. 在 Google Cloud 控制台中,前往 Agent Registry:

    前往 Agent Registry

  2. 在项目选择器中,选择您设置 Agent Registry 的 Google Cloud 项目。

  3. 选择 MCP 服务器标签页。

    该页面会显示所有已注册 MCP 服务器的列表及其详细信息,例如名称、标识符、说明、运行时和位置。

  4. 点击要更新的服务器的名称。

  5. 在服务器的概览标签页上,点击 修改。

  6. 在修改服务面板中,输入服务器的更新信息,例如其新名称或说明。

  7. 点击保存。

gcloud

准备新的工具规范。 然后,使用更新后的 JSON 文件运行 gcloud agent-registry services update 命令:

gcloud agent-registry services update SERVER_NAME \
    --project=PROJECT_ID \
    --location=REGION \
    --mcp-server-spec-content=TOOL_SPEC

替换以下内容:

  • SERVER_NAME:MCP 服务器的名称,例如 custom-mcp-server。
  • PROJECT_ID:项目 ID。
  • REGION:注册表区域。
  • TOOL_SPEC:新工具规范文件的路径,例如 new-toolspec.json。规范文件的文件大小上限为 10 KB。

Terraform

如需更新已注册 MCP 服务器的元数据、端点网址或工具规范,请修改配置中现有 google_agent_registry_service 资源的参数,然后运行 terraform apply:

resource "google_agent_registry_service" "mcp_server" {
  location     = "REGION"
  service_id   = "SERVER_NAME"
  display_name = "DISPLAY_NAME"
  description  = "Updated description of the MCP server."

  interfaces {
    url              = "SERVER_URL"
    protocol_binding = "JSONRPC"
  }

  mcp_server_spec {
    type    = "TOOL_SPEC"
    content = file("TOOL_SPEC")
  }
}

替换以下内容:

  • REGION:注册表区域。
  • SERVER_NAME:MCP 服务器的名称,例如 custom-mcp-server。
  • DISPLAY_NAME:MCP 服务器的人类可读显示名称,例如 Custom MCP Server。
  • SERVER_URL:MCP 服务器的端点网址,例如 https://api.example.com/mcp。
  • TOOL_SPEC:更新后的工具规范文件的路径,例如 new-toolspec.json。规范文件的文件大小上限为 10 KB。

移除 MCP 服务器

如需删除自动注册到 Agent Registry 的 MCP 服务器,您必须删除底层 MCP 服务器或在项目中停用 MCP 服务器的 Google Cloud API。然后,系统会自动从注册表中移除该服务器。

如需从注册表中移除手动注册的 MCP 服务器,您必须删除其 Service 资源。此操作会从搜索结果中移除 MCP 服务器,并使其无法被其他工具发现:

控制台

  1. 在 Google Cloud 控制台中,前往 Agent Registry:

    前往 Agent Registry

  2. 在项目选择器中,选择您设置 Agent Registry 的 Google Cloud 项目。

  3. 选择 MCP 服务器标签页。

    该页面会显示所有已注册 MCP 服务器的列表及其详细信息,例如名称、标识符、说明、运行时和位置。

  4. 点击要移除的服务器的名称。

  5. 在服务器的概览标签页上,点击 删除。

  6. 在确认对话框中,输入 DELETE 以确认操作。

  7. 点击删除。

gcloud

运行 gcloud agent-registry services delete 命令:

gcloud agent-registry services delete SERVER_NAME \
    --project=PROJECT_ID \
    --location=REGION

替换以下内容:

  • SERVER_NAME:要移除的 MCP 服务器的名称,例如 my-mcp-server。
  • PROJECT_ID:项目 ID。
  • REGION:注册表区域。

Terraform

从 Terraform 配置中移除代表 MCP 服务器的 google_agent_registry_service 资源,然后运行 terraform apply。

管理工具访问权限

为 MCP 服务器和工具实施企业级治理和安全措施。使用 Agent Registry 作为中央注册表,并使用 Agent Gateway 强制执行有效政策。

借助 Agent Gateway,您可以安全地管控智能体与工具之间的交互,无论这些智能体是在 Google Cloud 上运行,还是属于外部开发者工具。

如需详细了解如何管理工具访问权限,请参阅以下内容: