MCP Tools Reference: ces.googleapis.com

Herramienta: list_tools

Enumera las herramientas de la app especificada.

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

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_tools",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Esquema de entrada

Mensaje de solicitud para AgentService.ListTools.

ListToolsRequest

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 las 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.ListTools de lista anterior.

filter

string

Es opcional. Es el filtro que se aplicará cuando se muestre la lista de herramientas. Usa "include_system_tools=true" para incluir herramientas del sistema en la respuesta. 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.ListTools.

ListToolsResponse

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

object (Tool)

Es la lista de herramientas.

nextPageToken

string

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

Herramienta

Representación JSON
{
  "name": string,
  "displayName": string,
  "executionType": enum (ExecutionType),
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "generatedSummary": string,
  "toolFakeConfig": {
    object (ToolFakeConfig)
  },

  // Union field tool_type can be only one of the following:
  "clientFunction": {
    object (ClientFunction)
  },
  "openApiTool": {
    object (OpenApiTool)
  },
  "googleSearchTool": {
    object (GoogleSearchTool)
  },
  "connectorTool": {
    object (ConnectorTool)
  },
  "dataStoreTool": {
    object (DataStoreTool)
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mcpTool": {
    object (McpTool)
  },
  "fileSearchTool": {
    object (FileSearchTool)
  },
  "systemTool": {
    object (SystemTool)
  },
  "widgetTool": {
    object (WidgetTool)
  }
  // End of list of possible types for union field tool_type.
}
Campos
name

string

Es el identificador. Es el identificador único de la herramienta. Formato: - projects/{project}/locations/{location}/apps/{app}/tools/{tool} para

projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool} para las herramientas recuperadas de un conjunto de herramientas. Estas herramientas son dinámicas y solo de salida, por lo que no se pueden consultar directamente cuando se espera una herramienta.

displayName

string

Solo salida. Es el nombre visible de la herramienta, que se deriva según el tipo de herramienta. Por ejemplo, el nombre visible de un [ClientFunction][Tool.ClientFunction] se deriva de su propiedad name.

executionType

enum (ExecutionType)

Es opcional. Es el tipo de ejecución de la herramienta.

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de la creación de la herramienta.

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 de la herramienta.

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

Es el 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.

generatedSummary

string

Solo salida. Si la herramienta la genera el asistente de LLM, este campo contiene un resumen descriptivo de la generación.

toolFakeConfig

object (ToolFakeConfig)

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

Campo de unión tool_type. Es el tipo de herramienta. tool_type puede ser solo uno de los parámetros siguientes:
clientFunction

object (ClientFunction)

Es opcional. Es la función del cliente.

openApiTool

object (OpenApiTool)

Es opcional. Es la herramienta de API abierta.

googleSearchTool

object (GoogleSearchTool)

Es opcional. Es la herramienta de Búsqueda de Google.

connectorTool

object (ConnectorTool)

Es opcional. La herramienta Integration Connector

dataStoreTool

object (DataStoreTool)

Es opcional. Es la herramienta de almacén de datos.

pythonFunction

object (PythonFunction)

Es opcional. Es la herramienta de función de Python.

mcpTool

object (McpTool)

Es opcional. Es la herramienta de MCP. Una herramienta de MCP no se puede crear ni actualizar directamente, sino que se administra a través del conjunto de herramientas de MCP.

fileSearchTool

object (FileSearchTool)

Es opcional. Es la herramienta de búsqueda de archivos.

systemTool

object (SystemTool)

Es opcional. Es la herramienta del sistema.

widgetTool

object (WidgetTool)

Es opcional. La herramienta de widget.

ClientFunction

Representación JSON
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  },
  "response": {
    object (Schema)
  }
}
Campos
name

string

Obligatorio. Es el nombre de la función.

description

string

Es opcional. Es la descripción de la función.

parameters

object (Schema)

Es opcional. Es el esquema de los parámetros de la función.

response

object (Schema)

