MCP Tools Reference: ces.googleapis.com

Herramienta: update_toolset

Actualiza el conjunto de herramientas especificado. Asegúrate de pasar siempre una máscara de actualización en la entrada.

En la siguiente muestra de código, se muestra cómo usar curl para llamar a la herramienta de MCP update_toolset.

Solicitud de Curl
curl --location 'https://ces.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "update_toolset",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Esquema de entrada

Mensaje de solicitud para AgentService.UpdateToolset.

UpdateToolsetRequest

Representación JSON
{
  "toolset": {
    object (Toolset)
  },
  "updateMask": string
}
Campos
toolset

object (Toolset)

Obligatorio. Es el conjunto de herramientas que se actualizará.

updateMask

string (FieldMask format)

Es opcional. La máscara de campo se usa para controlar qué campos se actualizan. Si la máscara no está presente, se actualizarán todos los campos.

Esta es una lista separada por comas de los nombres de campos completamente calificados. Ejemplo: "user.displayName,photo".

Conjunto de herramientas

Representación JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "timeout": 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.

timeout

string (Duration format)

Es opcional. Es el tiempo de espera para la ejecución del conjunto de herramientas. Si no se establece, el tiempo de espera predeterminado es de 30 segundos para los conjuntos de herramientas de SYNCHRONOUS y de 60 segundos para los conjuntos de herramientas de ASYNCHRONOUS.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

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)
  },
  "customHeaders": {
    string: string,
    ...
  },
  "toolOverrides": [
    {
      object (McpToolOverride)
    }
  ]
}
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 la enumeración de herramientas. Esto requiere que las herramientas se puedan enumerar sin autenticación.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Es opcional. Es la configuración del 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.

customHeaders

map (key: string, value: string)

Es opcional. Son los encabezados personalizados que se enviarán en la solicitud al servidor de MCP. Los valores deben tener el formato $context.variables.<name_of_variable> y se pueden establecer en las variables de sesión. Consulta https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection para obtener más detalles.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

toolOverrides[]

object (McpToolOverride)

Es opcional. Son las anulaciones para herramientas individuales dentro de este conjunto de herramientas. Esto permite anular detalles específicos, como descripciones, nombres o fijar los estados de las herramientas para que no sean completamente dinámicos.

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. Tipos de permisos 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 para intercambiarlo 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. 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.

CustomHeadersEntry

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

McpToolOverride

Representación JSON
{
  "tool": string,
  "nameOverride": string,
  "descriptionOverride": string,
  "snapshot": {
    object (McpToolDefinition)
  }
}
Campos
tool

string

Obligatorio. Es el nombre original de la herramienta tal como lo emite el servidor de MCP.

nameOverride

string

Es opcional. Si está presente, esta herramienta usa este nombre en el agente en lugar del nombre original. Se usa principalmente como alias si el servidor de MCP ofrece herramientas con nombres poco claros.

descriptionOverride

string

Es opcional. Si está presente, esta herramienta usa esta descripción en lugar de la descripción original del servidor.

snapshot

object (McpToolDefinition)

Solo salida. Si está presente, esta herramienta está "fijada" y usa los valores de la instantánea como resguardo si el servidor no está disponible temporalmente o si no hay ninguna anulación.

McpToolDefinition

Representación JSON
{
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  }
}
Campos
description

string

Solo salida. Es la descripción de la herramienta de MCP. description_override en McpToolOverride puede anular este valor.

inputSchema

object (Schema)

Solo salida. Es el esquema de los argumentos de entrada de la herramienta de MCP.

outputSchema

object (Schema)

Solo salida. Es el esquema de los argumentos de salida de la herramienta de MCP.

Esquema

