MCP Tools Reference: ces.googleapis.com

工具: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

string

必需。要列出工具集的应用的资源名称。

pageSize

integer

可选。请求的页面大小。 服务器返回的项可能要比请求的少。如果未指定,服务器将选择合适的默认值。

pageToken

string

可选。从上一次列表 AgentService.ListToolsets 调用返回的 next_page_token 值。

filter

string

可选。列出工具集时要应用的过滤条件。如需了解详情,请参阅 https://google.aip.dev/160

orderBy

string

可选。要排序的字段。仅支持“name”和“create_time”。如需了解详情,请参阅 https://google.aip.dev/132#ordering

输出架构

AgentService.ListToolsets 的响应消息。

ListToolsetsResponse

JSON 表示法
{
  "toolsets": [
    {
      object (Toolset)
    }
  ],
  "nextPageToken": string
}
字段
toolsets[]

object (Toolset)

工具集列表。

nextPageToken

string

可作为 ListToolsetsRequest.page_token 发送并用于检索下一页的令牌。如果缺少此字段,则表示没有后续页面。

工具集

JSON 表示法
{
  "name": string,
  "displayName": string,
  "description": string,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "executionType": enum (ExecutionType),
  "toolFakeConfig": {
    object (ToolFakeConfig)
  },

  // Union field toolset_type can be only one of the following:
  "mcpToolset": {
    object (McpToolset)
  },
  "openApiToolset": {
    object (OpenApiToolset)
  },
  "connectorToolset": {
    object (ConnectorToolset)
  }
  // End of list of possible types for union field toolset_type.
}
字段
name

string

标识符。工具集的唯一标识符。格式:projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

displayName

string

可选。工具集的显示名称。在同一应用中必须是唯一的。

description

string

可选。工具集的说明。

createTime

string (Timestamp format)

仅限输出。工具集创建时的时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

仅限输出。上次更新工具集时的时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

etag

string

用于确保对象在读取-修改-写入操作期间未发生更改的 ETag。如果 etag 为空,则更新会覆盖任何并发更改。

executionType

enum (ExecutionType)

可选。工具集中工具的执行类型。

toolFakeConfig

object (ToolFakeConfig)

可选。伪模式下工具行为的配置。

联合字段 toolset_type。工具集的类型。toolset_type 只能是下列其中一项:
mcpToolset

object (McpToolset)

可选。一种工具集,其中包含 MCP 服务器提供的一系列工具。

openApiToolset

object (OpenApiToolset)

可选。包含由 OpenAPI 架构定义的一系列工具的工具集。

connectorToolset

object (ConnectorToolset)

可选。一种可从 Integration Connectors 连接生成工具的工具集。

McpToolset

JSON 表示法
{
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "tlsConfig": {
    object (TlsConfig)
  }
}
字段
serverAddress

string

必需。MCP 服务器的地址,例如“https://example.com/mcp/”。如果服务器是使用 MCP SDK 构建的,则网址应以“/mcp/”为后缀。仅支持基于可流式传输的 HTTP 传输的服务器。如需了解详情,请参阅 https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http

apiAuthentication

object (ApiAuthentication)

可选。访问工具并针对 MCP 服务器执行工具所需的身份验证信息。对于不记名令牌身份验证,令牌仅适用于工具执行,而不适用于列出工具。这要求无需身份验证即可列出工具。

serviceDirectoryConfig

object (ServiceDirectoryConfig)

可选。VPC-SC 的 Service Directory 配置,用于解析边界内的服务名称。

tlsConfig

object (TlsConfig)

可选。TLS 配置。包含客户端应信任的自定义服务器证书。

ApiAuthentication

