MCP Tools Reference: ces.googleapis.com

Ferramenta: list_tools

Lista as ferramentas no app especificado.

O exemplo a seguir demonstra como usar curl para invocar a ferramenta list_tools MCP.

Solicitação 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

Mensagem de solicitação para AgentService.ListTools.

ListToolsRequest

Representação JSON
{
  "parent": string,
  "pageSize": integer,
  "pageToken": string,
  "filter": string,
  "orderBy": string
}
Campos
parent

string

Obrigatório. O nome do recurso do app em que as ferramentas serão listadas.

pageSize

integer

Opcional. Tamanho da página solicitada. O servidor pode retornar menos resultados do que o solicitado. Se não for especificado, o servidor escolherá um padrão apropriado.

pageToken

string

Opcional. O valor next_page_token retornado de uma chamada AgentService.ListTools de lista anterior.

filter

string

Opcional. Filtro a ser aplicado ao listar as ferramentas. Use "include_system_tools=true" para incluir ferramentas do sistema na resposta. Consulte https://google.aip.dev/160 para mais detalhes.

orderBy

string

Opcional. Campo de classificação. Somente "name" e "create_time" são aceitos. Consulte https://google.aip.dev/132#ordering para mais detalhes.

Esquema de saída

Mensagem de resposta para AgentService.ListTools.

ListToolsResponse

Representação JSON
{
  "tools": [
    {
      object (Tool)
    }
  ],
  "nextPageToken": string
}
Campos
tools[]

object (Tool)

A lista de ferramentas.

nextPageToken

string

Um token que pode ser enviado como ListToolsRequest.page_token para recuperar a próxima página. A ausência desse campo indica que não há páginas subsequentes.

Ferramenta

Representação 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

Identificador. O identificador exclusivo da ferramenta. Formato: - projects/{project}/locations/{location}/apps/{app}/tools/{tool} para

projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool} para ferramentas recuperadas de um conjunto de ferramentas. Essas ferramentas são dinâmicas e somente de saída. Elas não podem ser referenciadas diretamente onde uma ferramenta é esperada.

displayName

string

Apenas saída. O nome de exibição da ferramenta, derivado com base no tipo dela. Por exemplo, o nome de exibição de uma [ClientFunction][Tool.ClientFunction] é derivado da propriedade name.

executionType

enum (ExecutionType)

Opcional. O tipo de execução da ferramenta.

createTime

string (Timestamp format)

Apenas saída. Carimbo de data/hora em que a ferramenta foi criada.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Apenas saída. Carimbo de data/hora da última atualização da ferramenta.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

etag

string

Etag usada para garantir que o objeto não mudou durante uma operação de leitura-modificação-gravação. Se a ETag estiver vazia, a atualização vai substituir todas as mudanças simultâneas.

generatedSummary

string

Apenas saída. Se a ferramenta for gerada pelo assistente de LLM, esse campo vai conter um resumo descritivo da geração.

toolFakeConfig

object (ToolFakeConfig)

Opcional. Configuração para o comportamento da ferramenta no modo simulado.

Campo de união tool_type. O tipo da ferramenta. tool_type pode ser apenas de um dos tipos a seguir:
clientFunction

object (ClientFunction)

Opcional. A função do cliente.

openApiTool

object (OpenApiTool)

Opcional. A ferramenta de API aberta.

googleSearchTool

object (GoogleSearchTool)

Opcional. A ferramenta de pesquisa do Google.

connectorTool

object (ConnectorTool)

Opcional. A ferramenta Integration Connectors.

dataStoreTool

object (DataStoreTool)

Opcional. A ferramenta de repositório de dados.

pythonFunction

object (PythonFunction)

Opcional. A ferramenta de função Python.

mcpTool

object (McpTool)

Opcional. A ferramenta MCP. Uma ferramenta do MCP não pode ser criada ou atualizada diretamente e é gerenciada pelo conjunto de ferramentas do MCP.