Representación JSON
{
  "type": enum (Type),
  "properties": {
    string: {
      object (Schema)
    },
    ...
  },
  "required": [
    string
  ],
  "description": string,
  "items": {
    object (Schema)
  },
  "nullable": boolean,
  "uniqueItems": boolean,
  "prefixItems": [
    {
      object (Schema)
    }
  ],
  "additionalProperties": {
    object (Schema)
  },
  "anyOf": [
    {
      object (Schema)
    }
  ],
  "enum": [
    string
  ],
  "default": value,
  "ref": string,
  "defs": {
    string: {
      object (Schema)
    },
    ...
  },
  "title": string,
  "minItems": string,
  "maxItems": string,

  // Union field _minimum can be only one of the following:
  "minimum": number
  // End of list of possible types for union field _minimum.

  // Union field _maximum can be only one of the following:
  "maximum": number
  // End of list of possible types for union field _maximum.
}
Campos
type

enum (Type)

Obligatorio. Es el tipo de datos.

properties

map (key: string, value: object (Schema))

Es opcional. Son las propiedades de Type.OBJECT.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

required[]

string

Es opcional. Son las propiedades obligatorias de Type.OBJECT.

description

string

Es opcional. La descripción de los datos.

items

object (Schema)

Es opcional. Esquema de los elementos de Type.ARRAY.

nullable

boolean

Es opcional. Indica si el valor puede ser nulo.

uniqueItems

boolean

Es opcional. Indica que los elementos del array deben ser únicos. Solo se aplica a TYPE.ARRAY.

prefixItems[]

object (Schema)

Es opcional. Esquemas de los elementos iniciales de Type.ARRAY.

additionalProperties

object (Schema)

Es opcional. Puede ser un valor booleano o un objeto, y controla la presencia de propiedades adicionales.

anyOf[]

object (Schema)

Es opcional. El valor se debe validar en relación con cualquiera de los subesquemas (uno o más) de la lista.

enum[]

string

Es opcional. Valores posibles del elemento de tipo primitivo con formato de enumeración. Ejemplos: 1. Podemos definir la dirección de la siguiente manera : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Podemos definir el número de departamento de la siguiente manera : {type:INTEGER, format:enum, enum:["101", "201", "301"]}

default

value (Value format)

Es opcional. Es el valor predeterminado de los datos.

ref

string

Es opcional. Permite referencias indirectas entre los nodos del esquema. El valor debe ser una referencia válida a un elemento secundario del defs raíz.

Por ejemplo, el siguiente esquema define una referencia a un nodo de esquema llamado "Pet":

type: object
properties:
  pet:
    ref: #/defs/Pet
defs:
  Pet:
    type: object
    properties:
      name:
        type: string

El valor de la propiedad "pet" es una referencia al nodo del esquema llamado "Pet". Consulta los detalles en https://json-schema.org/understanding-json-schema/structuring.

defs

map (key: string, value: object (Schema))

Es opcional. Es un mapa de definiciones para que lo use ref. Solo se permite en la raíz del esquema.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

title

string

Es opcional. Es el título del esquema.

minItems

string (int64 format)

Es opcional. Es la cantidad mínima de elementos para Type.ARRAY.

maxItems

string (int64 format)

Es opcional. Es la cantidad máxima de elementos para Type.ARRAY.

Campo de unión _minimum.

_minimum puede ser una de las siguientes opciones:

minimum

number

Es opcional. Es el valor mínimo para Type.INTEGER y Type.NUMBER.

Campo de unión _maximum.

_maximum puede ser una de las siguientes opciones:

maximum

number

Es opcional. Es el valor máximo para Type.INTEGER y Type.NUMBER.

PropertiesEntry

Representación JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Campos
key

string

value

object (Schema)

Valor

Representación JSON
{

  // Union field kind can be only one of the following:
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
  // End of list of possible types for union field kind.
}
Campos
Campo de unión kind. Es el tipo de valor. kind puede ser solo uno de los parámetros siguientes:
nullValue

null

Representa un null de JSON.

numberValue

number

Representa un número JSON. No debe ser NaN, Infinity ni -Infinity, ya que no se admiten en JSON. Tampoco puede representar valores Int64 grandes, ya que el formato JSON generalmente no los admite en su tipo de número.

stringValue

string

Representa una cadena JSON.

boolValue

boolean

Representa un valor booleano de JSON (literal true o false en JSON).