Es opcional. Es el esquema de la respuesta de la función.

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 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 apartamento 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 valor nulo.

numberValue

number

Representa un valor doble.

stringValue

string

Representa un valor de cadena.

boolValue

boolean

Representa un valor booleano.

structValue

object (Struct format)

Representa un valor estructurado.

listValue

array (ListValue format)

Representa un Value repetido.

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)

OpenApiTool

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

string

Obligatorio. Esquema de OpenAPI en formato JSON o YAML

name

string

Es opcional. Es el nombre de la herramienta. Si no se proporciona, el nombre de la herramienta se derivará del esquema de OpenAPI, desde operation.operationId.

description

string

Es opcional. Es la descripción de la herramienta. Si no se proporciona, la descripción de la herramienta se derivará del esquema de OpenAPI, de operation.description o operation.summary.

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 en los que confiará el cliente.

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.

url

string

Es opcional. Es la URL del servidor del esquema de la API abierta. Este campo solo se configura en las 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.

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>.

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.

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.

GoogleSearchTool

Representación JSON
{
  "name": string,
  "description": string,
  "contextUrls": [
    string
  ],
  "preferredDomains": [
    string
  ],
  "excludeDomains": [
    string
  ],
  "promptConfig": {
    object (PromptConfig)
  }
}
Campos
name

string

Obligatorio. Es el nombre de la herramienta.

description

string

Es opcional. Descripción del propósito de la herramienta.

contextUrls[]

string

Es opcional. El contenido se recuperará directamente de estas URLs para proporcionar contexto y fundamentación. Ejemplo: "https://example.com/path.html". Se permite un máximo de 20 URLs.

preferredDomains[]

string

Es opcional. Especifica los dominios a los que se restringirán los resultados de la búsqueda. Ejemplo: "example.com", "another.site". Se puede especificar un máximo de 20 dominios.

excludeDomains[]

string

Es opcional. Es la lista de dominios que se excluirán de los resultados de la búsqueda. Ejemplo: "example.com". Se puede excluir un máximo de 2,000 dominios.

promptConfig

object (PromptConfig)

Es opcional. Son las instrucciones que se pasan al planificador sobre cómo se deben procesar los resultados de la búsqueda para texto y voz.

PromptConfig

Representación JSON
{
  "textPrompt": string,
  "voicePrompt": string
}
Campos
textPrompt

string

Es opcional. Define la instrucción utilizada para las instrucciones del sistema cuando se interactúa con el agente en conversaciones de chat. Si no se establece, se usará la instrucción predeterminada.

voicePrompt

string

Es opcional. Define la instrucción que se usa para las instrucciones del sistema cuando se interactúa con el agente en conversaciones de voz. Si no se establece, se usará la instrucción predeterminada.

ConnectorTool

Representación JSON
{
  "connection": string,
  "action": {
    object (Action)
  },
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "name": string,
  "description": string
}
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}

action

object (Action)

Obligatorio. Es la acción que debe usar la herramienta.

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 de ConnectorTool. Consulta https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override para obtener más detalles.

name

string

Es opcional. Es el nombre de la herramienta que puede usar el agente para decidir si llama a este ConnectorTool.

description

string

Es opcional. Es la descripción de la herramienta que puede usar el agente para decidir si debe llamar a este ConnectorTool.

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.

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>.

DataStoreTool

Representación JSON
{
  "name": string,
  "description": string,
  "boostSpecs": [
    {
      object (BoostSpecs)
    }
  ],
  "modalityConfigs": [
    {
      object (ModalityConfig)
    }
  ],
  "filterParameterBehavior": enum (FilterParameterBehavior),

  // Union field search_source can be only one of the following:
  "dataStoreSource": {
    object (DataStoreSource)
  },
  "engineSource": {
    object (EngineSource)
  }
  // End of list of possible types for union field search_source.
}
Campos
name

string

Obligatorio. Es el nombre de la herramienta del almacén de datos.

description

string

Es opcional. Es la descripción de la herramienta.