fileSearchTool

object (FileSearchTool)

Opcional. A ferramenta de pesquisa de arquivos.

systemTool

object (SystemTool)

Opcional. A ferramenta do sistema.

widgetTool

object (WidgetTool)

Opcional. A ferramenta de widget.

ClientFunction

Representação JSON
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  },
  "response": {
    object (Schema)
  }
}
Campos
name

string

Obrigatório. O nome da função.

description

string

Opcional. A descrição da função.

parameters

object (Schema)

Opcional. O esquema dos parâmetros da função.

response

object (Schema)

Opcional. O esquema da resposta da função.

Esquema

Representação 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)

Obrigatório. O tipo dos dados.

properties

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

Opcional. Propriedades de Type.OBJECT.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

required[]

string

Opcional. Propriedades obrigatórias de Type.OBJECT.

description

string

Opcional. A descrição dos dados.

items

object (Schema)

Opcional. Esquema dos elementos de Type.ARRAY.

nullable

boolean

Opcional. Indica se o valor pode ser nulo.

uniqueItems

boolean

Opcional. Indica que os itens na matriz precisam ser exclusivos. Aplicável apenas a TYPE.ARRAY.

prefixItems[]

object (Schema)

Opcional. Esquemas dos elementos iniciais de Type.ARRAY.

additionalProperties

object (Schema)

Opcional. Pode ser um booleano ou um objeto e controla a presença de propriedades adicionais.

anyOf[]

object (Schema)

Opcional. O valor precisa ser validado em relação a qualquer um (um ou mais) dos subesquemas na lista.

enum[]

string

Opcional. Valores possíveis do elemento de tipo primitivo com formato de enumeração. Exemplos: 1. Podemos definir a direção como : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Podemos definir o número do apartamento como : {type:INTEGER, format:enum, enum:["101", "201", "301"]}

default

value (Value format)

Opcional. Valor padrão dos dados.

ref

string

Opcional. Permite referências indiretas entre nós de esquema. O valor precisa ser uma referência válida a um filho do defs raiz.

Por exemplo, o esquema a seguir define uma referência a um nó de esquema chamado "Pet":

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

O valor da propriedade "pet" é uma referência ao nó de esquema chamado "Pet". Confira detalhes em https://json-schema.org/understanding-json-schema/structuring (em inglês).

defs

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

Opcional. Um mapa de definições para uso por ref. Permitido apenas na raiz do esquema.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

title

string

Opcional. O título do esquema.

minItems

string (int64 format)

Opcional. Número mínimo de elementos para Type.ARRAY.

maxItems

string (int64 format)

Opcional. Número máximo de elementos para Type.ARRAY.

Campo de união _minimum.

_minimum pode ser apenas de um dos tipos a seguir:

minimum

number

Opcional. Valor mínimo para Type.INTEGER e Type.NUMBER.

Campo de união _maximum.

_maximum pode ser apenas de um dos tipos a seguir:

maximum

number

Opcional. Valor máximo para Type.INTEGER e Type.NUMBER.

PropertiesEntry

Representação JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Campos
key

string

value

object (Schema)

Valor

Representação 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ão kind. O tipo de valor. kind pode ser apenas de um dos tipos a seguir:
nullValue

null

Representa um valor nulo.

numberValue

number

Representa um valor double.

stringValue

string

Representa um valor de string.

boolValue

boolean

Representa um valor booleano.

structValue

object (Struct format)

Representa um valor estruturado.

listValue

array (ListValue format)

Representa um Value repetido.

Struct

Representação JSON
{
  "fields": {
    string: value,
    ...
  }
}
Campos
fields

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

Mapa não ordenado de valores com tipagem dinâmica.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

Representação JSON
{
  "key": string,
  "value": value
}
Campos
key

string

value

value (Value format)

ListValue

Representação JSON
{
  "values": [
    value
  ]
}
Campos
values[]