structValue

object (Struct format)

Representa un objeto JSON.

listValue

array (ListValue format)

Representa un array JSON.

Struct

Representación JSON
{
  "fields": {
    string: value,
    ...
  }
}
Campos
fields

map (key: string, value: value (Value format))

Es un mapa no ordenado de valores escritos de forma dinámica.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

Representación JSON
{
  "key": string,
  "value": value
}
Campos
key

string

value

value (Value format)

ListValue

Representación JSON
{
  "values": [
    value
  ]
}
Campos
values[]

value (Value format)

Es un campo repetido de valores escritos de forma dinámica.

DefsEntry

Representación JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Campos
key

string

value

object (Schema)

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 configura 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 a 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 de conectores 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 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.

Duración

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

string (int64 format)

Son los segundos firmados del período. Debe estar comprendido entre -315,576,000,000 y +315,576,000,000, inclusive. Nota: Estos límites se calculan de la siguiente manera: 60 s/min * 60 min/h * 24 h/día * 365.25 días/año * 10,000 años

nanos

integer

Fracciones firmadas de un segundo con una resolución de nanosegundos del período. Las duraciones inferiores a un segundo se representan con un campo seconds igual a 0 y un campo nanos positivo o negativo. Para duraciones de un segundo o más, un valor distinto de cero para el campo nanos debe tener el mismo signo que el campo seconds. Debe ser un valor entre -999,999,999 y +999,999,999, inclusive.

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 a 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 nanosegundos de la duración, 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 simulado 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.

FieldMask

Representación JSON
{
  "paths": [
    string
  ]
}
Campos
paths[]

string

Es el conjunto de rutas de acceso de la máscara de campo.

RequestLocation

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

Enums
REQUEST_LOCATION_UNSPECIFIED Sin especificar. No se debe usar este valor.
HEADER Representa la clave en el encabezado HTTP.
QUERY_STRING Representa la clave en la cadena de consulta.

OauthGrantType

Tipos de permisos de OAuth Solo se admite el otorgamiento de credenciales de cliente.

Enums
OAUTH_GRANT_TYPE_UNSPECIFIED Sin especificar. El valor predeterminado es CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Representa el flujo de credenciales de cliente.

Tipo

Son los tipos de datos de OpenAPI.

Enums
TYPE_UNSPECIFIED Indica un tipo no especificado.
STRING Tipo de cadena.
INTEGER Es de tipo entero.
NUMBER Es el tipo de número.
BOOLEAN Tipo booleano.
OBJECT Tipo de objeto.
ARRAY Es el tipo de array.

NullValue

Representa un null de JSON.

NullValue es un centinela que usa un enum con solo un valor para representar el valor nulo de la unión de tipos Value.

Un campo de tipo NullValue con cualquier valor que no sea 0 se considera no válido. La mayoría de los serializadores de ProtoJSON emitirán un Value con un null_value establecido como un null de JSON, independientemente del valor entero, por lo que se realizará un viaje de ida y vuelta a un valor de 0.

Enums
NULL_VALUE Valor nulo.

OperationType

Operación que se realizará en la entidad.

Enums
OPERATION_TYPE_UNSPECIFIED No se especificó el tipo de operación. No es válido. Fallará la creación o actualización de ConnectorTool.
LIST Operación de lista.
GET Operación de obtención.
CREATE Operación de creación.
UPDATE Operación de actualización.
DELETE Operación de eliminación.

ExecutionType

Es el tipo de ejecución de la herramienta o el conjunto de herramientas.

Enums
EXECUTION_TYPE_UNSPECIFIED No se especificó el tipo de ejecución. Si no se especifica, el número predeterminado es SYNCHRONOUS.
SYNCHRONOUS La herramienta se ejecuta de forma síncrona. La sesión se bloquea hasta que la herramienta devuelve un resultado.
ASYNCHRONOUS La herramienta se ejecuta de forma asíncrona. La sesión continuará mientras se ejecuta la herramienta.

Esquema de salida

