您可以在 Google Cloud 控制台、Google Cloud CLI 或 Agent Registry API 中,透過關鍵字、前置字元或自然語言,搜尋已註冊的代理、Agent2Agent (A2A) 技能、獨立技能和 Model Context Protocol (MCP) 伺服器。關鍵字和前置字元搜尋功能可協助您依名稱、ID 或中繼資料快速找到資源。語意搜尋會根據意圖,在自然語言指令和說明中,找出概念相關的功能。
搜尋查詢會評估代理、MCP 伺服器和技能功能說明、工具結構定義和技能指令。您無法使用搜尋查詢來探索端點。如要瞭解如何依中繼資料列出及篩選端點,請參閱「探索端點並依中繼資料篩選元件」。
事前準備
- 設定 Agent Registry。
如果是單一專案設定,請取得已啟用 Agent Registry 的管理專案ID。如果您為多個專案設定了管理邊界,請使用管理專案的 ID 進行邊界範圍的探索和註冊,或指定成員專案 ID 進行單一專案作業。
如要使用本文件中的 Google Cloud CLI 指令,請設定 gcloud CLI 環境。
必要的角色
如要取得在 Agent Registry 搜尋代理、工具和技能所需的權限,請要求管理員在已啟用 Agent Registry 的管理專案,授予您 Agent Registry API 檢視者 (roles/agentregistry.viewer) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
搜尋代理和工具
如要探索登錄檔中的功能,您可以在 Google Cloud 控制台、gcloud CLI 或 REST API 中搜尋已註冊的代理和 MCP 伺服器。
搜尋代理或 MCP 伺服器時,您可以依顯示名稱、說明或功能關鍵字查詢:
- 代理:搜尋查詢會檢查代理的顯示名稱、說明、代理 ID,以及代理資訊卡中宣告的內嵌 A2A 技能名稱、說明和標記,找出相符項目。
- MCP 伺服器:搜尋查詢會檢查伺服器的顯示名稱、說明、MCP 伺服器 ID,以及工具的名稱和說明,找出相符項目。
按關鍵字搜尋
您可以執行關鍵字搜尋,找出功能中含有特定字詞的資源,例如代理的 A2A 技能或 MCP 伺服器的工具。如要瞭解這些功能在登錄檔中的結構,請參閱 JSON 結構定義。如需可搜尋欄位的完整清單,請參閱 API 參考資料。
關鍵字查詢接受自由文字字串,並支援邏輯運算子 AND、OR 和 NOT:
控制台
前往 Google Cloud 控制台的「Agent Registry」:
在專案挑選器中,選取 Google Cloud 專案。
在頁面頂端的「Search your registry」(搜尋登錄檔) 列中,輸入至少三個字元的關鍵字查詢 (例如
flight或database),或欄位篩選器 (例如Name:booking),然後按下Enter。「搜尋結果」表格會顯示所選位置中相符的代理、MCP 伺服器和獨立技能。
gcloud
在 gcloud agent-registry agents search 或 gcloud agent-registry mcp-servers search 指令中提供 --search-string 旗標。
舉例來說,搜尋可處理航班預訂的代理:
gcloud agent-registry agents search \
--project=PROJECT_ID \
--location=REGION \
--search-string="flight OR booking"
搜尋提供資料庫工具的 MCP 伺服器:
gcloud agent-registry mcp-servers search \
--project=PROJECT_ID \
--location=REGION \
--search-string="database"
更改下列內容:
PROJECT_ID:專案 ID。REGION:登錄檔區域或global。
REST
向 agents:search 或 mcpServers:search 端點傳送 POST 要求,並在要求主體中加入 searchString 欄位。
舉例來說,搜尋可處理航班預訂的代理:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"searchString": "flight OR booking"}' \
"https://agentregistry.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/agents:search"
搜尋提供資料庫工具的 MCP 伺服器:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"searchString": "database"}' \
"https://agentregistry.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/mcpServers:search"
更改下列內容:
PROJECT_ID:專案 ID。REGION:登錄檔區域或global。
依前置字串搜尋
前置字元搜尋功能經過最佳化,可降低延遲時間,讓應用程式在使用者輸入內容時,動態擷取相關的代理和工具。
如果您正在建構自動化調度管理介面或自動完成功能,可以在代理程式註冊資料庫中執行前置字串搜尋,找出以指定字串開頭的結果。前置字元搜尋會使用 * 後置字元萬用字元符號,搜尋字詞的開頭:
gcloud
執行 gcloud agent-registry agents search 或 gcloud agent-registry mcp-servers search 指令,並加上前置字元運算式。
例如,搜尋顯示名稱開頭為 Best_A2A_* 的代理:
gcloud agent-registry agents search \
--project=PROJECT_ID \
--location=REGION \
--search-string="displayName:Best_A2A_*"
同樣地,搜尋顯示名稱開頭為 Prod_Server_* 的 MCP 伺服器:
gcloud agent-registry mcp-servers search \
--project=PROJECT_ID \
--location=REGION \
--search-string="displayName:Prod_Server_*"
更改下列內容:
PROJECT_ID:專案 ID。REGION:登錄檔區域或global。
REST
在要求主體的 searchString 欄位中傳遞前置字元運算式:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"searchString": "displayName:Best_A2A_*"}' \
"https://agentregistry.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/agents:search"
更改下列內容:
PROJECT_ID:專案 ID。REGION:登錄檔區域或global。
跨管理邊界搜尋
如果您設定了管理邊界,可以從管理專案,在該邊界內所有成員專案的某個位置搜尋代理和 MCP 伺服器:
gcloud agent-registry agents search \
--project=MANAGEMENT_PROJECT_ID \
--location=LOCATION \
--search-string="analytics"
更改下列內容:
MANAGEMENT_PROJECT_ID:管理專案的 ID。LOCATION:要搜尋管理邊界的位置,例如us-central1等區域、us或eu等多區域,或global。Agent Registry 會匯總管理專案和邊界內所有成員專案中,相同位置的資源。
如要將管理專案的結果範圍縮小至特定成員專案,請傳遞設為 "project_id=MEMBER_PROJECT_ID" 的 --filter 旗標。如要只在單一成員專案中搜尋,不進行跨專案匯總,請改為在 --project 旗標中指定該成員專案的 ID。
從管理專案搜尋時:
- 匯總自動探索到的資源:Agent Registry 會在管理邊界內的所有成員專案中,搜尋指定位置自動探索到的代理和 MCP 伺服器,以及在管理專案中該位置建立的任何已註冊
Service資源。 - 要求範圍資源名稱:在搜尋結果中,每個傳回的
Agent或McpServer資源name欄位都會保留元件的 ID,並使用要求網址中指定的專案。 - 專案範圍註冊資源:在成員專案中手動註冊的
Service資源和建立的Binding資源,仍會限定在該成員專案範圍內,不會顯示在管理專案搜尋結果中。如要讓這些資源在管理邊界內顯示,請在管理專案中建立。
搜尋獨立技能
您可以搜尋在 Agent Registry 註冊的獨立技能。這項功能可讓您探索可重複使用的功能,並附加至代理。
搜尋技能時,系統會搜尋預設的技能修訂版本。如要更新技能的預設修訂版本,請參閱「更新技能中繼資料或預設修訂版本」。
搜尋模式
您可以根據需求,使用兩種技能搜尋模式:
- 關鍵字搜尋:僅掃描基本中繼資料屬性,例如顯示名稱、說明、資源名稱和技能 ID。這個模式經過最佳化,適用於低延遲搜尋、精確查詢和名稱自動完成。如需範例,請參閱「依關鍵字或運算式搜尋技能」。
- 語意搜尋:自動為
SKILL.md酬載的完整內容建立索引,包括自然語言指令、指令碼和中繼資料資產。這個模式會找出概念主題,並經過最佳化調整,可讓協調器代理根據您的意圖,動態探索相關功能套件。如需範例,請參閱「依語意搜尋技能」。
搜尋欄位和語法
依中繼資料或關鍵字字串搜尋時,系統會為下列欄位建立索引:
| 欄位名稱 | 案件行為 | 前置字串搜尋 | 搜尋所有欄位 | 說明 |
|---|---|---|---|---|
displayName |
不區分大小寫 | 是 | 是 | 技能的顯示名稱。在這個欄位搜尋常見名稱。 |
description |
不區分大小寫 | 否 | 是 | 詳細說明技能的用途和功能。在這個欄位輸入要搜尋的關鍵字。 |
name |
不區分大小寫 | 是 | 是 | 技能的資源名稱。在這個欄位依資源名稱搜尋。 |
skillId |
不區分大小寫 | 是 | 是 | 技能的技能 ID。使用這個欄位尋找特定發布商的資產。
舉例來說,Google 代管技能的格式為 urn:skill:PUBLISHER_ID:NAMESPACE:SKILL_ID。 |
publisher |
不區分大小寫 | 是 | 否 | 與技能相關聯的發布者。使用這個欄位,依發布機構篩選。 |
frontmatter.name |
不區分大小寫 | 否 | 否 | SKILL.md 檔案前置資料中定義的技能名稱。 |
frontmatter.description |
不區分大小寫 | 否 | 否 | SKILL.md 檔案前置資料中定義的技能說明。 |
frontmatter.compatibility |
不區分大小寫 | 否 | 否 | SKILL.md 檔案前置資料中定義的技能相容性。 |
frontmatter.license |
不區分大小寫 | 否 | 否 | SKILL.md 檔案前置資料中定義的技能授權。 |
createTime |
不適用 | 否 | 否 | 技能的建立時間戳記。這個欄位僅適用於篩選器。支援範圍運算子 (例如 <、>) 和完全比對。 |
updateTime |
不適用 | 否 | 否 | 技能上次更新的時間戳記。這個欄位僅適用於篩選器。支援範圍運算子 (例如 <、>) 和完全比對。 |
如要搜尋技能,請在 gcloud CLI 中使用 --query 旗標,或在 REST API 中使用 searchString 參數,提供查詢字串。您可以在搜尋要求中使用下列語法元素:
- 布林運算子:加入
AND、OR或NOT運算子,鏈結多項條件。 - 欄位專屬篩選器:使用
:運算子指定欄位,例如displayName:database。 - 前置字串搜尋:使用
*後置字串萬用字元符號,尋找以特定前置字串開頭的值,例如displayName:cloud-*。
依關鍵字或運算式搜尋技能
搜尋具有特定顯示名稱前置字元和說明關鍵字的技能:
gcloud
執行 gcloud alpha agent-registry skills search 指令並加上 --search-type=keyword:
gcloud alpha agent-registry skills search \
--project=PROJECT_ID \
--location=REGION \
--query="displayName:cloud-* AND description:database" \
--search-type=keyword
更改下列內容:
PROJECT_ID:專案 ID。REGION:登錄檔區域或global。
REST
使用 searchString 和 searchType=KEYWORD,向 skills:search 端點傳送 GET 要求:
curl -G -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
--data-urlencode "searchString=displayName:cloud-* AND description:database" \
--data-urlencode "searchType=KEYWORD" \
"https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/REGION/skills:search"
更改下列內容:
PROJECT_ID:專案 ID。REGION:登錄檔區域或global。
依語意搜尋技能
使用語意搜尋,找出與管理關聯式資料庫相關的技能:
gcloud
執行 gcloud alpha agent-registry skills search 指令並加上 --search-type=semantic:
gcloud alpha agent-registry skills search \
--project=PROJECT_ID \
--location=REGION \
--query="manage and configure relational databases" \
--search-type=semantic
更改下列內容:
PROJECT_ID:專案 ID。REGION:登錄檔區域或global。
REST
使用 searchString 和 searchType=SEMANTIC,向 skills:search 端點傳送 GET 要求:
curl -G -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
--data-urlencode "searchString=manage and configure relational databases" \
--data-urlencode "searchType=SEMANTIC" \
"https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/REGION/skills:search"
更改下列內容:
PROJECT_ID:專案 ID。REGION:登錄檔區域或global。
Google 代管技能
任何專案都能找到 Google 代管技能。如要查看可用的 Google 代管技能清單,請前往 GitHub 的 google/skills 存放區。
探索端點並依中繼資料篩選元件
您也可以在代理程式登錄檔中探索任何元件,包括已註冊的端點,方法是列出其集合並篩選結構化中繼資料欄位:
- 探索端點:由於
Endpoint資源不支援:search查詢,因此您必須在Google Cloud 控制台瀏覽「Endpoints」(端點) 分頁、執行gcloud agent-registry endpoints list --filter,或呼叫endpoints.listREST 方法,才能探索端點。如需完整操作說明,請參閱「管理及探索端點」。 - 篩選代理、MCP 伺服器和技能:如果您知道元件的登錄檔 ID (URN)、顯示名稱或屬性,可以在Google Cloud 控制台篩選集合,或將
--filter傳遞至gcloud agent-registry agents list、gcloud agent-registry mcp-servers list或gcloud alpha agent-registry skills list。詳情請參閱「管理代理」、「管理 MCP 伺服器和工具」和「管理技能」。