MCP Tools Reference: ces.googleapis.com

ツール: get_guardrail

指定されたガードレールの詳細を取得します。

次のコードサンプルは、curl を使用して get_guardrail MCP ツールを呼び出す方法を示しています。

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

入力スキーマ

AgentService.GetGuardrail のリクエスト メッセージです。

GetGuardrailRequest

JSON 表現
{
  "name": string
}
フィールド
name

string

必須。取得するガードレールのリソース名。

出力スキーマ

ガードレールには、エージェントの安全性とセキュリティを維持するためのチェックとバランスのリストが含まれています。

ガードレール

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)
  },
  "supervisor": {
    object (Supervisor)
  }
  // End of list of possible types for union field guardrail_type.
}
フィールド
name

string

ID。ガードレールの固有識別子。形式: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

必須。ガードレールの表示名。

description

string

省略可。ガードレールの説明。

enabled

boolean

省略可。ガードレールが有効かどうか。

action

object (TriggerAction)

省略可。ガードレールがトリガーされたときに実行するアクション。

createTime

string (Timestamp format)

出力専用。ガードレールが作成されたときのタイムスタンプ。

RFC 3339 を使用します。生成された出力は常に 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 正規化され、小数点以下は 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)

省略可。コールバックの実行結果に基づいて会話をブロックする可能性のあるガードレール。

supervisor

object (Supervisor)

省略可。監督者の介入を実行するガードレール。

ContentFilter

JSON 表現
{
  "bannedContents": [
    string
  ],
  "bannedContentsInUserInput": [
    string
  ],
  "bannedContentsInAgentResponse": [
    string
  ],
  "matchType": enum (MatchType),
  "disregardDiacritics": boolean,
  "sensitiveWordsExemptions": [
    string
  ]
}
フィールド
bannedContents[]

string

省略可。禁止されたフレーズのリスト。ユーザー入力とエージェントの回答の両方に適用されます。

bannedContentsInUserInput[]

string

省略可。禁止されたフレーズのリスト。ユーザー入力にのみ適用されます。

bannedContentsInAgentResponse[]

string

省略可。禁止されたフレーズのリスト。エージェントの回答にのみ適用されます。

matchType

enum (MatchType)

必須。コンテンツ フィルタのマッチタイプ。

disregardDiacritics

boolean

省略可。true の場合、照合時に発音区別符号が無視されます。

sensitiveWordsExemptions[]

string

省略可。このガードレールで許可される機密性の高い単語リストのエントリ。match_type が SENSITIVE_WORDS の場合にのみ有効です。各値はリストのエントリと一致する必要があります(大文字と小文字は区別されず、前後の空白は無視されます)。その他の値は無視されます。このガードレールにのみ適用されます。最大 1,000 個のエントリ(各エントリは最大 256 文字)。

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

必須。ポリシー プロンプト。セッション変数プレースホルダ({var})と {agent_system_instruction} をサポートし、エージェントの解決済みシステム指示を挿入します。

policyScope

enum (PolicyScope)

必須。会話中にポリシー チェックを適用するタイミングを定義します。POLICY_SCOPE_UNSPECIFIED に設定すると、ポリシーはユーザー入力に適用されます。ポリシーをエージェントのレスポンスに適用すると、エージェントがレスポンスを返すまでに追加のレイテンシが発生します。

failOpen

boolean

省略可。ポリシー チェック中にエラーが発生した場合は、フェイルオープンしてガードレールをトリガーしない。

allowShortUtterance

boolean

省略可。デフォルトでは、短い発話に対しては LLM ポリシー チェックがバイパスされます。この設定を有効にすると、通常はスキップされる発話を含むすべての発話にポリシー チェックが適用されます。

ModelSettings