Un conjunto de herramientas representa un grupo de herramientas administradas de forma dinámica que el agente puede usar.

Conjunto de herramientas

Representación JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "timeout": 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.

timeout

string (Duration format)

Es opcional. Es el tiempo de espera para la ejecución del conjunto de herramientas. Si no se establece, el tiempo de espera predeterminado es de 30 segundos para los conjuntos de herramientas de SYNCHRONOUS y de 60 segundos para los conjuntos de herramientas de ASYNCHRONOUS.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

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)
  },
  "customHeaders": {
    string: string,
    ...
  },
  "toolOverrides": [
    {
      object (McpToolOverride)
    }
  ]
}
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 la enumeración de herramientas. Esto requiere que las herramientas se puedan enumerar sin autenticación.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Es opcional. Es la configuración del 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.

customHeaders

map (key: string, value: string)

Es opcional. Son los encabezados personalizados que se enviarán en la solicitud al servidor de MCP. Los valores deben tener el formato $context.variables.<name_of_variable> y se pueden establecer en las variables de sesión. Consulta https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection para obtener más detalles.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

toolOverrides[]

object (McpToolOverride)

Es opcional. Son las anulaciones para herramientas individuales dentro de este conjunto de herramientas. Esto permite anular detalles específicos, como descripciones, nombres o fijar los estados de las herramientas para que no sean completamente dinámicos.

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. Tipos de permisos 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 para intercambiarlo 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. 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.

CustomHeadersEntry

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

McpToolOverride

Representación JSON
{
  "tool": string,
  "nameOverride": string,
  "descriptionOverride": string,
  "snapshot": {
    object (McpToolDefinition)
  }
}
Campos
tool

string

Obligatorio. Es el nombre original de la herramienta tal como lo emite el servidor de MCP.

nameOverride

string

Es opcional. Si está presente, esta herramienta usa este nombre en el agente en lugar del nombre original. Se usa principalmente como alias si el servidor de MCP ofrece herramientas con nombres poco claros.

descriptionOverride

string

Es opcional. Si está presente, esta herramienta usa esta descripción en lugar de la descripción original del servidor.

snapshot

object (McpToolDefinition)

Solo salida. Si está presente, esta herramienta está "fijada" y usa los valores de la instantánea como resguardo si el servidor no está disponible temporalmente o si no hay ninguna anulación.

McpToolDefinition

Representación JSON
{
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  }
}
Campos
description

string

Solo salida. Es la descripción de la herramienta de MCP. description_override en McpToolOverride puede anular este valor.

inputSchema

object (Schema)

Solo salida. Es el esquema de los argumentos de entrada de la herramienta de MCP.

outputSchema

object (Schema)

Solo salida. Es el esquema de los argumentos de salida de la herramienta de MCP.

Esquema

Representación JSON
{
  "type": enum (Type),
  "properties": {
    string: {
      object (Schema)
    },
    ...
  },
  "required": [
    string
  ],
  "description": string,
  "items": {
    object (Schema)
  },
  "nullable": boolean,
  "uniqueItems": boolean,
  "prefixItems": [
    {
      object (Schema)
    }
  ],
  "additionalProperties": {
    object (Schema)
  },
  "anyOf": [
    {
      object (Schema)
    }
  ],
  "enum": [
    string
  ],
  "default": value,
  "ref": string,
  "defs": {
    string: {
      object (Schema)
    },
    ...
  },
  "title": string,
  "minItems": string,
  "maxItems": string,

  // Union field _minimum can be only one of the following:
  "minimum": number
  // End of list of possible types for union field _minimum.

  // Union field _maximum can be only one of the following:
  "maximum": number
  // End of list of possible types for union field _maximum.
}
Campos
type

enum (Type)

Obligatorio. Es el tipo de datos.

properties

map (key: string, value: object (Schema))

Es opcional. Son las propiedades de Type.OBJECT.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

required[]

string

Es opcional. Son las propiedades obligatorias de Type.OBJECT.

description

string

Es opcional. La descripción de los datos.

items

object (Schema)

