MCP Tools Reference: ces.googleapis.com

Ferramenta: list_guardrails

Lista os mecanismos de proteção no app especificado.

O exemplo a seguir demonstra como usar curl para invocar a ferramenta list_guardrails 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_guardrails",
    "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.ListGuardrails.

ListGuardrailsRequest

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 os mecanismos de proteção serão listados.

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

filter

string

Opcional. Filtro a ser aplicado ao listar as proteções. 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.ListGuardrails.

ListGuardrailsResponse

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

object (Guardrail)

A lista de proteções.

nextPageToken

string

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

Proteção

Representação JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "enabled": boolean,
  "action": {
    object (TriggerAction)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,

  // Union field guardrail_type can be only one of the following:
  "contentFilter": {
    object (ContentFilter)
  },
  "llmPromptSecurity": {
    object (LlmPromptSecurity)
  },
  "llmPolicy": {
    object (LlmPolicy)
  },
  "modelSafety": {
    object (ModelSafety)
  },
  "codeCallback": {
    object (CodeCallback)
  }
  // End of list of possible types for union field guardrail_type.
}
Campos
name

string

Identificador. O identificador exclusivo da proteção. Formato: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

Obrigatório. Nome de exibição da proteção.

description

string

Opcional. Descrição da proteção.

enabled

boolean

Opcional. Se a proteção está ativada.

action

object (TriggerAction)

Opcional. Ação a ser tomada quando o guardrail é acionado.

createTime

string (Timestamp format)

Apenas saída. Carimbo de data/hora em que a proteçã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: "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 proteção.

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.

Campo de união guardrail_type. Tipo de proteção. guardrail_type pode ser apenas de um dos tipos a seguir:
contentFilter

object (ContentFilter)

Opcional. Proteção que proíbe o uso de determinados conteúdos na conversa.

llmPromptSecurity

object (LlmPromptSecurity)

Opcional. Proteção que bloqueia a conversa se o comando for considerado inseguro com base na classificação do LLM.

llmPolicy

object (LlmPolicy)

Opcional. Proteção que bloqueia a conversa se a resposta do LLM for considerada uma violação da política com base na classificação do LLM.

modelSafety

object (ModelSafety)

Opcional. Proteção que bloqueia a conversa se a resposta do LLM for considerada não segura com base nas configurações de segurança do modelo.

codeCallback

object (CodeCallback)

Opcional. Proteção que pode bloquear a conversa com base no resultado da execução do callback.

ContentFilter

Representação JSON
{
  "bannedContents": [
    string
  ],
  "bannedContentsInUserInput": [
    string
  ],
  "bannedContentsInAgentResponse": [
    string
  ],
  "matchType": enum (MatchType),
  "disregardDiacritics": boolean
}
Campos
bannedContents[]

string

Opcional. Lista de frases proibidas. Isso se aplica às entradas do usuário e às respostas do agente.

bannedContentsInUserInput[]

string

Opcional. Lista de frases proibidas. Aplica-se apenas às entradas do usuário.

bannedContentsInAgentResponse[]

string

Opcional. Lista de frases proibidas. Aplicável apenas às respostas do agente.

matchType

enum (MatchType)

Obrigatório. Tipo de correspondência para o filtro de conteúdo.

disregardDiacritics

boolean

Opcional. Se for verdadeiro, os diacríticos serão ignorados durante a correspondência.

LlmPromptSecurity

Representação JSON
{
  "failOpen": boolean,

  // Union field security_config can be only one of the following:
  "defaultSettings": {
    object (DefaultSecuritySettings)
  },
  "customPolicy": {
    object (LlmPolicy)
  }
  // End of list of possible types for union field security_config.
}
Campos
failOpen

boolean

Opcional. Determina o comportamento quando a proteção encontra um erro de LLM. - Se for "true", a proteção será ignorada. - Se for "false" (padrão): o guardrail é acionado/bloqueado.

Observação: se uma política personalizada for fornecida, esse campo será ignorado em favor da configuração "fail_open" da política.

Campo de união security_config. Define o modo de configuração de segurança. O usuário precisa escolher uma das seguintes configurações. security_config pode ser apenas de um dos tipos a seguir:
defaultSettings

object (DefaultSecuritySettings)

Opcional. Use as configurações de segurança padrão predefinidas do sistema. Para selecionar esse modo, inclua uma mensagem "default_settings" vazia na solicitação. O campo "default_prompt_template" será preenchido pelo servidor na resposta.

customPolicy

object (LlmPolicy)

Opcional. Use uma LlmPolicy definida pelo usuário para configurar a proteção de segurança.

DefaultSecuritySettings

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

string

Apenas saída. O modelo de solicitação padrão usado pelo sistema. Este campo é para fins de exibição e mostra ao usuário qual comando o sistema usa por padrão. É OUTPUT_ONLY.

LlmPolicy

Representação JSON
{
  "maxConversationMessages": integer,
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "policyScope": enum (PolicyScope),
  "failOpen": boolean,
  "allowShortUtterance": boolean
}
Campos
maxConversationMessages

integer

Opcional. Ao verificar essa política, considere as últimas "n" mensagens na conversa. Quando não definido, um valor padrão de 10 será usado.

modelSettings

object (ModelSettings)

Opcional. Configurações do modelo.

prompt

string

Obrigatório. Solicitação de política.

policyScope

enum (PolicyScope)