value (Value format)

Campo repetido de valores digitados dinamicamente.

DefsEntry

Representação JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Campos
key

string

value

object (Schema)

OpenApiTool

Representação JSON
{
  "openApiSchema": string,
  "name": string,
  "description": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
Campos
openApiSchema

string

Obrigatório. O esquema OpenAPI no formato JSON ou YAML.

name

string

Opcional. O nome da ferramenta. Se não for fornecido, o nome da ferramenta será derivado do esquema OpenAPI, de operation.operationId.

description

string

Opcional. A descrição da ferramenta. Se não for fornecida, a descrição da ferramenta será derivada do esquema OpenAPI, de operation.description ou operation.summary.

apiAuthentication

object (ApiAuthentication)

Opcional. Informações de autenticação exigidas pela API.

tlsConfig

object (TlsConfig)

Opcional. A configuração de TLS. Inclui os certificados de servidor personalizados em que o cliente vai confiar.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Opcional. Configuração do Diretório de serviços.

ignoreUnknownFields

boolean

Opcional. Se for verdadeiro, o agente vai ignorar campos desconhecidos na resposta da API.

url

string

Opcional. O URL do servidor do esquema da API aberta. Esse campo só é definido em ferramentas nas dependências do ambiente durante o processo de exportação se o esquema contiver um URL do servidor. Durante o processo de importação, se esse URL estiver presente nas dependências do ambiente e o esquema tiver o marcador de posição $env_var, ele vai substituir o marcador no esquema.

ApiAuthentication

Representação 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ão auth_config. A configuração de autenticação. auth_config pode ser apenas de um dos tipos a seguir:
apiKeyConfig

object (ApiKeyConfig)

Opcional. Configuração para autenticação de chave de API.

oauthConfig

object (OAuthConfig)

Opcional. Configuração para OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Opcional. Configuração para autenticação de token de ID gerada pelo agente de serviço do CES.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

Opcional. Configuração para autenticação de conta de serviço.

bearerTokenConfig

object (BearerTokenConfig)

Opcional. Configuração para autenticação de token do portador.

ApiKeyConfig

Representação JSON
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
Campos
keyName

string

Obrigatório. O nome do parâmetro ou do cabeçalho da chave de API. Ex.: Se a solicitação de API for "https://example.com/act?X-Api-Key=", "X-Api-Key" será o nome do parâmetro.

apiKeySecretVersion

string

Obrigatório. O nome do recurso da versão do secret do Secret Manager que armazena a chave de API. Formato: projects/{project}/secrets/{secret}/versions/{version}

Observação: conceda o papel roles/secretmanager.secretAccessor ao agente de serviço do CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

requestLocation

enum (RequestLocation)

Obrigatório. Localização da chave na solicitação.

OAuthConfig

Representação JSON
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
Campos
oauthGrantType

enum (OauthGrantType)

Obrigatório. Tipos de concessão do OAuth.

clientId

string

Obrigatório. O ID do cliente do provedor OAuth.

clientSecretVersion

string

Obrigatório. O nome do recurso da versão do secret do Secret Manager que armazena a chave secreta do cliente. Formato: projects/{project}/secrets/{secret}/versions/{version}

Observação: conceda o papel roles/secretmanager.secretAccessor ao agente de serviço do CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

tokenEndpoint

string

Obrigatório. O endpoint de token no provedor OAuth para troca por um token de acesso.

scopes[]

string

Opcional. Os escopos do OAuth a serem concedidos.

ServiceAccountAuthConfig

Representação JSON
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
Campos
serviceAccount

string

Obrigatório. O endereço de e-mail da conta de serviço usada para autenticação. O CES usa essa conta de serviço para trocar um token de acesso, que é enviado no cabeçalho Authorization da solicitação.

A conta de serviço precisa ter o papel roles/iam.serviceAccountTokenCreator concedido ao agente de serviço do CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

scopes[]

string

Opcional. Os escopos do OAuth a serem concedidos. Se não for especificado, o escopo padrão https://www.googleapis.com/auth/cloud-platform será usado.

BearerTokenConfig

Representação JSON
{
  "token": string
}
Campos
token

string

Obrigatório. O token do portador. Precisa estar no formato $context.variables.<name_of_variable>.

TlsConfig

Representação JSON
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
Campos
caCerts[]

object (CaCert)

Obrigatório. Especifica uma lista de certificados de CA personalizados permitidos para verificação HTTPS.

CaCert

Representação JSON
{
  "displayName": string,
  "cert": string
}
Campos
displayName

string

Obrigatório. O nome dos certificados de CA personalizados permitidos. Isso pode ser usado para desambiguar os certificados de CA personalizados.

cert

string (bytes format)

Obrigatório. Os certificados de CA personalizados permitidos (no formato DER) para verificação HTTPS. Isso substitui o repositório de confiança SSL padrão. Se estiver vazio ou não especificado, o CES vai usar o armazenamento de confiança padrão do Google para verificar certificados. Observação: verifique se os certificados do servidor HTTPS estão assinados com "subject alt name". Por exemplo, um certificado pode ser autoassinado usando o seguinte 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'")

Uma string codificada em base64.

ServiceDirectoryConfig

Representação JSON
{
  "service": string
}
Campos
service

string

Obrigatório. O nome do serviço do Diretório de serviços. Formato: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. O local do diretório de serviços precisa ser o mesmo do app.

GoogleSearchTool

Representação JSON
{
  "name": string,
  "description": string,
  "contextUrls": [
    string
  ],
  "preferredDomains": [
    string
  ],
  "excludeDomains": [
    string
  ],
  "promptConfig": {
    object (PromptConfig)
  }
}
Campos
name

string

Obrigatório. O nome da ferramenta.

description

string

Opcional. Descrição da finalidade da ferramenta.

contextUrls[]

string

Opcional. O conteúdo será extraído diretamente desses URLs para contexto e embasamento. Exemplo: "https://example.com/path.html". São permitidos no máximo 20 URLs.

preferredDomains[]

string

Opcional. Especifica os domínios em que os resultados da pesquisa serão restritos. Exemplo: "example.com", "another.site". É possível especificar no máximo 20 domínios.

excludeDomains[]

string

Opcional. Lista de domínios a serem excluídos dos resultados da pesquisa. Exemplo: "example.com". É possível excluir no máximo 2.000 domínios.

promptConfig

object (PromptConfig)

Opcional. Instruções de comando transmitidas ao planejador sobre como os resultados da pesquisa devem ser processados para texto e voz.

PromptConfig

Representação JSON
{
  "textPrompt": string,
  "voicePrompt": string
}
Campos
textPrompt

string

Opcional. Define o comando usado para as instruções do sistema ao interagir com o agente em conversas por chat. Se não for definido, o comando padrão será usado.

voicePrompt

string

Opcional. Define o comando usado para as instruções do sistema ao interagir com o agente em conversas por voz. Se não for definido, o comando padrão será usado.

ConnectorTool

Representação JSON
{
  "connection": string,
  "action": {
    object (Action)
  },
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "name": string,
  "description": string
}
Campos
connection

string

Obrigatório. O nome completo do recurso da conexão referenciada do Integration Connectors. Formato: projects/{project}/locations/{location}/connections/{connection}

action

object (Action)

Obrigatório. Ação que a ferramenta vai usar.

authConfig

object (EndUserAuthConfig)

Opcional. Configura como a autenticação é processada nos Integration Connectors. Por padrão, uma autenticação de administrador é transmitida nas solicitações da API Integration Connectors. É possível substituir essa configuração com outra de autenticação do usuário final. Observação: a conexão precisa ter a substituição de autenticação ativada para especificar uma configuração de EUC aqui. Caso contrário, a criação do ConnectorTool vai falhar. Consulte https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override para mais detalhes.

name

string

Opcional. O nome da ferramenta que pode ser usada pelo agente para decidir se vai chamar esse ConnectorTool.

description

string

Opcional. A descrição da ferramenta que pode ser usada pelo agente para decidir se deve chamar esse ConnectorTool.

Ação

Representação 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

Opcional. Campos de entidade a serem usados como entradas para a operação. Se nenhum campo for especificado, todos os campos da entidade serão usados.

outputFields[]

string

Opcional. Campos de entidade a serem retornados da operação. Se nenhum campo for especificado, todos os campos da entidade serão retornados.

Campo de união action_spec. Especificação de uma ação a ser configurada para uso da ferramenta. action_spec pode ser apenas de um dos tipos a seguir:
connectionActionId

string

ID de uma ação de conexão para a ferramenta usar.

entityOperation

object (EntityOperation)

Configuração de operação de entidade para a ferramenta usar.

EntityOperation

Representação JSON
{
  "entityId": string,
  "operation": enum (OperationType)
}
Campos
entityId

string

Obrigatório. ID da entidade.

operation

enum (OperationType)

Obrigatório. Operação a ser realizada na entidade.

EndUserAuthConfig

Representação 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ão auth_config. A configuração de autenticação. auth_config pode ser apenas de um dos tipos a seguir:
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

Autenticação de código de autorização do OAuth 2.0.

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

Autenticação de concessão de autorização OAuth 2.0 do perfil JWT.

Oauth2AuthCodeConfig

Representação JSON
{
  "oauthToken": string
}
Campos
oauthToken

string

Obrigatório. Nome do parâmetro do token OAuth a ser transmitido. Precisa estar no formato $context.variables.<name_of_variable>.

Oauth2JwtBearerConfig

Representação JSON
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
Campos
issuer

string

Obrigatório. Nome do parâmetro do emissor a ser transmitido. Precisa estar no formato $context.variables.<name_of_variable>.

subject

string

Obrigatório. Nome do parâmetro de assunto a ser transmitido. Precisa estar no formato $context.variables.<name_of_variable>.

clientKey

string

Obrigatório. Nome do parâmetro do cliente a ser transmitido. Precisa estar no formato $context.variables.<name_of_variable>.

DataStoreTool

Representação 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

Obrigatório. O nome da ferramenta do repositório de dados.

description

string

Opcional. A descrição da ferramenta.

boostSpecs[]

object (BoostSpecs)

Opcional. Aumente a especificação para impulsionar determinados documentos.

modalityConfigs[]

object (ModalityConfig)

Opcional. As configurações de modalidade do repositório de dados.

filterParameterBehavior

enum (FilterParameterBehavior)

Opcional. O comportamento do parâmetro de filtro.

Campo de união search_source. Define a origem da pesquisa, que pode ser um único DataStore ou um Engine. search_source pode ser apenas de um dos tipos a seguir:
dataStoreSource

object (DataStoreSource)

Opcional. Pesquise em um único DataStore específico.

engineSource

object (EngineSource)

Opcional. Pesquise em um mecanismo (potencialmente em vários DataStores).

DataStoreSource

Representação JSON
{
  "filter": string,
  "dataStore": {
    object (DataStore)
  }
}
Campos
filter

string

Opcional. Especificação de filtro para o DataStore. Consulte: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

dataStore

object (DataStore)

Opcional. O repositório de dados.

DataStore

Representação JSON
{
  "name": string,
  "type": enum (DataStoreType),
  "documentProcessingMode": enum (DocumentProcessingMode),
  "displayName": string,
  "createTime": string,
  "connectorConfig": {
    object (ConnectorConfig)
  }
}
Campos
name

string

Obrigatório. Nome completo do recurso do DataStore. Formato: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}

