Ferramenta: create_deployment
Cria uma nova implantação no app especificado.
O exemplo de código a seguir mostra como usar curl para chamar a ferramenta MCP create_deployment.
| Solicitação 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": "create_deployment", "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.CreateDeployment.
CreateDeploymentRequest
| Representação JSON |
|---|
{
"parent": string,
"deploymentId": string,
"deployment": {
object ( |
| Campos | |
|---|---|
parent |
Obrigatório. O app principal. Formato: |
deploymentId |
Opcional. O ID a ser usado na implantação, que se tornará o componente final do nome do recurso da implantação. Se não for fornecido, um ID exclusivo será atribuído automaticamente à implantação. |
deployment |
Obrigatório. A implantação a ser criada. |
Implantação
| Representação JSON |
|---|
{ "name": string, "displayName": string, "appVersion": string, "channelProfile": { object ( |
| Campos | |
|---|---|
name |
Identificador. O nome do recurso da implantação. Formato: |
displayName |
Obrigatório. Nome de exibição da implantação. |
appVersion |
Opcional. O nome do recurso da versão do app a ser implantada. Formato: |
channelProfile |
Obrigatório. O perfil do canal usado na implantação. |
createTime |
Apenas saída. Carimbo de data/hora em que a implantação 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: |
updateTime |
Apenas saída. Carimbo de data/hora em que essa implantação foi atualizada pela última vez. 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: |
etag |
Apenas saída. 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. |
experimentConfig |
Opcional. Configuração do experimento para a implantação. |
whatsappCredentials |
Opcional. Somente entrada. Credenciais temporárias do WhatsApp necessárias ao configurar um perfil de canal do WhatsApp. |
instagramCredentials |
Opcional. Somente entrada. Credenciais temporárias do Instagram necessárias ao configurar um perfil de canal do Instagram. |
modelSettings |
Opcional. Configurações do modelo para a implantação. Substitui as configurações de modelo definidas nos níveis de app/agente. Observação: a substituição das configurações do modelo no nível da implantação é controlada por uma lista de permissão. Entre em contato com a equipe do CXAS para ativar esse campo. |
modality |
Opcional. A modalidade da implantação. Observação: a substituição de modalidade no nível da implantação é controlada por uma lista de permissões. Entre em contato com a equipe do CXAS para ativar esse campo. |
ChannelProfile
| Representação JSON |
|---|
{ "profileId": string, "channelType": enum ( |
| Campos | |
|---|---|
profileId |
Opcional. O identificador exclusivo do perfil do canal. |
channelType |
Opcional. O tipo do perfil do canal. |
personaProperty |
Opcional. A propriedade de persona do perfil do canal. |
webWidgetConfig |
Opcional. A configuração do widget da Web. |
whatsappConfig |
Opcional. Configuração específica para implantações do WhatsApp. |
instagramConfig |
Opcional. Configuração específica para implantações do Instagram. |
Campo de união
|
|
disableDtmf |
Opcional. Indica se o DTMF (multifrequência de dois tons) será desativado. |
Campo de união
|
|
disableBargeInControl |
Opcional. Se o controle de interrupção do usuário na conversa deve ser desativado. - true: as interrupções do usuário são desativadas enquanto o agente está falando. - false: o agente mantém o controle automático sobre quando o usuário pode interromper. |
Campo de união
|
|
noiseSuppressionLevel |
Opcional. O nível de supressão de ruído do perfil do canal. Os valores disponíveis são "low", "moderate", "high", "very_high". |
PersonaProperty
| Representação JSON |
|---|
{
"persona": enum ( |
| Campos | |
|---|---|
persona |
Opcional. A persona do canal. |
WebWidgetConfig
| Representação JSON |
|---|
{ "modality": enum ( |
| Campos | |
|---|---|
modality |
Opcional. A modalidade do widget da Web. |
theme |
Opcional. O tema do widget da Web. |
webWidgetTitle |
Opcional. O título do widget da Web. |
securitySettings |
Opcional. As configurações de segurança do widget da Web. |
SecuritySettings
| Representação JSON |
|---|
{ "enablePublicAccess": boolean, "enableOriginCheck": boolean, "allowedOrigins": [ string ], "enableRecaptcha": boolean } |
| Campos | |
|---|---|
enablePublicAccess |
Opcional. Indica se o acesso público ao widget da Web está ativado. Se for |
enableOriginCheck |
Opcional. Indica se a verificação de origem do widget da Web está ativada. Se |
allowedOrigins[] |
Opcional. As origens que podem hospedar o widget da Web. Uma origem é definida pela RFC 6454. Se estiver vazio, todas as origens serão permitidas. São permitidas no máximo 100 origens. Exemplo: "https://example.com" |
enableRecaptcha |
Opcional. Indica se a verificação reCAPTCHA para o widget da Web está ativada. |
WhatsAppConfig
| Representação JSON |
|---|
{ "wabaId": string, "phoneNumberId": string, "phoneNumber": string, "displayName": string, "thumbnailUrl": string, "description": string } |
| Campos | |
|---|---|
wabaId |
Obrigatório. O ID da conta do WhatsApp Business. |
phoneNumberId |
Obrigatório. O ID do número de telefone da Meta. |
phoneNumber |
Opcional. O número de telefone no formato E.164. |
displayName |
Apenas saída. O nome da página comercial do Meta buscado. |
thumbnailUrl |
Apenas saída. O URL da miniatura do perfil comercial do Meta buscado. |
description |
Apenas saída. A descrição da página ou do perfil comercial do Meta. |
InstagramConfig
| Representação JSON |
|---|
{ "instagramAccountId": string, "displayName": string, "thumbnailUrl": string, "description": string } |
| Campos | |
|---|---|
instagramAccountId |
Obrigatório. O ID da conta do Instagram. |
displayName |
Apenas saída. O nome da página comercial do Meta buscado. |
thumbnailUrl |
Apenas saída. O URL da miniatura do perfil comercial do Meta buscado. |
description |
Apenas saída. A descrição da página ou do perfil comercial do Meta. |
Carimbo de data/hora
| Representação JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
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 |
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). |
ExperimentConfig
| Representação JSON |
|---|
{
"versionRelease": {
object ( |
| Campos | |
|---|---|
versionRelease |
Opcional. Versão de lançamento do experimento. |
VersionRelease
| Representação JSON |
|---|
{ "state": enum ( |
| Campos | |
|---|---|
state |
Opcional. Estado do lançamento da versão. |
trafficAllocations[] |
Opcional. Alocações de tráfego para o lançamento da versão. |
TrafficAllocation
| Representação JSON |
|---|
{ "id": string, "trafficPercentage": integer, "appVersion": string } |
| Campos | |
|---|---|
id |
Opcional. ID da alocação de tráfego. String de formato livre, com até 128 caracteres. |
trafficPercentage |
Opcional. Porcentagem de tráfego da alocação de tráfego. Precisa ser entre 0 e 100. |
appVersion |
Opcional. Versão do app da alocação de tráfego. Formato: |
WhatsAppCredentials
| Representação JSON |
|---|
{ "authCode": string, "pin": string, "phoneNumber": string, "businessAccountId": string, "wabaId": string, "conversationProfileId": string } |
| Campos | |
|---|---|
authCode |
Obrigatório. O código de autenticação da Meta fornecido pelo fluxo de inscrição incorporado. |
pin |
Obrigatório. O PIN de seis dígitos criado pelo usuário para a verificação em duas etapas. |
phoneNumber |
Obrigatório. O número de telefone para registrar no WhatsApp. |
businessAccountId |
Obrigatório. O ID da Conta empresarial a ser usado para o número de telefone. |
wabaId |
Obrigatório. O ID da conta do WhatsApp Business. |
conversationProfileId |
Opcional. O ID do perfil de conversa a ser usado na implantação. |
InstagramCredentials
| Representação JSON |
|---|
{ "authCode": string, "conversationProfileId": string } |
| Campos | |
|---|---|
authCode |
Obrigatório. O código de autenticação da Meta fornecido pelo fluxo de inscrição incorporado. |
conversationProfileId |
Opcional. O ID do perfil de conversa a ser usado na implantação. |
ModelSettings
| Representação JSON |
|---|
{ "model": string, // Union field |
| Campos | |
|---|---|
model |
Opcional. O modelo de LLM que o agente deve usar. Se não estiver definido, o agente vai herdar o modelo do agente pai. |
Campo de união
|
|
temperature |
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. |
ChannelType
O tipo do perfil do canal.
| Tipos enumerados | |
|---|---|
UNKNOWN |
Tipo de canal desconhecido. |
WEB_UI |
Canal da interface da Web. |
API |
Canal da API. |
TWILIO |
Canal do Twilio. |
GOOGLE_TELEPHONY_PLATFORM |
Canal da plataforma de telefonia do Google. |
CONTACT_CENTER_AS_A_SERVICE |
Canal de central de atendimento como serviço (CCaaS). |
CONTACT_CENTER_AS_A_SERVICE_CHAT |
Canal da central de atendimento como serviço (chat da CCaaS). |
FIVE9 |
Canal da Five9. |
CONTACT_CENTER_INTEGRATION |
Canal de integração da central de atendimento de terceiros. |
WHATSAPP |
Canal do WhatsApp. |
INSTAGRAM |
Canal do Instagram. |
Persona
A persona do canal.
| Tipos enumerados | |
|---|---|
UNKNOWN |
Persona UNKNOWN. |
CONCISE |
O agente mantém as respostas concisas e diretas. |
CHATTY |
O agente fornece mais contexto, explicações e detalhes. |
Modalidade
Modalidade do widget da Web.
| Tipos enumerados | |
|---|---|
MODALITY_UNSPECIFIED |
Modalidade desconhecida. |
CHAT_AND_VOICE |
O widget é compatível com entrada de texto e entrada de texto por voz. |
VOICE_ONLY |
O widget só aceita entrada de texto por voz. |
CHAT_ONLY |
O widget só aceita entrada de texto. |
CHAT_VOICE_AND_VIDEO |
O widget aceita entrada de texto, voz e vídeo. |
Tema
Tema do widget da Web.
| Tipos enumerados | |
|---|---|
THEME_UNSPECIFIED |
Tema desconhecido. |
LIGHT |
Tema claro. |
DARK |
Tema escuro. |
Estado
Estado do experimento.
| Tipos enumerados | |
|---|---|
STATE_UNSPECIFIED |
Estado não especificado. |
PENDING |
Descontinuado: este estado não é mais usado. |
RUNNING |
Estado de execução. O experimento está em execução e é válido. |
DONE |
Descontinuado: este estado não é mais usado. |
EXPIRED |
Descontinuado: este estado não é mais usado. |
Modalidade
A modalidade da implantação.
| Tipos enumerados | |
|---|---|
MODALITY_UNSPECIFIED |
Modalidade desconhecida. |
MODALITY_TEXT |
Modalidade de texto. |
MODALITY_VOICE |
Modalidade de voz. |
MODALITY_VIDEO |
Modalidade de vídeo. |
Esquema de saída
Uma implantação representa uma versão imutável e consultável do app. Ela é usada para implantar uma versão do app com um perfil de canal específico.
Implantação
| Representação JSON |
|---|
{ "name": string, "displayName": string, "appVersion": string, "channelProfile": { object ( |
| Campos | |
|---|---|
name |
Identificador. O nome do recurso da implantação. Formato: |
displayName |
Obrigatório. Nome de exibição da implantação. |
appVersion |
Opcional. O nome do recurso da versão do app a ser implantada. Formato: |
channelProfile |
Obrigatório. O perfil do canal usado na implantação. |
createTime |
Apenas saída. Carimbo de data/hora em que a implantação 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: |
updateTime |
Apenas saída. Carimbo de data/hora em que essa implantação foi atualizada pela última vez. 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: |
etag |
Apenas saída. 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. |
experimentConfig |
Opcional. Configuração do experimento para a implantação. |
whatsappCredentials |
Opcional. Somente entrada. Credenciais temporárias do WhatsApp necessárias ao configurar um perfil de canal do WhatsApp. |
instagramCredentials |
Opcional. Somente entrada. Credenciais temporárias do Instagram necessárias ao configurar um perfil de canal do Instagram. |
modelSettings |
Opcional. Configurações do modelo para a implantação. Substitui as configurações de modelo definidas nos níveis de app/agente. Observação: a substituição das configurações do modelo no nível da implantação é controlada por uma lista de permissão. Entre em contato com a equipe do CXAS para ativar esse campo. |
modality |
Opcional. A modalidade da implantação. Observação: a substituição de modalidade no nível da implantação é controlada por uma lista de permissões. Entre em contato com a equipe do CXAS para ativar esse campo. |
ChannelProfile
| Representação JSON |
|---|
{ "profileId": string, "channelType": enum ( |
| Campos | |
|---|---|
profileId |
Opcional. O identificador exclusivo do perfil do canal. |
channelType |
Opcional. O tipo do perfil do canal. |
personaProperty |
Opcional. A propriedade de persona do perfil do canal. |
webWidgetConfig |
Opcional. A configuração do widget da Web. |
whatsappConfig |
Opcional. Configuração específica para implantações do WhatsApp. |
instagramConfig |
Opcional. Configuração específica para implantações do Instagram. |
Campo de união
|
|
disableDtmf |
Opcional. Indica se o DTMF (multifrequência de dois tons) será desativado. |
Campo de união
|
|
disableBargeInControl |
Opcional. Se o controle de interrupção do usuário na conversa deve ser desativado. - true: as interrupções do usuário são desativadas enquanto o agente está falando. - false: o agente mantém o controle automático sobre quando o usuário pode interromper. |
Campo de união
|
|
noiseSuppressionLevel |
Opcional. O nível de supressão de ruído do perfil do canal. Os valores disponíveis são "low", "moderate", "high", "very_high". |
PersonaProperty
| Representação JSON |
|---|
{
"persona": enum ( |
| Campos | |
|---|---|
persona |
Opcional. A persona do canal. |
WebWidgetConfig
| Representação JSON |
|---|
{ "modality": enum ( |
| Campos | |
|---|---|
modality |
Opcional. A modalidade do widget da Web. |
theme |
Opcional. O tema do widget da Web. |
webWidgetTitle |
Opcional. O título do widget da Web. |
securitySettings |
Opcional. As configurações de segurança do widget da Web. |
SecuritySettings
| Representação JSON |
|---|
{ "enablePublicAccess": boolean, "enableOriginCheck": boolean, "allowedOrigins": [ string ], "enableRecaptcha": boolean } |
| Campos | |
|---|---|
enablePublicAccess |
Opcional. Indica se o acesso público ao widget da Web está ativado. Se for |
enableOriginCheck |
Opcional. Indica se a verificação de origem do widget da Web está ativada. Se |
allowedOrigins[] |
Opcional. As origens que podem hospedar o widget da Web. Uma origem é definida pela RFC 6454. Se estiver vazio, todas as origens serão permitidas. São permitidas no máximo 100 origens. Exemplo: "https://example.com" |
enableRecaptcha |
Opcional. Indica se a verificação reCAPTCHA para o widget da Web está ativada. |
WhatsAppConfig
| Representação JSON |
|---|
{ "wabaId": string, "phoneNumberId": string, "phoneNumber": string, "displayName": string, "thumbnailUrl": string, "description": string } |
| Campos | |
|---|---|
wabaId |
Obrigatório. O ID da conta do WhatsApp Business. |
phoneNumberId |
Obrigatório. O ID do número de telefone da Meta. |
phoneNumber |
Opcional. O número de telefone no formato E.164. |
displayName |
Apenas saída. O nome da página comercial do Meta buscado. |
thumbnailUrl |
Apenas saída. O URL da miniatura do perfil comercial do Meta buscado. |
description |
Apenas saída. A descrição da página ou do perfil comercial do Meta. |
InstagramConfig
| Representação JSON |
|---|
{ "instagramAccountId": string, "displayName": string, "thumbnailUrl": string, "description": string } |
| Campos | |
|---|---|
instagramAccountId |
Obrigatório. O ID da conta do Instagram. |
displayName |
Apenas saída. O nome da página comercial do Meta buscado. |
thumbnailUrl |
Apenas saída. O URL da miniatura do perfil comercial do Meta buscado. |
description |
Apenas saída. A descrição da página ou do perfil comercial do Meta. |
Carimbo de data/hora
| Representação JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
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 |
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). |
ExperimentConfig
| Representação JSON |
|---|
{
"versionRelease": {
object ( |
| Campos | |
|---|---|
versionRelease |
Opcional. Versão de lançamento do experimento. |
VersionRelease
| Representação JSON |
|---|
{ "state": enum ( |
| Campos | |
|---|---|
state |
Opcional. Estado do lançamento da versão. |
trafficAllocations[] |
Opcional. Alocações de tráfego para o lançamento da versão. |
TrafficAllocation
| Representação JSON |
|---|
{ "id": string, "trafficPercentage": integer, "appVersion": string } |
| Campos | |
|---|---|
id |
Opcional. ID da alocação de tráfego. String de formato livre, com até 128 caracteres. |
trafficPercentage |
Opcional. Porcentagem de tráfego da alocação de tráfego. Precisa ser entre 0 e 100. |
appVersion |
Opcional. Versão do app da alocação de tráfego. Formato: |
WhatsAppCredentials
| Representação JSON |
|---|
{ "authCode": string, "pin": string, "phoneNumber": string, "businessAccountId": string, "wabaId": string, "conversationProfileId": string } |
| Campos | |
|---|---|
authCode |
Obrigatório. O código de autenticação da Meta fornecido pelo fluxo de inscrição incorporado. |
pin |
Obrigatório. O PIN de seis dígitos criado pelo usuário para a verificação em duas etapas. |
phoneNumber |
Obrigatório. O número de telefone para registrar no WhatsApp. |
businessAccountId |
Obrigatório. O ID da Conta empresarial a ser usado para o número de telefone. |
wabaId |
Obrigatório. O ID da conta do WhatsApp Business. |
conversationProfileId |
Opcional. O ID do perfil de conversa a ser usado na implantação. |
InstagramCredentials
| Representação JSON |
|---|
{ "authCode": string, "conversationProfileId": string } |
| Campos | |
|---|---|
authCode |
Obrigatório. O código de autenticação da Meta fornecido pelo fluxo de inscrição incorporado. |
conversationProfileId |
Opcional. O ID do perfil de conversa a ser usado na implantação. |
ModelSettings
| Representação JSON |
|---|
{ "model": string, // Union field |
| Campos | |
|---|---|
model |
Opcional. O modelo de LLM que o agente deve usar. Se não estiver definido, o agente vai herdar o modelo do agente pai. |
Campo de união
|
|
temperature |
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. |
ChannelType
O tipo do perfil do canal.
| Tipos enumerados | |
|---|---|
UNKNOWN |
Tipo de canal desconhecido. |
WEB_UI |
Canal da interface da Web. |
API |
Canal da API. |
TWILIO |
Canal do Twilio. |
GOOGLE_TELEPHONY_PLATFORM |
Canal da plataforma de telefonia do Google. |
CONTACT_CENTER_AS_A_SERVICE |
Canal de central de atendimento como serviço (CCaaS). |
CONTACT_CENTER_AS_A_SERVICE_CHAT |
Canal da central de atendimento como serviço (chat da CCaaS). |
FIVE9 |
Canal da Five9. |
CONTACT_CENTER_INTEGRATION |
Canal de integração da central de atendimento de terceiros. |
WHATSAPP |
Canal do WhatsApp. |
INSTAGRAM |
Canal do Instagram. |
Persona
A persona do canal.
| Tipos enumerados | |
|---|---|
UNKNOWN |
Persona UNKNOWN. |
CONCISE |
O agente mantém as respostas concisas e diretas. |
CHATTY |
O agente fornece mais contexto, explicações e detalhes. |
Modalidade
Modalidade do widget da Web.
| Tipos enumerados | |
|---|---|
MODALITY_UNSPECIFIED |
Modalidade desconhecida. |
CHAT_AND_VOICE |
O widget é compatível com entrada de texto e entrada de texto por voz. |
VOICE_ONLY |
O widget só aceita entrada de texto por voz. |
CHAT_ONLY |
O widget só aceita entrada de texto. |
CHAT_VOICE_AND_VIDEO |
O widget aceita entrada de texto, voz e vídeo. |
Tema
Tema do widget da Web.
| Tipos enumerados | |
|---|---|
THEME_UNSPECIFIED |
Tema desconhecido. |
LIGHT |
Tema claro. |
DARK |
Tema escuro. |
Estado
Estado do experimento.
| Tipos enumerados | |
|---|---|
STATE_UNSPECIFIED |
Estado não especificado. |
PENDING |
Descontinuado: este estado não é mais usado. |
RUNNING |
Estado de execução. O experimento está em execução e é válido. |
DONE |
Descontinuado: este estado não é mais usado. |
EXPIRED |
Descontinuado: este estado não é mais usado. |
Modalidade
A modalidade da implantação.
| Tipos enumerados | |
|---|---|
MODALITY_UNSPECIFIED |
Modalidade desconhecida. |
MODALITY_TEXT |
Modalidade de texto. |
MODALITY_VOICE |
Modalidade de voz. |
MODALITY_VIDEO |
Modalidade de vídeo. |
Anotações de ferramentas
As anotações de ferramentas são enviadas aos clientes do MCP para descrever o risco básico de uma determinada ferramenta. A maioria dos clientes trata essas dicas como não confiáveis, mas elas podem ser usadas para decidir quando um pedido de confirmação pode ser enviado a um usuário.
Além da string de título, as seguintes dicas booleanas são definidas da seguinte maneira:
readOnlyHint: se for "true", a ferramenta não vai modificar o ambiente. Padrão: false.destructiveHint: se for "true", a ferramenta poderá realizar ações destrutivas. Se for "false", a ferramenta só poderá realizar ações de adição. Padrão: verdadeiro.idempotentHint: se for "true", chamar a ferramenta repetidamente com os mesmos argumentos não terá efeito adicional no ambiente dela. Padrão: false.openWorldHint: se for "true", a ferramenta poderá interagir com um "mundo aberto" de entidades externas. Se for "false", a ferramenta só poderá interagir com entidades internas. Por exemplo, uma ferramenta de pesquisa na Web seria de mundo aberto, enquanto uma ferramenta de memória não seria.
Dica destrutiva: ✅ | Dica idempotente: ❌ | Dica somente leitura: ❌ | Dica de mundo aberto: ❌