boostSpecs[]

object (BoostSpecs)

Es opcional. Es la especificación de refuerzo para reforzar ciertos documentos.

modalityConfigs[]

object (ModalityConfig)

Es opcional. Es la configuración de modalidad del almacén de datos.

filterParameterBehavior

enum (FilterParameterBehavior)

Es opcional. Es el comportamiento del parámetro de filtro.

Campo de unión search_source. Define la fuente de búsqueda, ya sea un solo DataStore o un Engine. search_source puede ser solo uno de los parámetros siguientes:
dataStoreSource

object (DataStoreSource)

Es opcional. Realiza búsquedas en un solo DataStore específico.

engineSource

object (EngineSource)

Es opcional. Buscar dentro de un motor (potencialmente en varios almacenes de datos)

DataStoreSource

Representación JSON
{
  "filter": string,
  "dataStore": {
    object (DataStore)
  }
}
Campos
filter

string

Es opcional. Es la especificación del filtro para el DataStore. Consulta el siguiente vínculo: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

dataStore

object (DataStore)

Es opcional. Es el almacén de datos.

DataStore

Representación JSON
{
  "name": string,
  "type": enum (DataStoreType),
  "documentProcessingMode": enum (DocumentProcessingMode),
  "displayName": string,
  "createTime": string,
  "connectorConfig": {
    object (ConnectorConfig)
  }
}
Campos
name

string

Obligatorio. Es el nombre completo del recurso de DataStore. Formato: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}

type

enum (DataStoreType)

Solo salida. Es el tipo de almacén de datos. Este campo es de solo lectura y el servidor lo completa.

documentProcessingMode

enum (DocumentProcessingMode)

Solo salida. Es el modo de procesamiento de documentos para la conexión del almacén de datos. Solo se configura para los almacenes de datos PUBLIC_WEB y UNSTRUCTURED.

displayName

string

Solo salida. Es el nombre visible del almacén de datos.

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de cuando se creó el almacén de datos.

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".

connectorConfig

object (ConnectorConfig)

Solo salida. Es la configuración del conector para la conexión del almacén de datos.

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.

ConnectorConfig

Representación JSON
{
  "collection": string,
  "collectionDisplayName": string,
  "dataSource": string
}
Campos
collection

string

Es el nombre del recurso de la colección a la que pertenece el almacén de datos.

collectionDisplayName

string

Es el nombre visible de la colección a la que pertenece el almacén de datos.

dataSource

string

Es el nombre de la fuente de datos. Ejemplo: salesforce, jira, confluence, bigquery.

EngineSource

Representación JSON
{
  "engine": string,
  "dataStoreSources": [
    {
      object (DataStoreSource)
    }
  ],
  "filter": string
}
Campos
engine

string

Obligatorio. Es el nombre completo del recurso del motor. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreSource)

Es opcional. Se usa para segmentar DataStores específicos dentro del motor. Si está vacío, la búsqueda se aplica a todos los almacenes de datos asociados con el motor.

filter

string

Es opcional. Es un filtro que se aplica a la búsqueda en todo el motor. No es relevante y no se usa si se proporciona "data_store_sources". Consulta el siguiente vínculo: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

BoostSpecs

Representación JSON
{
  "dataStores": [
    string
  ],
  "spec": [
    {
      object (BoostSpec)
    }
  ]
}
Campos
dataStores[]

string

Obligatorio. Es el almacén de datos en el que se aplica la configuración de potenciación. Es el nombre completo del recurso de DataStore, como projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}.

spec[]

object (BoostSpec)

Obligatorio. Es una lista de especificaciones de potenciadores.

BoostSpec

Representación JSON
{
  "conditionBoostSpecs": [
    {
      object (ConditionBoostSpec)
    }
  ]
}
Campos
conditionBoostSpecs[]

object (ConditionBoostSpec)

Obligatorio. Es una lista de especificaciones de potenciadores.

ConditionBoostSpec

Representación JSON
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
Campos
condition

string