type

enum (DataStoreType)

Apenas saída. O tipo do repositório de dados. Este campo é somente leitura e preenchido pelo servidor.

documentProcessingMode

enum (DocumentProcessingMode)

Apenas saída. O modo de processamento de documentos para a conexão do repositório de dados. Definido apenas para repositórios de dados PUBLIC_WEB e UNSTRUCTURED.

displayName

string

Apenas saída. O nome de exibição do repositório de dados.

createTime

string (Timestamp format)

Apenas saída. Carimbo de data/hora em que o repositório de dados foi criado.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

connectorConfig

object (ConnectorConfig)

Apenas saída. A configuração do conector para a conexão do repositório de dados.

Carimbo de data/hora

Representação JSON
{
  "seconds": string,
  "nanos": integer
}
Campos
seconds

string (int64 format)

Representa os segundos do horário UTC desde a época Unix 1970-01-01T00:00:00Z. Precisa estar entre -62135596800 e 253402300799 (o que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z).

nanos

integer

Frações não negativas de um segundo com resolução de nanossegundos. Esse campo é a parte de nanossegundos da duração, não uma alternativa aos segundos. Os valores de segundos negativos com frações ainda precisam ter valores em nanossegundos não negativos que representam períodos posteriores. O valor precisa ser de 0 a 999.999.999 (inclusive).

