MCP Tools Reference: ces.googleapis.com

Herramienta: list_toolsets

Enumera los conjuntos de herramientas de la app especificada.

En el siguiente ejemplo, se muestra cómo usar curl para invocar la herramienta de MCP list_toolsets.

Solicitud de 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
}'
                

Esquema de entrada

Mensaje de solicitud para AgentService.ListToolsets.

ListToolsetsRequest

Representación JSON
{
  "parent": string,
  "pageSize": integer,
  "pageToken": string,
  "filter": string,
  "orderBy": string
}
Campos
parent

string

Obligatorio. Es el nombre del recurso de la app desde la que se enumerarán los conjuntos de herramientas.

pageSize

integer

Es opcional. Indica el tamaño de la página solicitada. Es posible que el servidor devuelva menos elementos de los que se solicitaron. Si no se especifica, el servidor elegirá un valor predeterminado adecuado.

pageToken

string

Es opcional. El valor de next_page_token que se muestra de una llamada AgentService.ListToolsets de lista anterior.

filter

string

Es opcional. Es el filtro que se aplicará cuando se muestren los conjuntos de herramientas. Para obtener más información, consulta https://google.aip.dev/160.

orderBy

string

Es opcional. Campo por el que se ordenará. Solo se admiten "name" y "create_time". Consulta https://google.aip.dev/132#ordering para obtener más detalles.

Esquema de salida

Mensaje de respuesta para AgentService.ListToolsets.

ListToolsetsResponse

Representación JSON
{
  "toolsets": [
    {
      object (Toolset)
    }
  ],
  "nextPageToken": string
}
Campos
toolsets[]

object (Toolset)

Es la lista de conjuntos de herramientas.

nextPageToken

string

Es un token que se puede enviar como ListToolsetsRequest.page_token para recuperar la página siguiente. La ausencia de este campo indica que no hay páginas posteriores.

Conjunto de herramientas

Representación 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.
}
Campos
name

string

Es el identificador. Es el identificador único del conjunto de herramientas. Formato: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

displayName

string

Es opcional. Es el nombre visible del conjunto de herramientas. Debe ser único dentro de la misma app.

description

string

Es opcional. Es la descripción del conjunto de herramientas.

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de cuando se creó el conjunto de herramientas.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de la última actualización del conjunto de herramientas.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

etag

string

ETag que se usa para garantizar que el objeto no haya cambiado durante una operación de lectura, modificación y escritura. Si el ETag está vacío, la actualización reemplazará cualquier cambio simultáneo.

executionType

enum (ExecutionType)

Es opcional. Es el tipo de ejecución de las herramientas en el conjunto de herramientas.

toolFakeConfig

object (ToolFakeConfig)

Es opcional. Es la configuración del comportamiento de las herramientas en el modo simulado.

Campo de unión toolset_type. Es el tipo de conjunto de herramientas. toolset_type puede ser solo uno de los parámetros siguientes:
mcpToolset

object (McpToolset)

Es opcional. Es un conjunto de herramientas que contiene una lista de las herramientas que ofrece el servidor de MCP.

openApiToolset

object (OpenApiToolset)

Es opcional. Es un conjunto de herramientas que contiene una lista de herramientas definidas por un esquema de OpenAPI.

connectorToolset

object (ConnectorToolset)

Es opcional. Es un conjunto de herramientas que genera herramientas a partir de una conexión de Integration Connectors.

McpToolset

Representación JSON
{
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "tlsConfig": {
    object (TlsConfig)
  }
}
Campos
serverAddress

string

Obligatorio. Es la dirección del servidor de MCP, por ejemplo, "https://example.com/mcp/". Si el servidor se compila con el SDK de MCP, la URL debe tener el sufijo "/mcp/". Solo se admiten servidores basados en el transporte HTTP que se puede transmitir. Consulta https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http para obtener más detalles.

apiAuthentication

object (ApiAuthentication)

Es opcional. Es la información de autenticación necesaria para acceder a las herramientas y ejecutar una herramienta en el servidor de MCP. En el caso de la autenticación con token de portador, el token solo se aplica a la ejecución de la herramienta, no a las herramientas de creación de fichas. Esto requiere que las herramientas se puedan enumerar sin autenticación.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Es opcional. Es la configuración de Directorio de servicios para VPC-SC, que se usa para resolver nombres de servicios dentro de un perímetro.

tlsConfig

object (TlsConfig)

Es opcional. Es la configuración de TLS. Incluye los certificados de servidor personalizados en los que el cliente debe confiar.

ApiAuthentication

Representación 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.
}
Campos
Campo de unión auth_config. Es la configuración de autenticación. auth_config puede ser solo uno de los parámetros siguientes:
apiKeyConfig

object (ApiKeyConfig)

Es opcional. Es la configuración para la autenticación con clave de API.

oauthConfig

