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 |
Obligatorio. Es el nombre del recurso de la app desde la que se enumerarán los conjuntos de herramientas. |
pageSize |
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 |
Es opcional. El valor de |
filter |
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 |
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 ( |
| Campos | |
|---|---|
toolsets[] |
Es la lista de conjuntos de herramientas. |
nextPageToken |
Es un token que se puede enviar como |
Conjunto de herramientas
| Representación JSON |
|---|
{ "name": string, "displayName": string, "description": string, "createTime": string, "updateTime": string, "etag": string, "executionType": enum ( |
| Campos | |
|---|---|
name |
Es el identificador. Es el identificador único del conjunto de herramientas. Formato: |
displayName |
Es opcional. Es el nombre visible del conjunto de herramientas. Debe ser único dentro de la misma app. |
description |
Es opcional. Es la descripción del conjunto de herramientas. |
createTime |
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: |
updateTime |
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: |
etag |
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 |
Es opcional. Es el tipo de ejecución de las herramientas en el conjunto de herramientas. |
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 |
Es opcional. Es un conjunto de herramientas que contiene una lista de las herramientas que ofrece el servidor de MCP. |
openApiToolset |
Es opcional. Es un conjunto de herramientas que contiene una lista de herramientas definidas por un esquema de OpenAPI. |
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 ( |
| Campos | |
|---|---|
serverAddress |
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 |
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 |
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 |
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 |
| 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 |
Es opcional. Es la configuración para la autenticación con clave de API. |
oauthConfig |
Es opcional. Es la configuración de OAuth. |
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 |
Es opcional. Es la configuración para la autenticación de la cuenta de servicio. |
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 ( |
| Campos | |
|---|---|
keyName |
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= |
apiKeySecretVersion |
Obligatorio. Es el nombre del recurso de la versión secreta de Secret Manager que almacena la clave de API. Formato: Nota: Debes otorgar el rol |
requestLocation |
Obligatorio. Ubicación de la clave en la solicitud. |
OAuthConfig
| Representación JSON |
|---|
{
"oauthGrantType": enum ( |
| Campos | |
|---|---|
oauthGrantType |
Obligatorio. Son los tipos de otorgamiento de OAuth. |
clientId |
Obligatorio. Es el ID de cliente del proveedor de OAuth. |
clientSecretVersion |
Obligatorio. Nombre del recurso de la versión secreta de Secret Manager que almacena el secreto del cliente. Formato: Nota: Debes otorgar el rol |
tokenEndpoint |
Obligatorio. Es el extremo del token en el proveedor de OAuth que se intercambiará por un token de acceso. |
scopes[] |
Es opcional. Son los permisos de OAuth que se otorgarán. |
ServiceAccountAuthConfig
| Representación JSON |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| Campos | |
|---|---|
serviceAccount |
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 La cuenta de servicio debe tener el rol |
scopes[] |
Es opcional. Son los permisos de OAuth que se otorgarán. Si no se especifica, se usa el alcance predeterminado |
BearerTokenConfig
| Representación JSON |
|---|
{ "token": string } |
| Campos | |
|---|---|
token |
Obligatorio. Es el token del portador. Debe tener el formato |
ServiceDirectoryConfig
| Representación JSON |
|---|
{ "service": string } |
| Campos | |
|---|---|
service |
Obligatorio. Es el nombre del servicio de Service Directory. Formato: |
TlsConfig
| Representación JSON |
|---|
{
"caCerts": [
{
object ( |
| Campos | |
|---|---|
caCerts[] |
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 |
Obligatorio. Nombre de los certificados de CA personalizados permitidos. Se puede usar para desambiguar los certificados de CA personalizados. |
cert |
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 ( |
| Campos | |
|---|---|
openApiSchema |
Obligatorio. Es el esquema de OpenAPI del conjunto de herramientas. |
apiAuthentication |
Es opcional. Es la información de autenticación que requiere la API. |
tlsConfig |
Es opcional. Es la configuración de TLS. Incluye los certificados de servidor personalizados |
serviceDirectoryConfig |
Es opcional. Es la configuración del Directorio de servicios. |
ignoreUnknownFields |
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 |
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 ( |
| Campos | |
|---|---|
connection |
Obligatorio. Es el nombre completo del recurso de la conexión de Integration Connectors a la que se hace referencia. Formato: |
authConfig |
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[] |
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 |
| 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 |
Autenticación con código de autorización de OAuth 2.0 |
oauth2JwtBearerConfig |
Perfil de JWT de autenticación de otorgamiento de autorización de OAuth 2.0. |
Oauth2AuthCodeConfig
| Representación JSON |
|---|
{ "oauthToken": string } |
| Campos | |
|---|---|
oauthToken |
Obligatorio. Es el nombre del parámetro del token de OAuth que se pasará. Debe tener el formato |
Oauth2JwtBearerConfig
| Representación JSON |
|---|
{ "issuer": string, "subject": string, "clientKey": string } |
| Campos | |
|---|---|
issuer |
Obligatorio. Es el nombre del parámetro del emisor que se pasará. Debe tener el formato |
subject |
Obligatorio. Es el nombre del parámetro del asunto que se pasará. Debe tener el formato |
clientKey |
Obligatorio. Es el nombre del parámetro del cliente que se pasará. Debe tener el formato |
Acción
| Representación JSON |
|---|
{ "inputFields": [ string ], "outputFields": [ string ], // Union field |
| Campos | |
|---|---|
inputFields[] |
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[] |
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 |
Es el ID de una acción de conexión que usará la herramienta. |
entityOperation |
Es la configuración de la operación de la entidad que usará la herramienta. |
EntityOperation
| Representación JSON |
|---|
{
"entityId": string,
"operation": enum ( |
| Campos | |
|---|---|
entityId |
Obligatorio. Es el ID de la entidad. |
operation |
Obligatorio. Operación que se realizará en la entidad. |
Marca de tiempo
| Representación JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
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 |
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 |
| Campos | |
|---|---|
enableFakeMode |
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 |
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 |
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: ❌