ConnectorConfig

Representação JSON
{
  "collection": string,
  "collectionDisplayName": string,
  "dataSource": string
}
Campos
collection

string

Nome do recurso da coleção a que o repositório de dados pertence.

collectionDisplayName

string

Nome de exibição da coleção a que o repositório de dados pertence.

dataSource

string

O nome da fonte de dados. Exemplo: salesforce, jira, confluence, bigquery.

EngineSource

Representação JSON
{
  "engine": string,
  "dataStoreSources": [
    {
      object (DataStoreSource)
    }
  ],
  "filter": string
}
Campos
engine

string

Obrigatório. Nome completo do recurso do mecanismo. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreSource)

Opcional. Usado para segmentar DataStores específicos no mecanismo. Se estiver vazio, a pesquisa será aplicada a todos os DataStores associados ao mecanismo.

filter

string

Opcional. Um filtro aplicado à pesquisa no mecanismo. Não é relevante nem usado se "data_store_sources" for fornecido. Consulte: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

BoostSpecs

Representação JSON
{
  "dataStores": [
    string
  ],
  "spec": [
    {
      object (BoostSpec)
    }
  ]
}
Campos
dataStores[]

string

Obrigatório. O repositório de dados em que a configuração de reforço é aplicada. Nome completo do recurso do DataStore, como projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}.

