MCP Tools Reference: ces.googleapis.com

工具:list_guardrails

列出给定应用中的安全屏障。

以下示例演示了如何使用 curl 调用 list_guardrails MCP 工具。

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
}'
                

输入架构

AgentService.ListGuardrails 的请求消息。

ListGuardrailsRequest

JSON 表示法
{
  "parent": string,
  "pageSize": integer,
  "pageToken": string,
  "filter": string,
  "orderBy": string
}
字段
parent

string

必需。要列出安全屏障的应用的资源名称。

pageSize

integer

可选。请求的页面大小。 服务器返回的项可能要比请求的少。如果未指定,服务器将选择合适的默认值。

pageToken

string

可选。从上一次列表 AgentService.ListGuardrails 调用返回的 next_page_token 值。

filter

string

可选。列出保护措施时要应用的过滤条件。如需了解详情,请参阅 https://google.aip.dev/160

orderBy

string

可选。要排序的字段。仅支持“name”和“create_time”。如需了解详情,请参阅 https://google.aip.dev/132#ordering

输出架构

AgentService.ListGuardrails 的响应消息。

ListGuardrailsResponse

JSON 表示法
{
  "guardrails": [
    {
      object (Guardrail)
    }
  ],
  "nextPageToken": string
}
字段
guardrails[]

object (Guardrail)

防护措施列表。

nextPageToken

string

可作为 ListGuardrailsRequest.page_token 发送并用于检索下一页的令牌。如果缺少此字段,则表示没有后续页面。

保护措施

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.
}
字段
name

string

标识符。安全屏障的唯一标识符。格式:projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

必需。安全屏障的显示名称。

description

string

可选。安全屏障的说明。

enabled

boolean

可选。安全防护措施是否已启用。

action

object (TriggerAction)

可选。触发安全护栏时要采取的操作。

createTime

string (Timestamp format)

仅限输出。安全措施的创建时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

仅限输出。安全措施上次更新的时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

etag

string

用于确保对象在读取-修改-写入操作期间未发生更改的 ETag。如果 etag 为空,则更新会覆盖任何并发更改。

联合字段 guardrail_type。安全护栏类型。guardrail_type 只能是下列其中一项:
contentFilter

object (ContentFilter)

可选。禁止在对话中使用某些内容的护栏。

llmPromptSecurity

object (LlmPromptSecurity)

可选。如果根据 LLM 分类,提示被认为不安全,则会阻止对话的保护措施。

llmPolicy

object (LlmPolicy)

可选。如果 LLM 回答根据 LLM 分类被视为违反政策,则阻止对话的安全屏障。

modelSafety

object (ModelSafety)

可选。如果 LLM 回答根据模型安全设置被视为不安全,则阻止对话的安全屏障。

codeCallback

object (CodeCallback)

可选。根据回调执行结果可能会屏蔽对话的护栏。

ContentFilter

JSON 表示法
{
  "bannedContents": [
    string
  ],
  "bannedContentsInUserInput": [
    string
  ],
  "bannedContentsInAgentResponse": [
    string
  ],
  "matchType": enum (MatchType),
  "disregardDiacritics": boolean
}
字段
bannedContents[]

string

可选。禁用短语列表。适用于用户输入和代理回答。

bannedContentsInUserInput[]

string

可选。禁用短语列表。仅适用于用户输入。

bannedContentsInAgentResponse[]

string

可选。禁用短语列表。仅适用于代理回答。

matchType

enum (MatchType)

必需。内容过滤器的匹配类型。

disregardDiacritics

boolean

可选。如果为 true,则在匹配期间忽略变音符号。

LlmPromptSecurity

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.
}
字段
failOpen

boolean

可选。确定安全屏障遇到 LLM 错误时的行为。- 如果为 true:则绕过安全护栏。- 如果为 false(默认值):安全措施会触发/屏蔽。

注意:如果提供了自定义政策,系统会忽略此字段,而采用相应政策的“fail_open”配置。

联合字段 security_config。定义安全配置模式。用户必须选择以下配置之一。security_config 只能是下列其中一项:
defaultSettings

object (DefaultSecuritySettings)

可选。使用系统预定义的默认安全设置。如需选择此模式,请在请求中添加空的“default_settings”消息。其中的“default_prompt_template”字段将由服务器在响应中填充。

customPolicy

object (LlmPolicy)

可选。使用用户定义的 LlmPolicy 配置安全防护措施。

DefaultSecuritySettings

JSON 表示法
{
  "defaultPromptTemplate": string
}
字段
defaultPromptTemplate

string

仅限输出。系统使用的默认提示模板。此字段用于显示目的,以向用户展示系统默认使用的提示。此字段为 OUTPUT_ONLY。

LlmPolicy

JSON 表示法
{
  "maxConversationMessages": integer,
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "policyScope": enum (PolicyScope),
  "failOpen": boolean,
  "allowShortUtterance": boolean
}
字段
maxConversationMessages

integer

可选。检查此政策时,请考虑对话中的最后“n”条消息。如果未设置,则使用默认值 10。