Obligatorio. Es una expresión que especifica una condición de refuerzo. La sintaxis es la misma que la de la expresión de filtro. Actualmente, la única condición admitida es una lista de códigos de idioma BCP-47. Ejemplo: Para potenciar las sugerencias en los idiomas en o fr: (lang_code: ANY("en", "fr"))

boost

number

Es opcional. Es la intensidad del boosting, que debe estar en el rango [-1, 1]. El boosting negativo significa un descenso de nivel. El valor predeterminado es 0.0.

Si se establece en 1.0, las sugerencias reciben una gran promoción. Sin embargo, esto no significa necesariamente que el primer resultado será una sugerencia mejorada.

Si se establece en -1.0, las sugerencias recibirán un gran descenso. Sin embargo, es posible que se sigan mostrando otras sugerencias pertinentes.

Si se establece en 0.0, no se aplica ningún refuerzo. Se ignora la condición de refuerzo.

boostControlSpec

object (BoostControlSpec)

Es opcional. Es una especificación compleja para la clasificación personalizada basada en el valor del atributo definido por el cliente.

BoostControlSpec

Representación JSON
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
Campos
fieldName

string

Es opcional. Nombre del campo cuyo valor se usará para determinar el importe del aumento.

attributeType

enum (AttributeType)

Es opcional. Es el tipo de atributo que se usará para determinar el importe del aumento. El valor del atributo se puede derivar del valor del campo del campo field_name especificado. En el caso de los valores numéricos, es sencillo, es decir, attribute_value = numerical_field_value. Sin embargo, en el caso de la actualización, attribute_value = (time.now() - datetime_field_value).

interpolationType

enum (InterpolationType)

Es opcional. Es el tipo de interpolación que se aplicará para conectar los puntos de control que se indican a continuación.

controlPoints[]

object (ControlPoint)

Es opcional. Son los puntos de control que se usan para definir la curva. La función monotónica (definida a través de interpolation_type más arriba) pasa por los puntos de control que se indican aquí.

ControlPoint

Representación JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Campos
attributeValue

string

Es opcional. Puede ser uno de los siguientes: 1. Es el valor del campo numérico. 2. Es la especificación de duración para la actualización. El valor debe tener el formato de un valor dayTimeDuration de XSD (un subconjunto restringido de un valor de duración ISO 8601). El patrón para esto es: [nD][T[nH][nM][nS]].

boostAmount

number

Es opcional. Valor entre -1 y 1 según el cual se aumentará la puntuación si el atributo attribute_value se evalúa como el valor especificado anteriormente.

ModalityConfig

Representación JSON
{
  "modalityType": enum (ModalityType),
  "rewriterConfig": {
    object (RewriterConfig)
  },
  "summarizationConfig": {
    object (SummarizationConfig)
  },
  "groundingConfig": {
    object (GroundingConfig)
  }
}
Campos
modalityType

enum (ModalityType)

Obligatorio. Es el tipo de modalidad.

rewriterConfig

object (RewriterConfig)

Es opcional. Es la configuración del reescritor.

summarizationConfig

object (SummarizationConfig)

Es opcional. Es la configuración del resumen.

groundingConfig

object (GroundingConfig)

Es opcional. Es la configuración de fundamentación.

RewriterConfig

Representación JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Campos
modelSettings

object (ModelSettings)

Obligatorio. Es la configuración del modelo de LLM.

prompt

string

Es opcional. Es la definición de la instrucción. Si no se establece, se usará la instrucción predeterminada.

disabled

boolean

Es opcional. Indica si el reescritor está inhabilitado.

ModelSettings

Representación JSON
{
  "model": string,

  // Union field _temperature can be only one of the following:
  "temperature": number
  // End of list of possible types for union field _temperature.
}
Campos
model

string

Es opcional. Es el modelo de LLM que debe usar el agente. Si no se configura, el agente heredará el modelo de su agente principal.

Campo de unión _temperature.

_temperature puede ser una de las siguientes opciones:

temperature

number

Es opcional. Si se configura, se usará esta temperatura para el modelo LLM. La temperatura controla la aleatoriedad de las respuestas del modelo. Las temperaturas más bajas producen respuestas más predecibles. Las temperaturas más altas producen respuestas más creativas.

SummarizationConfig

Representación JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Campos
modelSettings

object (ModelSettings)

Es opcional. Es la configuración del modelo de LLM.

prompt

string

Es opcional. Es la definición de la instrucción. Si no se establece, se usará la instrucción predeterminada.

disabled

boolean

Es opcional. Indica si la generación de resúmenes está inhabilitada.

GroundingConfig

Representación JSON
{
  "groundingLevel": number,
  "disabled": boolean
}
Campos
groundingLevel

number

Es opcional. Es el umbral de fundamentación de la respuesta según las fuentes recuperadas. El valor tiene un rango configurable de [1, 5]. El nivel se usa para establecer un umbral de fundamentación de la respuesta, lo que significa que todas las respuestas con una puntuación de fundamentación inferior al umbral recurrirán a mostrar solo fragmentos relevantes.

Por ejemplo, un nivel de 3 significa que la puntuación de fundamentación debe ser 3 o más para que se devuelva la respuesta.

disabled

boolean

Es opcional. Indica si la fundamentación está inhabilitada.

PythonFunction

Representación JSON
{
  "name": string,
  "pythonCode": string,
  "description": string
}
Campos
name

string

Es opcional. Nombre de la función de Python que se ejecutará. Debe coincidir con un nombre de función de Python definido en el código de Python. Distingue mayúsculas de minúsculas. Si no se proporciona el nombre, se usará la primera función definida en el código de Python.

pythonCode

string

Es opcional. Es el código de Python que se ejecutará para la herramienta.

description

string

Solo salida. Es la descripción de la función de Python, analizada a partir de la cadena de documentación del código de Python.

McpTool

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

string

Obligatorio. Es el nombre de la herramienta de MCP.

description

string

Es opcional. Es la descripción de la herramienta de MCP.

inputSchema

object (Schema)

Es opcional. Es el esquema de los argumentos de entrada de la herramienta de MCP.

outputSchema

object (Schema)

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

serverAddress

string

Obligatorio. Dirección del servidor de MCP, p.ej., "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. Es igual a server_address en McpToolset. 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 ejecutar la 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.

tlsConfig

object (TlsConfig)

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

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.

FileSearchTool

Representación JSON
{
  "corpusType": enum (CorpusType),
  "name": string,
  "description": string,
  "fileCorpus": string
}
Campos
corpusType

enum (CorpusType)

Es opcional. Es el tipo de corpus. El valor predeterminado es FULLY_MANAGED.

name

string

Obligatorio. Es el nombre de la herramienta.

description

string

Es opcional. Es la descripción de la herramienta.

fileCorpus

string

Es opcional. Es el corpus en el que se almacenan los archivos. Formato: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

SystemTool

Representación JSON
{
  "name": string,
  "description": string
}
Campos
name

string

Obligatorio. Es el nombre de la herramienta del sistema.

description

string

Solo salida. Es la descripción de la herramienta del sistema.

WidgetTool

Representación JSON
{
  "name": string,
  "description": string,
  "widgetType": enum (WidgetType),

  // Union field input can be only one of the following:
  "parameters": {
    object (Schema)
  }
  // End of list of possible types for union field input.
}
Campos
name

string

Obligatorio. Es el nombre visible de la herramienta del widget.

description

string

Es opcional. Es la descripción de la herramienta del widget.

widgetType

enum (WidgetType)

Es opcional. Es el tipo de herramienta del widget. Si no se especifica, el tipo predeterminado será CUSTOMIZED.

Campo de unión input. Es la entrada de la herramienta de widget. input puede ser solo uno de los parámetros siguientes:
parameters

object (Schema)

Es opcional. Son los parámetros de entrada de la herramienta de widget.

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: ❌