Obrigatório. Define quando aplicar a verificação de política durante a conversa. Se definida como POLICY_SCOPE_UNSPECIFIED, a política será aplicada à entrada do usuário. Ao aplicar a política à resposta do agente, uma latência adicional será introduzida antes que o agente possa responder.

failOpen

boolean

Opcional. Se ocorrer um erro durante a verificação da política, falhe ao abrir e não acione o guardrail.

allowShortUtterance

boolean

Opcional. Por padrão, a verificação de política do LLM é ignorada para frases curtas. Ao ativar essa configuração, a verificação de política é aplicada a todas as declarações, incluindo aquelas que normalmente seriam ignoradas.

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.

ModelSafety

Representação JSON
{
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ]
}
Campos
safetySettings[]

object (SafetySetting)

Obrigatório. Lista de configurações de segurança.

SafetySetting

Representação JSON
{
  "category": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold)
}
Campos
category

enum (HarmCategory)

Obrigatório. A categoria de dano.

threshold

enum (HarmBlockThreshold)

Obrigatório. O limite do bloqueio de danos.

CodeCallback

Representação JSON
{
  "beforeAgentCallback": {
    object (Callback)
  },
  "afterAgentCallback": {
    object (Callback)
  },
  "beforeModelCallback": {
    object (Callback)
  },
  "afterModelCallback": {
    object (Callback)
  }
}
Campos
beforeAgentCallback

object (Callback)

Opcional. O callback a ser executado antes da chamada do agente. Cada função de callback precisa retornar uma estrutura (por exemplo, um dict ou objeto) que contenha pelo menos: - "decision": "OK" ou "TRIGGER". - "reason": uma string que explica a decisão. Uma decisão "TRIGGER" pode interromper o processamento.

afterAgentCallback

object (Callback)

Opcional. O callback a ser executado depois que o agente for chamado. Cada função de callback precisa retornar uma estrutura (por exemplo, um dict ou objeto) que contenha pelo menos: - "decision": "OK" ou "TRIGGER". - "reason": uma string que explica a decisão. Uma decisão "TRIGGER" pode interromper o processamento.

beforeModelCallback

object (Callback)

Opcional. O callback a ser executado antes de chamar o modelo. Se houver várias chamadas para o modelo, o callback será executado várias vezes. Cada função de callback precisa retornar uma estrutura (por exemplo, um dict ou objeto) que contenha pelo menos: - "decision": "OK" ou "TRIGGER". - "reason": uma string que explica a decisão. Uma decisão "TRIGGER" pode interromper o processamento.

afterModelCallback

object (Callback)

Opcional. O callback a ser executado depois que o modelo é chamado. Se houver várias chamadas para o modelo, o callback será executado várias vezes. Cada função de callback precisa retornar uma estrutura (por exemplo, um dict ou objeto) que contenha pelo menos: - "decision": "OK" ou "TRIGGER". - "reason": uma string que explica a decisão. Uma decisão "TRIGGER" pode interromper o processamento.

Callback

Representação JSON
{
  "description": string,
  "disabled": boolean,
  "proactiveExecutionEnabled": boolean,

  // Union field callback can be only one of the following:
  "pythonCode": string
  // End of list of possible types for union field callback.
}
Campos
description

string

Opcional. Descrição legível do callback.

disabled

boolean

Opcional. Se o callback está desativado. Os retornos de chamada desativados são ignorados pelo agente.

proactiveExecutionEnabled

boolean

Opcional. Se ativado, o callback também será executado em saídas intermediárias do modelo. Essa configuração só afeta o retorno de chamada após o modelo. ATIVE COM CUIDADO. Normalmente, o callback do modelo só precisa ser executado depois de receber todas as respostas do modelo. Ativar a execução proativa pode ter implicações negativas no custo e na latência da execução. Portanto, essa opção só deve ser ativada em situações raras.

Campo de união callback. O callback a ser executado. callback pode ser apenas de um dos tipos a seguir:
pythonCode

string

Obrigatório. O código Python a ser executado para o callback.

TriggerAction

Representação JSON
{

  // Union field action can be only one of the following:
  "respondImmediately": {
    object (RespondImmediately)
  },
  "transferAgent": {
    object (TransferAgent)
  },
  "generativeAnswer": {
    object (GenerativeAnswer)
  }
  // End of list of possible types for union field action.
}
Campos
Campo de união action. A ação a ser tomada. action pode ser apenas de um dos tipos a seguir:
respondImmediately

object (RespondImmediately)

Opcional. Responder imediatamente com uma resposta pré-configurada.

transferAgent

object (TransferAgent)

Opcional. Transfira a conversa para outro agente.

generativeAnswer

object (GenerativeAnswer)

Opcional. Responda com uma resposta generativa.

RespondImmediately

Representação JSON
{
  "responses": [
    {
      object (Response)
    }
  ]
}
Campos
responses[]

object (Response)

Obrigatório. As respostas predefinidas para o agente escolher. A resposta é escolhida aleatoriamente.

Resposta

Representação JSON
{
  "text": string,
  "disabled": boolean
}
Campos
text

string

Obrigatório. Texto para o agente responder.

disabled

boolean

Opcional. Se a resposta está desativada. As respostas desativadas não são usadas pelo agente.

TransferAgent

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

string

Obrigatório. O nome do agente para quem a conversa será transferida. O agente precisa estar no mesmo app que o agente atual. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

GenerativeAnswer

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

string

Obrigatório. O comando a ser usado para a resposta generativa.

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

Anotações de ferramentas

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