object (OAuthConfig)

Es opcional. Es la configuración de OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Es opcional. Es la configuración para la autenticación con token de ID que se genera a partir del agente de servicio de CES.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

Es opcional. Es la configuración para la autenticación de la cuenta de servicio.

bearerTokenConfig

object (BearerTokenConfig)

Es opcional. Es la configuración para la autenticación de token de portador.

ApiKeyConfig

Representación JSON
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
Campos
keyName

string

Obligatorio. Es el nombre del parámetro o del encabezado de la clave de API. P. ej., Si la solicitud a la API es "https://example.com/act?X-Api-Key=", "X-Api-Key" sería el nombre del parámetro.

apiKeySecretVersion

string

Obligatorio. Es el nombre del recurso de la versión secreta de Secret Manager que almacena la clave de API. Formato: projects/{project}/secrets/{secret}/versions/{version}

Nota: Debes otorgar el rol roles/secretmanager.secretAccessor al agente de servicio de CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

requestLocation

enum (RequestLocation)

Obligatorio. Ubicación de la clave en la solicitud.

OAuthConfig

Representación JSON
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
Campos
oauthGrantType

enum (OauthGrantType)

Obligatorio. Son los tipos de otorgamiento de OAuth.

clientId

string

Obligatorio. Es el ID de cliente del proveedor de OAuth.

clientSecretVersion

string

Obligatorio. Nombre del recurso de la versión secreta de Secret Manager que almacena el secreto del cliente. Formato: projects/{project}/secrets/{secret}/versions/{version}

Nota: Debes otorgar el rol roles/secretmanager.secretAccessor al agente de servicio de CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

tokenEndpoint

string

Obligatorio. Es el extremo del token en el proveedor de OAuth que se intercambiará por un token de acceso.

scopes[]

string

Es opcional. Son los permisos de OAuth que se otorgarán.

ServiceAccountAuthConfig

Representación JSON
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
Campos
serviceAccount

string

Obligatorio. Es la dirección de correo electrónico de la cuenta de servicio que se usa para la autenticación. CES usa esta cuenta de servicio para intercambiar un token de acceso, que luego se envía en el encabezado Authorization de la solicitud.

La cuenta de servicio debe tener el rol roles/iam.serviceAccountTokenCreator otorgado al agente de servicio de CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

scopes[]

string

Es opcional. Son los permisos de OAuth que se otorgarán. Si no se especifica, se usa el alcance predeterminado https://www.googleapis.com/auth/cloud-platform.

BearerTokenConfig

Representación JSON
{
  "token": string
}
Campos
token

string

Obligatorio. Es el token del portador. Debe tener el formato $context.variables.<name_of_variable>.

ServiceDirectoryConfig

Representación JSON
{
  "service": string
}
Campos
service

string

Obligatorio. Es el nombre del servicio de Service Directory. Formato: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. La ubicación del directorio de servicios debe ser la misma que la de la app.

TlsConfig

Representación JSON
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
Campos
caCerts[]

object (CaCert)

Obligatorio. Especifica una lista de certificados de CA personalizados permitidos para la verificación de HTTPS.

CaCert

Representación JSON
{
  "displayName": string,
  "cert": string
}
Campos
displayName

string

Obligatorio. Nombre de los certificados de CA personalizados permitidos. Se puede usar para desambiguar los certificados de CA personalizados.

cert

string (bytes format)

Obligatorio. Son los certificados de AC personalizados permitidos (en formato DER) para la verificación de HTTPS. Esto anula el almacén de confianza de SSL predeterminado. Si este campo está vacío o no se especifica, CES usará el almacén de confianza predeterminado de Google para verificar los certificados. Nota: Asegúrate de que los certificados del servidor HTTPS estén firmados con "subject alt name". Por ejemplo, un certificado se puede autofirmar con el siguiente comando: openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")

Es una cadena codificada en Base64.

OpenApiToolset