Es opcional. Esquema de los elementos de Type.ARRAY.

nullable

boolean

Es opcional. Indica si el valor puede ser nulo.

uniqueItems

boolean

Es opcional. Indica que los elementos del array deben ser únicos. Solo se aplica a TYPE.ARRAY.

prefixItems[]

object (Schema)

Es opcional. Esquemas de los elementos iniciales de Type.ARRAY.

additionalProperties

object (Schema)

Es opcional. Puede ser un valor booleano o un objeto, y controla la presencia de propiedades adicionales.

anyOf[]

object (Schema)

Es opcional. El valor se debe validar en relación con cualquiera de los subesquemas (uno o más) de la lista.

enum[]

string

Es opcional. Valores posibles del elemento de tipo primitivo con formato de enumeración. Ejemplos: 1. Podemos definir la dirección de la siguiente manera : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Podemos definir el número de departamento de la siguiente manera : {type:INTEGER, format:enum, enum:["101", "201", "301"]}

default

value (Value format)

Es opcional. Es el valor predeterminado de los datos.

ref

string

Es opcional. Permite referencias indirectas entre los nodos del esquema. El valor debe ser una referencia válida a un elemento secundario del defs raíz.

Por ejemplo, el siguiente esquema define una referencia a un nodo de esquema llamado "Pet":

type: object
properties:
  pet:
    ref: #/defs/Pet
defs:
  Pet:
    type: object
    properties:
      name:
        type: string

El valor de la propiedad "pet" es una referencia al nodo del esquema llamado "Pet". Consulta los detalles en https://json-schema.org/understanding-json-schema/structuring.

defs

map (key: string, value: object (Schema))

Es opcional. Es un mapa de definiciones para que lo use ref. Solo se permite en la raíz del esquema.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

title

string

Es opcional. Es el título del esquema.

minItems

string (int64 format)

Es opcional. Es la cantidad mínima de elementos para Type.ARRAY.

maxItems

string (int64 format)

Es opcional. Es la cantidad máxima de elementos para Type.ARRAY.

Campo de unión _minimum.

_minimum puede ser una de las siguientes opciones:

minimum

number

Es opcional. Es el valor mínimo para Type.INTEGER y Type.NUMBER.

Campo de unión _maximum.

_maximum puede ser una de las siguientes opciones:

maximum

number

Es opcional. Es el valor máximo para Type.INTEGER y Type.NUMBER.

PropertiesEntry

Representación JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Campos
key

string

value

object (Schema)

Valor

Representación JSON
{

  // Union field kind can be only one of the following:
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
  // End of list of possible types for union field kind.
}
Campos
Campo de unión kind. Es el tipo de valor. kind puede ser solo uno de los parámetros siguientes:
nullValue

null

Representa un null de JSON.

numberValue

number

Representa un número JSON. No debe ser NaN, Infinity ni -Infinity, ya que no se admiten en JSON. Tampoco puede representar valores Int64 grandes, ya que el formato JSON generalmente no los admite en su tipo de número.

stringValue

string

Representa una cadena JSON.

boolValue

boolean

Representa un valor booleano de JSON (literal true o false en JSON).

structValue

object (Struct format)

Representa un objeto JSON.

listValue

array (ListValue format)

Representa un array JSON.

Struct

Representación JSON
{
  "fields": {
    string: value,
    ...
  }
}
Campos
fields

map (key: string, value: value (Value format))

Es un mapa no ordenado de valores escritos de forma dinámica.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

Representación JSON
{
  "key": string,
  "value": value
}
Campos
key

string

value

value (Value format)

ListValue

Representación JSON
{
  "values": [
    value
  ]
}
Campos
values[]

value (Value format)

Es un campo repetido de valores escritos de forma dinámica.

DefsEntry

Representación JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Campos
key

string

value

object (Schema)

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 configura 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 a 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 de conectores 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 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.

Duración

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

string (int64 format)

Son los segundos firmados del período. Debe estar comprendido entre -315,576,000,000 y +315,576,000,000, inclusive. Nota: Estos límites se calculan de la siguiente manera: 60 s/min * 60 min/h * 24 h/día * 365.25 días/año * 10,000 años