spec[]

object (BoostSpec)

Obrigatório. Uma lista de especificações de reforço.

BoostSpec

Representação JSON
{
  "conditionBoostSpecs": [
    {
      object (ConditionBoostSpec)
    }
  ]
}
Campos
conditionBoostSpecs[]

object (ConditionBoostSpec)

Obrigatório. Uma lista de especificações de reforço.

ConditionBoostSpec

Representação JSON
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
Campos
condition

string

Obrigatório. Uma expressão que especifica uma condição de reforço. A sintaxe é a mesma da expressão de filtro. No momento, a única condição aceita é uma lista de códigos de idioma BCP-47. Exemplo: para aumentar as sugestões nos idiomas en ou fr: (lang_code: ANY("en", "fr"))

boost

number

Opcional. Intensidade da otimização, que precisa estar em [-1, 1]. Reforço negativo significa rebaixamento. O padrão é 0,0.

Definir como 1.0 dá uma grande promoção às sugestões. No entanto, isso não significa necessariamente que o resultado principal será uma sugestão otimizada.

Definir como -1,0 rebaixa muito as sugestões. No entanto, outras sugestões relevantes ainda podem aparecer.

Definir como 0,0 significa que não há otimização aplicada. A condição de reforço é ignorada.

boostControlSpec