JSON 表現
{
  "model": string,
  "thinkingLevel": enum (ThinkingLevel),

  // 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 モデル。設定されていない場合、エージェントは親エージェントからモデルを継承します。

thinkingLevel

enum (ThinkingLevel)

省略可。モデルの思考レベル。

共用体フィールド _temperature。

_temperature は次のいずれかになります。

temperature

number

省略可。設定すると、この温度が LLM モデルに使用されます。Temperature は、モデルの回答のランダム性を制御します。温度が低いほど、予測可能な回答が生成されます。温度が高いほど、より創造的な回答が生成されます。

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': 決定の理由を説明する文字列。「TRIGGER」の判定により、それ以降の処理が停止する場合があります。

afterAgentCallback

object (Callback)

省略可。エージェントが呼び出された後に実行されるコールバック。各コールバック関数は、少なくとも次のものを含む構造(辞書やオブジェクトなど)を返す必要があります。- 'decision': 'OK' または 'TRIGGER'。- 'reason': 決定の理由を説明する文字列。「TRIGGER」の判定により、それ以降の処理が停止する場合があります。

beforeModelCallback

object (Callback)

省略可。モデルが呼び出される前に実行するコールバック。モデルへの呼び出しが複数ある場合、コールバックは複数回実行されます。各コールバック関数は、少なくとも次のものを含む構造(辞書やオブジェクトなど)を返す必要があります。- 'decision': 'OK' または 'TRIGGER'。- 'reason': 決定の理由を説明する文字列。「TRIGGER」の判定により、それ以降の処理が停止する場合があります。

afterModelCallback

object (Callback)

省略可。モデルの呼び出し後に実行するコールバック。モデルへの呼び出しが複数ある場合、コールバックは複数回実行されます。各コールバック関数は、少なくとも次のものを含む構造(辞書やオブジェクトなど)を返す必要があります。- 'decision': 'OK' または 'TRIGGER'。- 'reason': 決定の理由を説明する文字列。「TRIGGER」の判定により、それ以降の処理が停止する場合があります。

コールバック

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

省略可。有効にすると、コールバックは中間モデル出力でも実行されます。この設定は、モデル呼び出し後コールバックにのみ影響します。有効にする際は注意してください。通常、モデル呼び出し後コールバックは、すべてのモデル レスポンスを受信した後にのみ実行する必要があります。プロアクティブな実行を有効にすると、実行コストとレイテンシに悪影響を及ぼす可能性があるため、有効にするのはまれな状況に限定する必要があります。

共用体フィールド callback。実行するコールバック。callback は次のいずれかになります。
pythonCode

string

必須。コールバックで実行する Python コード。

スーパーバイザー

JSON 表現
{
  "type": enum (Type),
  "detectionMode": enum (DetectionMode)
}
フィールド
type

enum (Type)

省略可。スーパーバイザーのタイプ。

detectionMode

enum (DetectionMode)

省略可。スーパーバイザーの検出モード。

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)

UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。

nanos

integer

ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。

MatchType

コンテンツ フィルタのマッチタイプ。

列挙型
MATCH_TYPE_UNSPECIFIED マッチタイプが指定されていません。
SIMPLE_STRING_MATCH コンテンツは部分文字列の文字ごとに照合されます。
WORD_BOUNDARY_STRING_MATCH コンテンツは、テキスト内のパターンが単語区切り文字で囲まれている場合にのみ一致します。禁止フレーズには単語区切り文字を含めることもできます。
REGEXP_MATCH コンテンツは正規表現構文を使用して照合されます。
SENSITIVE_WORDS コンテンツは、システムで管理されている機密性の高い単語やフレーズのリストと照合されます。この一致タイプのガードレールをアプリまたはエージェントに接続すると、影響を受けるエージェントのデフォルトのセンシティブ ワード フィルタが置き換えられます。デフォルトのフィルタを無効にするには、ガードレールを無効にします。

ThinkingLevel

モデルの思考レベルの構成。

列挙型
THINKING_LEVEL_UNSPECIFIED 思考レベルが指定されていません。
DEFAULT デフォルトの思考レベル。
LOW 思考レベルが低い。
MEDIUM 中程度の思考レベル。
HIGH 高度な思考レベル。

PolicyScope

会話中にポリシー チェックを適用するタイミングを定義します。