Representación JSON
{
  "openApiSchema": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
Campos
openApiSchema

string

Obligatorio. Es el esquema de OpenAPI del conjunto de herramientas.

apiAuthentication

object (ApiAuthentication)

Es opcional. Es la información de autenticación que requiere la API.

tlsConfig

object (TlsConfig)

Es opcional. Es la configuración de TLS. Incluye los certificados de servidor personalizados

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Es opcional. Es la configuración del Directorio de servicios.

ignoreUnknownFields

boolean

Es opcional. Si es verdadero, el agente ignorará los campos desconocidos en la respuesta de la API para todas las operaciones definidas en el esquema de OpenAPI.

url

string

Es opcional. Es la URL del servidor del esquema de la API abierta. Este campo solo se establece en los conjuntos de herramientas de las dependencias del entorno durante el proceso de exportación si el esquema contiene una URL del servidor. Durante el proceso de importación, si esta URL está presente en las dependencias del entorno y el esquema tiene el marcador de posición $env_var, se reemplazará el marcador de posición en el esquema.

ConnectorToolset

Representación JSON
{
  "connection": string,
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "connectorActions": [
    {
      object (Action)
    }
  ]
}
Campos
connection

string

Obligatorio. Es el nombre completo del recurso de la conexión de Integration Connectors a la que se hace referencia. Formato: projects/{project}/locations/{location}/connections/{connection}

authConfig

object (EndUserAuthConfig)

Es opcional. Configura cómo se controla la autenticación en Integration Connectors. De forma predeterminada, se pasa una autenticación de administrador en las solicitudes de la API de Integration Connectors. Puedes anularla con otra configuración de autenticación del usuario final. Nota: La conexión debe tener habilitada la anulación de autenticación para especificar una configuración de EUC aquí. De lo contrario, fallará la creación del conjunto de herramientas. Consulta: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override

connectorActions[]

object (Action)

Obligatorio. Es la lista de acciones del conector o de operaciones de entidades para las que se generarán herramientas.

EndUserAuthConfig

Representación 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.
}
Campos
Campo de unión auth_config. Es la configuración de autenticación. auth_config puede ser solo uno de los parámetros siguientes:
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

Autenticación con código de autorización de OAuth 2.0

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

Perfil de JWT de autenticación de otorgamiento de autorización de OAuth 2.0.

Oauth2AuthCodeConfig

Representación JSON
{
  "oauthToken": string
}
Campos
oauthToken

string

Obligatorio. Es el nombre del parámetro del token de OAuth que se pasará. Debe tener el formato $context.variables.<name_of_variable>.

Oauth2JwtBearerConfig

Representación JSON
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
Campos
issuer

string

Obligatorio. Es el nombre del parámetro del emisor que se pasará. Debe tener el formato $context.variables.<name_of_variable>.

subject

string

Obligatorio. Es el nombre del parámetro del asunto que se pasará. Debe tener el formato $context.variables.<name_of_variable>.

clientKey

string

Obligatorio. Es el nombre del parámetro del cliente que se pasará. Debe tener el formato $context.variables.<name_of_variable>.

Acción

Representación 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.
}
Campos
inputFields[]

string

Es opcional. Son los campos de la entidad que se usarán como entradas para la operación. Si no se especifican campos, se usarán todos los campos de la entidad.

outputFields[]

string

Es opcional. Son los campos de la entidad que se devolverán de la operación. Si no se especifican campos, se mostrarán todos los campos de la entidad.

Campo de unión action_spec. Es la especificación de una acción que se configurará para que la use la herramienta. action_spec puede ser solo uno de los parámetros siguientes:
connectionActionId

string

Es el ID de una acción de conexión que usará la herramienta.

entityOperation

object (EntityOperation)

Es la configuración de la operación de la entidad que usará la herramienta.

EntityOperation

Representación JSON
{
  "entityId": string,
  "operation": enum (OperationType)
}
Campos
entityId

string

Obligatorio. Es el ID de la entidad.

operation

enum (OperationType)

Obligatorio. Operación que se realizará en la entidad.

Marca de tiempo

Representación JSON
{
  "seconds": string,
  "nanos": integer
}
Campos
seconds

string (int64 format)

Representa los segundos de la hora UTC desde la época de Unix 1970-01-01T00:00:00Z. Debe estar entre -62135596800 y 253402300799 inclusive (lo que corresponde a 0001-01-01T00:00:00Z y 9999-12-31T23:59:59Z).

nanos

integer

Fracciones no negativas de un segundo a una resolución de nanosegundos. Este campo es la parte de la duración en nanosegundos, no una alternativa a los segundos. Los valores de segundos negativos con fracciones deben tener valores nanos no negativos que se cuentan hacia adelante en el tiempo. Debe ser un valor entre 0 y 999,999,999, inclusive.

ToolFakeConfig

Representación 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.
}
Campos
enableFakeMode

boolean

Es opcional. Indica si la herramienta usa el modo falso.

Campo de unión tool_response. La respuesta es estática o la proporciona una función de Python. tool_response puede ser solo uno de los parámetros siguientes:
codeBlock

object (CodeBlock)

Es opcional. Es el bloque de código que se ejecutará en lugar de una llamada a la herramienta real.

CodeBlock

Representación JSON
{
  "pythonCode": string
}
Campos
pythonCode

string

Obligatorio. Código de Python que se invocará en el modo falso de la herramienta. Firma de función de Python esperada: Para detectar todas las llamadas a herramientas: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Para detectar una llamada a herramienta específica: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Si la función devuelve None, se invocará la herramienta real.

Anotaciones de herramientas

Sugerencia destructiva: ❌ | Sugerencia idempotente: ✅ | Sugerencia de solo lectura: ✅ | Sugerencia de mundo abierto: ❌