object (BoostControlSpec)

Opcional. Especificação complexa para classificação personalizada com base no valor de atributo definido pelo cliente.

BoostControlSpec

Representação JSON
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
Campos
fieldName

string

Opcional. O nome do campo cujo valor será usado para determinar a quantidade de reforço.

attributeType

enum (AttributeType)

Opcional. O tipo de atributo a ser usado para determinar o valor do reforço. O valor do atributo pode ser derivado do valor do campo do field_name especificado. No caso de valores numéricos, é simples: attribute_value = numerical_field_value. No caso da atualização, attribute_value = (time.now() - datetime_field_value).

interpolationType

enum (InterpolationType)

Opcional. O tipo de interpolação a ser aplicado para conectar os pontos de controle listados abaixo.

controlPoints[]

object (ControlPoint)

Opcional. Os pontos de controle usados para definir a curva. A função monotônica (definida pelo interpolation_type acima) passa pelos pontos de controle listados aqui.

ControlPoint

Representação JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Campos
attributeValue

string

Opcional. Pode ser um dos seguintes: 1. O valor do campo numérico. 2. A especificação de duração para atualização. O valor precisa ser formatado como um valor dayTimeDuration XSD (um subconjunto restrito de um valor de duração ISO 8601). O padrão é: [nD][T[nH][nM][nS]].

boostAmount

number

Opcional. O valor entre -1 e 1 pelo qual aumentar a pontuação se o atributo "attribute_value" for avaliado como o valor especificado acima.

ModalityConfig

Representação JSON
{
  "modalityType": enum (ModalityType),
  "rewriterConfig": {
    object (RewriterConfig)
  },
  "summarizationConfig": {
    object (SummarizationConfig)
  },
  "groundingConfig": {
    object (GroundingConfig)
  }
}
Campos
modalityType

enum (ModalityType)

Obrigatório. O tipo de modalidade.

rewriterConfig

object (RewriterConfig)

Opcional. A configuração do rewriter.

summarizationConfig

object (SummarizationConfig)

Opcional. A configuração de resumo.

groundingConfig

object (GroundingConfig)

Opcional. A configuração de embasamento.

RewriterConfig

Representação JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Campos
modelSettings

object (ModelSettings)

Obrigatório. Configurações do modelo de LLM.

prompt

string

Opcional. A definição do comando. Se não for definido, o comando padrão será usado.

disabled

boolean

Opcional. Se o rewriter está desativado.

ModelSettings

Representação 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

Opcional. O modelo de LLM que o agente deve usar. Se não estiver definido, o agente vai herdar o modelo do agente principal.

Campo de união _temperature.

_temperature pode ser apenas de um dos tipos a seguir:

temperature

number

Opcional. Se definido, essa temperatura será usada para o modelo LLM. A temperatura controla a aleatoriedade das respostas do modelo. Temperaturas mais baixas produzem respostas mais previsíveis. Temperaturas mais altas produzem respostas mais criativas.

SummarizationConfig

Representação JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Campos
modelSettings

object (ModelSettings)

Opcional. Configurações do modelo de LLM.

prompt

string

Opcional. A definição do comando. Se não for definido, o comando padrão será usado.

disabled

boolean

Opcional. Se o resumo está desativado.

GroundingConfig

Representação JSON
{
  "groundingLevel": number,
  "disabled": boolean
}
Campos
groundingLevel

number

Opcional. O limite de embasamento da resposta com base nas fontes recuperadas. O valor tem um intervalo configurável de [1, 5]. O nível é usado para definir o limite de embasamento da resposta. Isso significa que todas as respostas com uma pontuação de embasamento abaixo do limite vão retornar apenas snippets relevantes.

Por exemplo, um nível 3 significa que a pontuação de embasamento precisa ser 3 ou mais para que a resposta seja retornada.

disabled

boolean

Opcional. Se o embasamento está desativado.

PythonFunction

