工具:list_toolsets
列出指定应用中的工具集。
以下示例演示了如何使用 curl 调用 list_toolsets MCP 工具。
| Curl 请求 |
|---|
curl --location 'https://ces.[REGION].rep.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "list_toolsets", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
输入架构
AgentService.ListToolsets 的请求消息。
ListToolsetsRequest
| JSON 表示法 |
|---|
{ "parent": string, "pageSize": integer, "pageToken": string, "filter": string, "orderBy": string } |
| 字段 | |
|---|---|
parent |
必需。要列出工具集的应用的资源名称。 |
pageSize |
可选。请求的页面大小。 服务器返回的项可能要比请求的少。如果未指定,服务器将选择合适的默认值。 |
pageToken |
可选。从上一次列表 |
filter |
可选。列出工具集时要应用的过滤条件。如需了解详情,请参阅 https://google.aip.dev/160。 |
orderBy |
可选。要排序的字段。仅支持“name”和“create_time”。如需了解详情,请参阅 https://google.aip.dev/132#ordering。 |
输出架构
AgentService.ListToolsets 的响应消息。
ListToolsetsResponse
| JSON 表示法 |
|---|
{
"toolsets": [
{
object ( |
| 字段 | |
|---|---|
toolsets[] |
工具集列表。 |
nextPageToken |
可作为 |
工具集
| JSON 表示法 |
|---|
{ "name": string, "displayName": string, "description": string, "createTime": string, "updateTime": string, "etag": string, "executionType": enum ( |
| 字段 | |
|---|---|
name |
标识符。工具集的唯一标识符。格式: |
displayName |
可选。工具集的显示名称。在同一应用中必须是唯一的。 |
description |
可选。工具集的说明。 |
createTime |
仅限输出。工具集创建时的时间戳。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
updateTime |
仅限输出。上次更新工具集时的时间戳。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
etag |
用于确保对象在读取-修改-写入操作期间未发生更改的 ETag。如果 etag 为空,则更新会覆盖任何并发更改。 |
executionType |
可选。工具集中工具的执行类型。 |
toolFakeConfig |
可选。伪模式下工具行为的配置。 |
联合字段 toolset_type。工具集的类型。toolset_type 只能是下列其中一项: |
|
mcpToolset |
可选。一种工具集,其中包含 MCP 服务器提供的一系列工具。 |
openApiToolset |
可选。包含由 OpenAPI 架构定义的一系列工具的工具集。 |
connectorToolset |
可选。一种可从 Integration Connectors 连接生成工具的工具集。 |
McpToolset
| JSON 表示法 |
|---|
{ "serverAddress": string, "apiAuthentication": { object ( |
| 字段 | |
|---|---|
serverAddress |
必需。MCP 服务器的地址,例如“https://example.com/mcp/”。如果服务器是使用 MCP SDK 构建的,则网址应以“/mcp/”为后缀。仅支持基于可流式传输的 HTTP 传输的服务器。如需了解详情,请参阅 https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http。 |
apiAuthentication |
可选。访问工具并针对 MCP 服务器执行工具所需的身份验证信息。对于不记名令牌身份验证,令牌仅适用于工具执行,而不适用于列出工具。这要求无需身份验证即可列出工具。 |
serviceDirectoryConfig |
可选。VPC-SC 的 Service Directory 配置,用于解析边界内的服务名称。 |
tlsConfig |
可选。TLS 配置。包含客户端应信任的自定义服务器证书。 |
ApiAuthentication
| JSON 表示法 |
|---|
{ // Union field |
| 字段 | |
|---|---|
联合字段 auth_config。身份验证配置。auth_config 只能是下列其中一项: |
|
apiKeyConfig |
可选。API 密钥身份验证的配置。 |
oauthConfig |
可选。OAuth 的配置。 |
serviceAgentIdTokenAuthConfig |
可选。从 CES 服务代理生成的 ID 令牌身份验证配置。 |
serviceAccountAuthConfig |
可选。服务账号身份验证的配置。 |
bearerTokenConfig |
可选。不记名令牌身份验证的配置。 |
ApiKeyConfig
| JSON 表示法 |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| 字段 | |
|---|---|
keyName |
必需。API 密钥的参数名称或标头名称。例如,如果 API 请求为“https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
必需。存储 API 密钥的 SecretManager Secret 版本资源的名称。格式: 注意:您应向 CES 服务代理 |
requestLocation |
必需。请求中的密钥位置。 |
OAuthConfig
| JSON 表示法 |
|---|
{
"oauthGrantType": enum ( |
| 字段 | |
|---|---|
oauthGrantType |
必需。OAuth 授权类型。 |
clientId |
必需。OAuth 提供方的客户端 ID。 |
clientSecretVersion |
必需。存储客户端密钥的 SecretManager 密钥版本资源的名称。格式: 注意:您应向 CES 服务代理 |
tokenEndpoint |
必需。OAuth 提供方中用于换取访问令牌的令牌端点。 |
scopes[] |
可选。要授予的 OAuth 范围。 |
ServiceAccountAuthConfig
| JSON 表示法 |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| 字段 | |
|---|---|
serviceAccount |
必需。用于身份验证的服务账号的电子邮件地址。CES 使用此服务账号来交换访问令牌,然后在请求的 服务账号必须拥有授予 CES 服务代理 |
scopes[] |
可选。要授予的 OAuth 范围。如果未指定,则使用默认范围 |
BearerTokenConfig
| JSON 表示法 |
|---|
{ "token": string } |
| 字段 | |
|---|---|
token |
必需。不记名令牌。必须采用 |
ServiceDirectoryConfig
| JSON 表示法 |
|---|
{ "service": string } |
| 字段 | |
|---|---|
service |
必需。Service Directory 服务的名称。格式: |
TlsConfig
| JSON 表示法 |
|---|
{
"caCerts": [
{
object ( |
| 字段 | |
|---|---|
caCerts[] |
必需。指定用于 HTTPS 验证的允许的自定义 CA 证书列表。 |
CaCert
| JSON 表示法 |
|---|
{ "displayName": string, "cert": string } |
| 字段 | |
|---|---|
displayName |
必需。允许使用的自定义 CA 证书的名称。这可用于消除自定义 CA 证书的歧义。 |
cert |
必需。用于 HTTPS 验证的允许的自定义 CA 证书(采用 DER 格式)。此设置会替换默认的 SSL 信任库。如果此字段为空或未指定,CES 将使用 Google 的默认信任库来验证证书。注意:请确保 HTTPS 服务器证书使用“subject alt name”进行签名。例如,可以使用以下命令自签名证书:openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") 使用 base64 编码的字符串。 |
OpenApiToolset
| JSON 表示法 |
|---|
{ "openApiSchema": string, "apiAuthentication": { object ( |
| 字段 | |
|---|---|
openApiSchema |
必需。工具集的 OpenAPI 架构。 |
apiAuthentication |
可选。API 所需的身份验证信息。 |
tlsConfig |
可选。TLS 配置。包含自定义服务器证书 |
serviceDirectoryConfig |
可选。Service Directory 配置。 |
ignoreUnknownFields |
可选。如果为 true,则对于 OpenAPI 架构中定义的所有操作,代理将忽略 API 响应中的未知字段。 |
url |
可选。Open API 架构的服务器网址。如果架构包含服务器网址,则仅在导出过程中,在环境依赖项的工具集中设置此字段。在导入过程中,如果此网址存在于环境依赖项中,并且架构具有 $env_var 占位符,则该网址将替换架构中的占位符。 |
ConnectorToolset
| JSON 表示法 |
|---|
{ "connection": string, "authConfig": { object ( |
| 字段 | |
|---|---|
connection |
必需。所引用集成连接器连接的完整资源名称。格式: |
authConfig |
可选。配置 Integration Connectors 中身份验证的处理方式。默认情况下,管理员身份验证会在 Integration Connectors API 请求中传递。您可以使用其他最终用户身份验证配置来替换它。注意:连接必须启用身份验证替换,才能在此处指定 EUC 配置;否则,工具集创建将失败。请参阅:https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override |
connectorActions[] |
必需。要为其生成工具的连接器操作/实体操作的列表。 |
EndUserAuthConfig
| JSON 表示法 |
|---|
{ // Union field |
| 字段 | |
|---|---|
联合字段 auth_config。身份验证配置。auth_config 只能是下列其中一项: |
|
oauth2AuthCodeConfig |
Oauth 2.0 授权代码身份验证。 |
oauth2JwtBearerConfig |
JWT 配置文件 OAuth 2.0 授权许可身份验证。 |
Oauth2AuthCodeConfig
| JSON 表示法 |
|---|
{ "oauthToken": string } |
| 字段 | |
|---|---|
oauthToken |
必需。要传递的 OAuth 令牌形参名称。必须采用 |
Oauth2JwtBearerConfig
| JSON 表示法 |
|---|
{ "issuer": string, "subject": string, "clientKey": string } |
| 字段 | |
|---|---|
issuer |
必需。要传递的提供方形参名称。必须采用 |
subject |
必需。要传递的主题形参名称。必须采用 |
clientKey |
必需。要传递的客户端参数名称。必须采用 |
操作
| JSON 表示法 |
|---|
{ "inputFields": [ string ], "outputFields": [ string ], // Union field |
| 字段 | |
|---|---|
inputFields[] |
可选。要用作操作输入的实体字段。如果未指定任何字段,则将使用实体的所有字段。 |
outputFields[] |
可选。要从操作中返回的实体字段。如果未指定任何字段,则返回实体的所有字段。 |
联合字段 action_spec。要配置供工具使用的操作的规范。action_spec 只能是下列其中一项: |
|
connectionActionId |
供工具使用的连接操作的 ID。 |
entityOperation |
供工具使用的实体操作配置。 |
EntityOperation
| JSON 表示法 |
|---|
{
"entityId": string,
"operation": enum ( |
| 字段 | |
|---|---|
entityId |
必需。实体的 ID。 |
operation |
必需。要对实体执行的操作。 |
时间戳
| JSON 表示法 |
|---|
{ "seconds": string, "nanos": integer } |
| 字段 | |
|---|---|
seconds |
表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值),对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z。 |
nanos |
秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代项。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。 |
ToolFakeConfig
| JSON 表示法 |
|---|
{ "enableFakeMode": boolean, // Union field |
| 字段 | |
|---|---|
enableFakeMode |
可选。工具是否处于模拟模式。 |
联合字段 tool_response。响应可以是静态的,也可以由 Python 函数提供。tool_response 只能是下列其中一项: |
|
codeBlock |
可选。将执行的代码块,而不是实际的工具调用。 |
CodeBlock
| JSON 表示法 |
|---|
{ "pythonCode": string } |
| 字段 | |
|---|---|
pythonCode |
必需。将在工具伪造模式下调用的 Python 代码。预期 Python 函数签名 - 捕获所有工具调用:def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]] 捕获特定工具调用:def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]] 如果函数返回 None,则会改为调用实际工具。 |
工具注释
破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