JSON 表示法
{

  // Union field auth_config can be only one of the following:
  "apiKeyConfig": {
    object (ApiKeyConfig)
  },
  "oauthConfig": {
    object (OAuthConfig)
  },
  "serviceAgentIdTokenAuthConfig": {
    object (ServiceAgentIdTokenAuthConfig)
  },
  "serviceAccountAuthConfig": {
    object (ServiceAccountAuthConfig)
  },
  "bearerTokenConfig": {
    object (BearerTokenConfig)
  }
  // End of list of possible types for union field auth_config.
}
字段
联合字段 auth_config。身份验证配置。auth_config 只能是下列其中一项:
apiKeyConfig

object (ApiKeyConfig)

可选。API 密钥身份验证的配置。

oauthConfig

object (OAuthConfig)

可选。OAuth 的配置。

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

可选。从 CES 服务代理生成的 ID 令牌身份验证配置。

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

可选。服务账号身份验证的配置。

bearerTokenConfig

object (BearerTokenConfig)

可选。不记名令牌身份验证的配置。

ApiKeyConfig

JSON 表示法
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
字段
keyName

string

必需。API 密钥的参数名称或标头名称。例如,如果 API 请求为“https://example.com/act?X-Api-Key=”,则“X-Api-Key”为参数名称。

apiKeySecretVersion

string

必需。存储 API 密钥的 SecretManager Secret 版本资源的名称。格式:projects/{project}/secrets/{secret}/versions/{version}

注意:您应向 CES 服务代理 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com 授予 roles/secretmanager.secretAccessor 角色。

requestLocation

enum (RequestLocation)

必需。请求中的密钥位置。

OAuthConfig

JSON 表示法
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
字段
oauthGrantType

enum (OauthGrantType)

必需。OAuth 授权类型。

clientId

string

必需。OAuth 提供方的客户端 ID。

clientSecretVersion

string

必需。存储客户端密钥的 SecretManager 密钥版本资源的名称。格式:projects/{project}/secrets/{secret}/versions/{version}

注意:您应向 CES 服务代理 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com 授予 roles/secretmanager.secretAccessor 角色。

tokenEndpoint

string

必需。OAuth 提供方中用于换取访问令牌的令牌端点。

scopes[]

string

可选。要授予的 OAuth 范围。

ServiceAccountAuthConfig

JSON 表示法
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
字段
serviceAccount

string

必需。用于身份验证的服务账号的电子邮件地址。CES 使用此服务账号来交换访问令牌,然后在请求的 Authorization 标头中发送该访问令牌。

服务账号必须拥有授予 CES 服务代理 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.comroles/iam.serviceAccountTokenCreator 角色。

scopes[]

string

可选。要授予的 OAuth 范围。如果未指定,则使用默认范围 https://www.googleapis.com/auth/cloud-platform

BearerTokenConfig

JSON 表示法
{
  "token": string
}
字段
token

string

必需。不记名令牌。必须采用 $context.variables.<name_of_variable> 格式。

ServiceDirectoryConfig

JSON 表示法
{
  "service": string
}
字段
service

string

必需。Service Directory 服务的名称。格式:projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}。服务目录的位置必须与应用的位置相同。

TlsConfig

JSON 表示法
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
字段
caCerts[]

object (CaCert)

必需。指定用于 HTTPS 验证的允许的自定义 CA 证书列表。

CaCert

JSON 表示法
{
  "displayName": string,
  "cert": string
}
字段
displayName

string

必需。允许使用的自定义 CA 证书的名称。这可用于消除自定义 CA 证书的歧义。

cert

string (bytes format)