modelSettings

object (ModelSettings)

可选。模型设置。

prompt

string

必需。政策提示。

policyScope

enum (PolicyScope)

必需。定义在对话期间何时应用政策检查。如果设为 POLICY_SCOPE_UNSPECIFIED,此政策将应用于用户输入。将政策应用于代理响应时,代理在响应之前会产生额外的延迟。

failOpen

boolean

可选。如果在政策检查期间发生错误,则会失败打开,并且不会触发安全防护栏。

allowShortUtterance

boolean

可选。默认情况下,系统会针对简短话语绕过 LLM 政策检查。启用此设置后,系统会对所有话语(包括通常会跳过的话语)执行政策检查。

ModelSettings

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.
}
字段
model

string

可选。智能体应使用的 LLM 模型。如果未设置,代理将沿用其父代理的模型。

联合字段 _temperature

_temperature 只能是下列其中一项:

temperature

number

可选。如果设置,系统将使用此温度值来运行 LLM 模型。温度可控制模型回答的随机性。温度越低,生成的回答就越可预测。温度越高,生成的回答就越有创意。

ModelSafety

JSON 表示法
{
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ]
}
字段
safetySettings[]

object (SafetySetting)

必需。安全设置列表。

SafetySetting

JSON 表示法
{
  "category": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold)
}
字段
category

enum (HarmCategory)

必需。有害类别。

threshold

enum (HarmBlockThreshold)

必需。有害内容屏蔽阈值。

CodeCallback

JSON 表示法
{
  "beforeAgentCallback": {
    object (Callback)
  },
  "afterAgentCallback": {
    object (Callback)
  },
  "beforeModelCallback": {
    object (Callback)
  },
  "afterModelCallback": {
    object (Callback)
  }
}
字段
beforeAgentCallback

object (Callback)

可选。在调用代理之前要执行的回调。每个回调函数都应返回一个包含至少以下内容的结构(例如,字典或对象):-“decision”:可以是“OK”或“TRIGGER”。-“reason”:说明决定的字符串。“触发”决定可能会停止进一步处理。

afterAgentCallback

object (Callback)

可选。在调用代理后要执行的回调。每个回调函数都应返回一个包含至少以下内容的结构(例如,字典或对象):-“decision”:可以是“OK”或“TRIGGER”。-“reason”:说明决定的字符串。“触发”决定可能会停止进一步处理。

beforeModelCallback

object (Callback)

可选。在调用模型之前要执行的回调。如果多次调用模型,则回调将执行多次。每个回调函数都应返回一个包含至少以下内容的结构(例如,字典或对象):-“decision”:可以是“OK”或“TRIGGER”。-“reason”:说明决定的字符串。“触发”决定可能会停止进一步处理。

afterModelCallback

object (Callback)

可选。在调用模型后执行的回调。如果多次调用模型,则回调将执行多次。每个回调函数都应返回一个包含至少以下内容的结构(例如,字典或对象):-“decision”:可以是“OK”或“TRIGGER”。-“reason”:说明决定的字符串。“触发”决定可能会停止进一步处理。

回调

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.
}
字段
description

string

可选。回调的人类可读说明。

disabled

boolean

可选。回调是否已停用。代理会忽略已停用的回调。

proactiveExecutionEnabled

boolean

可选。如果启用,回调也会在中间模型输出上执行。此设置仅在模型回调后生效。请谨慎启用。通常,after_model_callback 仅需在收到所有模型回答后执行。启用主动执行可能会对执行费用和延迟时间产生负面影响,因此仅应在极少数情况下启用。

联合字段 callback。要执行的回调。callback 只能是下列其中一项:
pythonCode

string

必需。要为回调执行的 Python 代码。

TriggerAction

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.
}
字段
联合字段 action。要采取的行动。action 只能是下列其中一项:
respondImmediately

object (RespondImmediately)

可选。立即使用预配置的回答进行回复。

transferAgent

object (TransferAgent)

可选。将对话转接给其他客服人员。

generativeAnswer

object (GenerativeAnswer)

可选。使用生成式回答进行回复。

RespondImmediately

JSON 表示法
{
  "responses": [
    {
      object (Response)
    }
  ]
}
字段
responses[]

object (Response)

必需。供代理选择的预设回复。系统会随机选择回答。

响应

JSON 表示法
{
  "text": string,
  "disabled": boolean
}
字段
text

string

必需。智能体要回复的文本。

disabled

boolean

可选。响应是否已停用。代理不会使用已停用的回答。

TransferAgent

JSON 表示法
{
  "agent": string
}
字段
agent

string

必需。要将对话转接到的代理的名称。代理必须与当前代理位于同一应用中。格式:projects/{project}/locations/{location}/apps/{app}/agents/{agent}

GenerativeAnswer

JSON 表示法
{
  "prompt": string
}
字段
prompt

string

必需。用于生成式回答的提示。

时间戳

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
字段
seconds

string (int64 format)

表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值),对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z。

nanos

integer

秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代项。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。

工具注释

破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