列挙型
POLICY_SCOPE_UNSPECIFIED ポリシーのスコープが指定されていません。
USER_QUERY ポリシー チェックはユーザー入力時にトリガーされます。
AGENT_RESPONSE ポリシー チェックはエージェントのレスポンスでトリガーされます。このポリシー スコープを適用すると、エージェントが応答するまでにレイテンシが追加されます。
USER_QUERY_AND_AGENT_RESPONSE ポリシー チェックは、ユーザー入力とエージェントの回答の両方でトリガーされます。このポリシー スコープを適用すると、エージェントが応答するまでにレイテンシが追加されます。

HarmCategory

有害カテゴリ。

列挙型
HARM_CATEGORY_UNSPECIFIED 有害カテゴリが指定されていません。
HARM_CATEGORY_HATE_SPEECH 有害カテゴリはヘイトスピーチです。
HARM_CATEGORY_DANGEROUS_CONTENT 有害カテゴリは危険なコンテンツです。
HARM_CATEGORY_HARASSMENT 有害カテゴリはハラスメントです。
HARM_CATEGORY_SEXUALLY_EXPLICIT 有害カテゴリは、性的描写が露骨なコンテンツです。
HARM_CATEGORY_PROFANITY 有害カテゴリは冒とく的な表現です。
HARM_CATEGORY_TOXIC 有害カテゴリは有害です。

HarmBlockThreshold

ブロックの確率ベースのしきい値レベル。

列挙型
HARM_BLOCK_THRESHOLD_UNSPECIFIED 有害ブロックのしきい値が指定されていません。
BLOCK_LOW_AND_ABOVE 低いしきい値以上をブロックします(つまり、より多くのものをブロックします)。
BLOCK_MEDIUM_AND_ABOVE 中程度のしきい値以上をブロックします。
BLOCK_ONLY_HIGH 高しきい値のみをブロックします(つまり、ブロックを少なくします)。
BLOCK_NONE ブロックなし。
OFF 安全フィルタをオフにします。

種類

スーパーバイザーのタイプ。

列挙型
TYPE_UNSPECIFIED タイプは指定されていません。
INVALID_TEXT テキストの問題タイプが無効です。
LANGUAGE_SHIFT 言語シフトの問題の種類。
SPEAKER_SHIFT スピーカーのシフトに関する問題の種類。
AUDIO_MISMATCH 音声の不一致に関する問題の種類。
MISSING_TOOL_CALL ツール呼び出しの問題の種類がありません。
CUSTOM カスタムの問題タイプ。
CHOPPY_AUDIO 音声が途切れる問題の種類。
PROFANITY エージェントの不適切な表現に関する問題の種類。

DetectionMode

スーパーバイザーの検出モード。

列挙型
DETECTION_MODE_UNSPECIFIED 検出モードが指定されていません。デフォルトは NON_BLOCKING です。
NON_BLOCKING 非ブロッキング検出モード。スーパーバイザーの検出が進行中の場合、レスポンスはブロックされません。
BLOCKING ブロック検出モード。スーパーバイザーの検出が進行中の場合、レスポンスはブロックされます。

ツールのアノテーション

ツールのアノテーションは、特定のツールの基本的なリスクを説明するために MCP クライアントに送信されます。ほとんどのクライアントは、これらのヒントを信頼できないものとして扱いますが、確認プロンプトをユーザーに送信するタイミングを決定するために使用できます。

タイトル文字列とともに、次のブール値のヒントが定義されています。

  • readOnlyHint: true の場合、ツールは環境を変更しません。デフォルトは false です。
  • destructiveHint: true の場合、ツールは破壊的なアクションを実行できます。false の場合、ツールは追加アクションのみを実行できます。デフォルト値は true です。
  • idempotentHint: true の場合、同じ引数でツールを繰り返し呼び出しても、環境に副次的影響は発生しません。デフォルトは false です。
  • openWorldHint: true の場合、ツールは外部エンティティの「オープンワールド」とやり取りできます。false の場合、ツールは内部エンティティとのみやり取りできます。たとえば、ウェブ検索ツールはオープン ワールドですが、メモリツールはオープン ワールドではありません。

破壊的ヒント: ❌ | べき等ヒント: ✅ | 読み取り専用ヒント: ✅ | オープン ワールド ヒント: ❌