nanos

integer

Fracciones firmadas de un segundo con una resolución de nanosegundos del período. Las duraciones inferiores a un segundo se representan con un campo seconds igual a 0 y un campo nanos positivo o negativo. Para duraciones de un segundo o más, un valor distinto de cero para el campo nanos debe tener el mismo signo que el campo seconds. Debe ser un valor entre -999,999,999 y +999,999,999, inclusive.

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 a 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 nanosegundos de la duración, 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 simulado 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.

RequestLocation

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

Enums
REQUEST_LOCATION_UNSPECIFIED Sin especificar. No se debe usar este valor.
HEADER Representa la clave en el encabezado HTTP.
QUERY_STRING Representa la clave en la cadena de consulta.

OauthGrantType

Tipos de permisos de OAuth Solo se admite el otorgamiento de credenciales de cliente.

Enums
OAUTH_GRANT_TYPE_UNSPECIFIED Sin especificar. El valor predeterminado es CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Representa el flujo de credenciales de cliente.

Tipo

Son los tipos de datos de OpenAPI.

Enums
TYPE_UNSPECIFIED Indica un tipo no especificado.
STRING Tipo de cadena.
INTEGER Es de tipo entero.
NUMBER Es el tipo de número.
BOOLEAN Tipo booleano.
OBJECT Tipo de objeto.
ARRAY Es el tipo de array.

NullValue

Representa un null de JSON.

NullValue es un centinela que usa un enum con solo un valor para representar el valor nulo de la unión de tipos Value.

Un campo de tipo NullValue con cualquier valor que no sea 0 se considera no válido. La mayoría de los serializadores de ProtoJSON emitirán un Value con un null_value establecido como un null de JSON, independientemente del valor entero, por lo que se realizará un viaje de ida y vuelta a un valor de 0.

Enums
NULL_VALUE Valor nulo.

OperationType

Operación que se realizará en la entidad.

Enums
OPERATION_TYPE_UNSPECIFIED No se especificó el tipo de operación. No es válido. Fallará la creación o actualización de ConnectorTool.
LIST Operación de lista.
GET Operación de obtención.
CREATE Operación de creación.
UPDATE Operación de actualización.
DELETE Operación de eliminación.

ExecutionType

Es el tipo de ejecución de la herramienta o el conjunto de herramientas.

Enums
EXECUTION_TYPE_UNSPECIFIED No se especificó el tipo de ejecución. Si no se especifica, el número predeterminado es SYNCHRONOUS.
SYNCHRONOUS La herramienta se ejecuta de forma síncrona. La sesión se bloquea hasta que la herramienta devuelve un resultado.
ASYNCHRONOUS La herramienta se ejecuta de forma asíncrona. La sesión continuará mientras se ejecuta la herramienta.

Anotaciones de herramientas

Las anotaciones de herramientas se envían a los clientes de MCP para describir el riesgo básico de una herramienta determinada. La mayoría de los clientes tratan estas sugerencias como no confiables, pero se pueden usar para decidir cuándo se le puede enviar un mensaje de confirmación a un usuario.

Junto con la cadena de título, se definen las siguientes sugerencias booleanas:

  • readOnlyHint: Si es verdadero, la herramienta no modifica su entorno. Valor predeterminado: false.
  • destructiveHint: Si es verdadero, la herramienta puede realizar acciones destructivas. Si es falso, la herramienta solo puede realizar acciones aditivas. Valor predeterminado: true.
  • idempotentHint: Si es verdadero, llamar a la herramienta de forma repetida con los mismos argumentos no tendrá ningún efecto adicional en su entorno. Valor predeterminado: false.
  • openWorldHint: Si es verdadero, la herramienta puede interactuar con un "mundo abierto" de entidades externas. Si es falso, la herramienta solo puede interactuar con entidades internas. Por ejemplo, una herramienta de búsqueda web sería de mundo abierto, mientras que una herramienta de memoria no lo sería.

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