必需。用于 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 (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
字段
openApiSchema

string

必需。工具集的 OpenAPI 架构。

apiAuthentication

object (ApiAuthentication)

可选。API 所需的身份验证信息。

tlsConfig

object (TlsConfig)

可选。TLS 配置。包含自定义服务器证书

serviceDirectoryConfig

object (ServiceDirectoryConfig)

可选。Service Directory 配置。

ignoreUnknownFields

boolean

可选。如果为 true,则对于 OpenAPI 架构中定义的所有操作,代理将忽略 API 响应中的未知字段。

url

string

可选。Open API 架构的服务器网址。如果架构包含服务器网址,则仅在导出过程中,在环境依赖项的工具集中设置此字段。在导入过程中,如果此网址存在于环境依赖项中,并且架构具有 $env_var 占位符,则该网址将替换架构中的占位符。

ConnectorToolset

JSON 表示法
{
  "connection": string,
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "connectorActions": [
    {
      object (Action)
    }
  ]
}
字段
connection

string

必需。所引用集成连接器连接的完整资源名称。格式:projects/{project}/locations/{location}/connections/{connection}

authConfig

object (EndUserAuthConfig)

可选。配置 Integration Connectors 中身份验证的处理方式。默认情况下,管理员身份验证会在 Integration Connectors API 请求中传递。您可以使用其他最终用户身份验证配置来替换它。注意:连接必须启用身份验证替换,才能在此处指定 EUC 配置;否则,工具集创建将失败。请参阅:https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override

connectorActions[]

object (Action)

必需。要为其生成工具的连接器操作/实体操作的列表。

EndUserAuthConfig

JSON 表示法
{

  // Union field auth_config can be only one of the following:
  "oauth2AuthCodeConfig": {
    object (Oauth2AuthCodeConfig)
  },
  "oauth2JwtBearerConfig": {
    object (Oauth2JwtBearerConfig)
  }
  // End of list of possible types for union field auth_config.
}
字段
联合字段 auth_config。身份验证配置。auth_config 只能是下列其中一项:
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

Oauth 2.0 授权代码身份验证。

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

JWT 配置文件 OAuth 2.0 授权许可身份验证。

Oauth2AuthCodeConfig

JSON 表示法
{
  "oauthToken": string
}
字段
oauthToken

string

必需。要传递的 OAuth 令牌形参名称。必须采用 $context.variables.<name_of_variable> 格式。

Oauth2JwtBearerConfig

JSON 表示法
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
字段
issuer

string

必需。要传递的提供方形参名称。必须采用 $context.variables.<name_of_variable> 格式。

subject

string

必需。要传递的主题形参名称。必须采用 $context.variables.<name_of_variable> 格式。

clientKey

string

必需。要传递的客户端参数名称。必须采用 $context.variables.<name_of_variable> 格式。

操作

JSON 表示法
{
  "inputFields": [
    string
  ],
  "outputFields": [
    string
  ],

  // Union field action_spec can be only one of the following:
  "connectionActionId": string,
  "entityOperation": {
    object (EntityOperation)
  }
  // End of list of possible types for union field action_spec.
}
字段
inputFields[]

string

可选。要用作操作输入的实体字段。如果未指定任何字段,则将使用实体的所有字段。

outputFields[]

string

可选。要从操作中返回的实体字段。如果未指定任何字段,则返回实体的所有字段。

联合字段 action_spec。要配置供工具使用的操作的规范。action_spec 只能是下列其中一项:
connectionActionId

string

供工具使用的连接操作的 ID。

entityOperation

object (EntityOperation)

供工具使用的实体操作配置。

EntityOperation

JSON 表示法
{
  "entityId": string,
  "operation": enum (OperationType)
}
字段
entityId

string

必需。实体的 ID。

operation

enum (OperationType)

必需。要对实体执行的操作。

时间戳

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
字段
seconds

string (int64 format)

表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值),对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z。

nanos

integer

秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代项。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。

ToolFakeConfig

JSON 表示法
{
  "enableFakeMode": boolean,

  // Union field tool_response can be only one of the following:
  "codeBlock": {
    object (CodeBlock)
  }
  // End of list of possible types for union field tool_response.
}
字段
enableFakeMode

boolean

可选。工具是否处于模拟模式。

联合字段 tool_response。响应可以是静态的,也可以由 Python 函数提供。tool_response 只能是下列其中一项:
codeBlock

object (CodeBlock)

可选。将执行的代码块,而不是实际的工具调用。

CodeBlock

JSON 表示法
{
  "pythonCode": string
}
字段
pythonCode

string

必需。将在工具伪造模式下调用的 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,则会改为调用实际工具。

工具注释

破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