Representação JSON
{
  "name": string,
  "pythonCode": string,
  "description": string
}
Campos
name

string

Opcional. O nome da função Python a ser executada. Precisa corresponder a um nome de função Python definido no código Python. Diferencia maiúsculas de minúsculas. Se o nome não for fornecido, a primeira função definida no código Python será usada.

pythonCode

string

Opcional. O código Python a ser executado para a ferramenta.

description

string

Apenas saída. A descrição da função Python, analisada da docstring do código Python.

McpTool

Representação 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

Obrigatório. O nome da ferramenta do MCP.

description

string

Opcional. A descrição da ferramenta MCP.

inputSchema

object (Schema)

Opcional. O esquema dos argumentos de entrada da ferramenta MCP.

outputSchema

object (Schema)

Opcional. O esquema dos argumentos de saída da ferramenta MCP.

serverAddress

string

Obrigatório. O endereço do servidor MCP, por exemplo, "https://example.com/mcp/". Se o servidor for criado com o SDK do MCP, o URL vai ter o sufixo "/mcp/". Somente servidores baseados em transporte HTTP de streaming são compatíveis. É o mesmo que o "server_address" no McpToolset. Consulte https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http para mais detalhes.

apiAuthentication

object (ApiAuthentication)

Opcional. Informações de autenticação necessárias para executar a ferramenta no servidor MCP. Para autenticação de token de portador, o token se aplica apenas à execução da ferramenta, não à listagem de ferramentas. Isso exige que as ferramentas possam ser listadas sem autenticação.

tlsConfig

object (TlsConfig)

Opcional. A configuração de TLS. Inclui os certificados de servidor personalizados em que o cliente deve confiar.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Opcional. Configuração do Diretório de serviços para VPC-SC, usada para resolver nomes de serviços em um perímetro.

FileSearchTool

Representação JSON
{
  "corpusType": enum (CorpusType),
  "name": string,
  "description": string,
  "fileCorpus": string
}
Campos
corpusType

enum (CorpusType)

Opcional. O tipo de corpus. O padrão é FULLY_MANAGED.

name

string

Obrigatório. O nome da ferramenta.

description

string

Opcional. A descrição da ferramenta.

fileCorpus

string

Opcional. O corpus em que os arquivos são armazenados. Formato: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

SystemTool

Representação JSON
{
  "name": string,
  "description": string
}
Campos
name

string

Obrigatório. O nome da ferramenta do sistema.

description

string

Apenas saída. A descrição da ferramenta do sistema.

WidgetTool

Representação 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

Obrigatório. O nome de exibição da ferramenta de widget.

description

string

Opcional. A descrição da ferramenta de widget.

widgetType

enum (WidgetType)

Opcional. O tipo da ferramenta de widget. Se não for especificado, o tipo padrão será "CUSTOMIZED".

Campo de união input. A entrada da ferramenta de widget. input pode ser apenas de um dos tipos a seguir:
parameters

object (Schema)

Opcional. Os parâmetros de entrada da ferramenta de widget.

ToolFakeConfig

Representação 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

Opcional. Indica se a ferramenta está usando o modo simulado.

Campo de união tool_response. A resposta é estática ou fornecida por uma função Python. tool_response pode ser apenas de um dos tipos a seguir:
codeBlock

object (CodeBlock)

Opcional. Bloco de código que será executado em vez de uma chamada de ferramenta real.

CodeBlock

Representação JSON
{
  "pythonCode": string
}
Campos
pythonCode

string

Obrigatório. Código Python que será invocado no modo falso de ferramenta. Assinatura esperada da função Python: para capturar todas as chamadas de ferramenta: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: para capturar uma chamada de ferramenta específica: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: se a função retornar "None", a ferramenta real será invocada.

Anotações de ferramentas

Dica destrutiva: ❌ | Dica idempotente: ✅ | Dica somente leitura: ✅ | Dica de mundo aberto: ❌