MCP Tools Reference: ces.googleapis.com

ツール: create_tool

指定されたアプリに新しいツールを作成します。

次のサンプルは、curl を使用して create_tool 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": "create_tool",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

入力スキーマ

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

CreateToolRequest

JSON 表現
{
  "parent": string,
  "toolId": string,
  "tool": {
    object (Tool)
  }
}
フィールド
parent

string

必須。ツールを作成するアプリのリソース名。

toolId

string

省略可。ツールに使用する ID。ツールのリソース名の最終的なコンポーネントになります。指定しない場合、ツールに一意の ID が自動的に割り当てられます。

tool

object (Tool)

必須。作成するツール。

ツール

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.
}
フィールド
name

string

ID。ツールの一意の識別子。形式: - projects/{project}/locations/{location}/apps/{app}/tools/{tool}

ツールセットから取得されたツールの projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool}。これらのツールは動的で出力専用であり、ツールが想定される場所で直接参照することはできません。

displayName

string

出力専用。ツールのタイプに基づいて導出されたツールの表示名。たとえば、[ClientFunction][Tool.ClientFunction] の表示名は、その name プロパティから派生します。

executionType

enum (ExecutionType)

省略可。ツールの実行タイプ。

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 が空の場合、更新によって同時変更が上書きされます。

generatedSummary

string

出力専用。ツールが LLM アシスタントによって生成された場合、このフィールドには生成の概要が記述されます。

toolFakeConfig

object (ToolFakeConfig)

省略可。フェイクモードでのツールの動作の構成。

共用体フィールド tool_type。ツールのタイプ。tool_type は次のいずれかになります。
clientFunction

object (ClientFunction)

省略可。クライアント関数。

openApiTool

object (OpenApiTool)

省略可。オープン API ツール。

googleSearchTool

object (GoogleSearchTool)

省略可。Google 検索ツール。

connectorTool

object (ConnectorTool)

省略可。Integration Connector ツール。

dataStoreTool

object (DataStoreTool)

省略可。データストア ツール。

pythonFunction

object (PythonFunction)

省略可。Python 関数ツール。

mcpTool

object (McpTool)

省略可。MCP ツール。MCP ツールは直接作成または更新できず、MCP ツールセットによって管理されます。

fileSearchTool

object (FileSearchTool)

省略可。ファイル検索ツール。

systemTool

object (SystemTool)

省略可。システム ツール。

widgetTool

object (WidgetTool)

省略可。ウィジェット ツール。

ClientFunction

JSON 表現
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  },
  "response": {
    object (Schema)
  }
}
フィールド
name

string

必須。関数名。

description

string

省略可。関数の説明。

parameters

object (Schema)

省略可。関数パラメータのスキーマ。

response

object (Schema)

省略可。関数レスポンスのスキーマ。

スキーマ

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.
}
フィールド
type

enum (Type)

必須。データの型。

properties

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

省略可。Type.OBJECT のプロパティ。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

required[]

string

省略可。Type.OBJECT の必須プロパティ。

description

string

省略可。データの説明。

items

object (Schema)

省略可。Type.ARRAY の要素のスキーマ。

nullable

boolean

省略可。値が null の可能性があるかどうかを示します。

uniqueItems

boolean

省略可。配列内の項目が一意である必要があることを示します。TYPE.ARRAY にのみ適用されます。

prefixItems[]

object (Schema)

省略可。Type.ARRAY の初期要素のスキーマ。

additionalProperties

object (Schema)

省略可。ブール値またはオブジェクトのいずれか。追加のプロパティの存在を制御します。

anyOf[]

object (Schema)

省略可。値は、リスト内のサブスキーマのいずれか(1 つ以上)に対して検証される必要があります。

enum[]

string

省略可。プリミティブ型の要素の可能な値(列挙型形式)。例: 1. 方向は {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. アパートの部屋番号は {type:INTEGER, format:enum, enum:["101", "201", "301"]} と定義できます。

default

value (Value format)

省略可。データのデフォルト値。

ref

string

省略可。スキーマノード間の間接参照を許可します。値は、ルート defs の子への有効な参照である必要があります。

たとえば、次のスキーマは、「Pet」という名前のスキーマノードへの参照を定義します。

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

「pet」プロパティの値は、「Pet」という名前のスキーマノードへの参照です。詳しくは、https://json-schema.org/understanding-json-schema/structuring をご覧ください。

defs

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

省略可。ref で使用する定義のマップ。スキーマのルートでのみ許可されます。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

title

string

省略可。スキーマのタイトル。

minItems

string (int64 format)

省略可。Type.ARRAY の要素の最小数。

maxItems

string (int64 format)

省略可。Type.ARRAY の要素の最大数。

共用体フィールド _minimum

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

minimum

number

省略可。Type.INTEGER と Type.NUMBER の最小値。

共用体フィールド _maximum

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

maximum

number

省略可。Type.INTEGER と Type.NUMBER の最大値。

PropertiesEntry

JSON 表現
{
  "key": string,
  "value": {
    object (Schema)
  }
}
フィールド
key

string

value

object (Schema)

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.
}
フィールド
共用体フィールド kind。値の種類。kind は次のいずれかになります。
nullValue

null

null 値を表します。

numberValue

number

double 値を表します。

stringValue

string

文字列値を表します。

boolValue

boolean

ブール値を表します。

structValue

object (Struct format)

構造化された値を表します。

listValue

array (ListValue format)

Value の繰り返しを表します。

構造体

JSON 表現
{
  "fields": {
    string: value,
    ...
  }
}
フィールド
fields

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

動的に型指定される値の順序なしのマップ。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

FieldsEntry

JSON 表現
{
  "key": string,
  "value": value
}
フィールド
key

string

value

value (Value format)

ListValue

JSON 表現
{
  "values": [
    value
  ]
}
フィールド
values[]

value (Value format)

動的に型指定される値の繰り返しフィールド。

DefsEntry

JSON 表現
{
  "key": string,
  "value": {
    object (Schema)
  }
}
フィールド
key

string

value

object (Schema)

OpenApiTool

JSON 表現
{
  "openApiSchema": string,
  "name": string,
  "description": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
フィールド
openApiSchema

string

必須。JSON または YAML 形式の OpenAPI スキーマ。

name

string

省略可。ツールの名前。指定しない場合、ツールの名前は OpenAPI スキーマの operation.operationId から派生します。

description

string

省略可。ツールの説明。指定しない場合、ツールの説明は OpenAPI スキーマ、operation.description、または operation.summary から取得されます。

apiAuthentication

object (ApiAuthentication)

省略可。API で必要な認証情報。

tlsConfig

object (TlsConfig)

省略可。TLS 構成。クライアントが信頼するカスタム サーバー証明書が含まれます。

serviceDirectoryConfig

object (ServiceDirectoryConfig)

省略可。Service Directory の構成。

ignoreUnknownFields

boolean

省略可。true の場合、エージェントは API レスポンスの不明なフィールドを無視します。

url

string

省略可。Open API スキーマのサーバー URL。このフィールドは、スキーマにサーバー URL が含まれている場合に、エクスポート プロセス中に環境の依存関係のツールでのみ設定されます。インポート プロセス中に、この URL が環境の依存関係に存在し、スキーマに $env_var プレースホルダがある場合、スキーマ内のプレースホルダが置き換えられます。

ApiAuthentication

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.
}
フィールド
共用体フィールド auth_config。認証構成。auth_config は次のいずれかになります。
apiKeyConfig

object (ApiKeyConfig)

省略可。API キー認証の構成。

oauthConfig

object (OAuthConfig)

省略可。OAuth の構成。

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

省略可。CES サービス エージェントから生成された ID トークン認証の構成。

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

省略可。サービス アカウント認証の構成。

bearerTokenConfig

object (BearerTokenConfig)

省略可。ベアラートークン認証の構成。

ApiKeyConfig

JSON 表現
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
フィールド
keyName

string

必須。API キーのパラメータ名またはヘッダー名。例: API リクエストが「https://example.com/act?X-Api-Key=」の場合、「X-Api-Key」がパラメータ名になります。

apiKeySecretVersion

string

必須。API キーを保存する SecretManager シークレット バージョン リソースの名前。形式: projects/{project}/secrets/{secret}/versions/{version}

注: CES サービス エージェント service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.comroles/secretmanager.secretAccessor ロールを付与する必要があります。

requestLocation

enum (RequestLocation)

必須。リクエスト内の鍵のロケーション。

OAuthConfig

JSON 表現
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
フィールド
oauthGrantType

enum (OauthGrantType)

必須。OAuth 権限付与タイプ。

clientId

string

必須。OAuth プロバイダのクライアント ID。

clientSecretVersion

string

必須。クライアント シークレットを保存する SecretManager シークレット バージョン リソースの名前。形式: projects/{project}/secrets/{secret}/versions/{version}

注: CES サービス エージェント service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.comroles/secretmanager.secretAccessor ロールを付与する必要があります。

tokenEndpoint

string

必須。アクセス トークンと交換する OAuth プロバイダのトークン エンドポイント。

scopes[]

string

省略可。付与する OAuth スコープ。

ServiceAccountAuthConfig

JSON 表現
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
フィールド
serviceAccount

string

必須。認証に使用されるサービス アカウントのメールアドレス。CES はこのサービス アカウントを使用してアクセス トークンを交換し、アクセス トークンはリクエストの Authorization ヘッダーで送信されます。

サービス アカウントには、CES サービス エージェント service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com に付与された roles/iam.serviceAccountTokenCreator ロールが必要です。

scopes[]

string

省略可。付与する OAuth スコープ。指定しない場合、デフォルトのスコープ https://www.googleapis.com/auth/cloud-platform が使用されます。

BearerTokenConfig

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

string

必須。署名なしトークン。$context.variables.<name_of_variable> の形式で指定してください。

TlsConfig

JSON 表現
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
フィールド
caCerts[]

object (CaCert)

必須。HTTPS 検証で許可されるカスタム CA 証明書のリストを指定します。

CaCert

JSON 表現
{
  "displayName": string,
  "cert": string
}
フィールド
displayName

string

必須。許可されたカスタム CA 証明書の名前。これは、カスタム CA 証明書を明確にするために使用できます。

cert

string (bytes format)

必須。HTTPS 検証で許可されるカスタム CA 証明書(DER 形式)。これにより、デフォルトの SSL トラストストアがオーバーライドされます。これが空または未指定の場合、CES は Google のデフォルトのトラストストアを使用して証明書を検証します。注: HTTPS サーバー証明書が「サブジェクト代替名」で署名されていることを確認してください。たとえば、次のコマンドで証明書に自己署名することができます。openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")

Base64 でエンコードされた文字列。

ServiceDirectoryConfig

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

string

必須。Service Directory サービスの名前。形式: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}。サービス ディレクトリのロケーションは、アプリのロケーションと同じである必要があります。

GoogleSearchTool

JSON 表現
{
  "name": string,
  "description": string,
  "contextUrls": [
    string
  ],
  "preferredDomains": [
    string
  ],
  "excludeDomains": [
    string
  ],
  "promptConfig": {
    object (PromptConfig)
  }
}
フィールド
name

string

必須。ツールの名前。

description

string

省略可。ツールの目的の説明。

contextUrls[]

string

省略可。コンテンツは、コンテキストとグラウンディングのためにこれらの URL から直接取得されます。例: "https://example.com/path.html"。URL は最大 20 個まで指定できます。

preferredDomains[]

string

省略可。検索結果を制限するドメインを指定します。例: "example.com"、"another.site"。指定できるドメインは最大 20 個です。

excludeDomains[]

string

省略可。検索結果から除外するドメインのリスト。例: "example.com"。除外できるドメインは最大 2,000 個です。

promptConfig

object (PromptConfig)

省略可。テキストと音声の検索結果を処理する方法についてプランナーに渡されるプロンプトの指示。

PromptConfig

JSON 表現
{
  "textPrompt": string,
  "voicePrompt": string
}
フィールド
textPrompt

string

省略可。チャット会話でエージェントとやり取りする際に、システム指示に使用されるプロンプトを定義します。設定されていない場合は、デフォルトのプロンプトが使用されます。

voicePrompt

string

省略可。音声会話でエージェントとやり取りする際に、システム指示に使用されるプロンプトを定義します。設定されていない場合は、デフォルトのプロンプトが使用されます。

ConnectorTool

JSON 表現
{
  "connection": string,
  "action": {
    object (Action)
  },
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "name": string,
  "description": string
}
フィールド
connection

string

必須。参照される Integration Connectors Connection の完全なリソース名。形式: projects/{project}/locations/{location}/connections/{connection}

action

object (Action)

必須。ツールが使用するアクション。

authConfig

object (EndUserAuthConfig)

省略可。Integration Connectors で認証を処理する方法を構成します。デフォルトでは、管理者の認証は Integration Connectors API リクエストで渡されます。別のエンドユーザー認証構成でオーバーライドできます。: ここで EUC 構成を指定するには、Connection で認証オーバーライドが有効になっている必要があります。有効になっていない場合、ConnectorTool の作成は失敗します。詳細については、https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override をご覧ください。

name

string

省略可。エージェントがこの ConnectorTool を呼び出すかどうかを判断するために使用できるツールの名前。

description

string

省略可。この ConnectorTool を呼び出すかどうかをエージェントが判断するために使用できるツールの説明。

アクション

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.
}
フィールド
inputFields[]

string

省略可。オペレーションの入力として使用するエンティティ フィールド。フィールドが指定されていない場合は、エンティティのすべてのフィールドが使用されます。

outputFields[]

string

省略可。オペレーションから返すエンティティ フィールド。フィールドが指定されていない場合は、Entity のすべてのフィールドが返されます。

共用体フィールド action_spec。ツールで使用するアクションを構成するための仕様。action_spec は次のいずれかになります。
connectionActionId

string

ツールが使用する接続アクションの ID。

entityOperation

object (EntityOperation)

ツールで使用するエンティティ オペレーション構成。

EntityOperation

JSON 表現
{
  "entityId": string,
  "operation": enum (OperationType)
}
フィールド
entityId

string

必須。エンティティの ID。

operation

enum (OperationType)

必須。エンティティに対して実行するオペレーション。

EndUserAuthConfig

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.
}
フィールド
共用体フィールド auth_config。認証構成。auth_config は次のいずれかになります。
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

OAuth 2.0 認証コード認証。

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

JWT プロファイル OAuth 2.0 認可権限付与認証。

Oauth2AuthCodeConfig

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

string

必須。渡す OAuth トークン パラメータ名。$context.variables.<name_of_variable> の形式で指定してください。

Oauth2JwtBearerConfig

JSON 表現
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
フィールド
issuer

string

必須。渡す発行者パラメータ名。$context.variables.<name_of_variable> の形式で指定してください。

subject

string

必須。渡すサブジェクト パラメータ名。$context.variables.<name_of_variable> の形式で指定してください。

clientKey

string

必須。渡すクライアント パラメータ名。$context.variables.<name_of_variable> の形式で指定してください。

DataStoreTool

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.
}
フィールド
name

string

必須。データストア ツールの名前。

description

string

省略可。ツールの説明。

boostSpecs[]

object (BoostSpecs)

省略可。特定のドキュメントをブーストするブースト仕様。

modalityConfigs[]

object (ModalityConfig)

省略可。データストアのモダリティ構成。

filterParameterBehavior

enum (FilterParameterBehavior)

省略可。フィルタ パラメータの動作。

共用体フィールド search_source。検索ソース(単一のデータストアまたはエンジン)を定義します。search_source は次のいずれかになります。
dataStoreSource

object (DataStoreSource)

省略可。特定の 1 つの DataStore 内を検索します。

engineSource

object (EngineSource)

省略可。エンジン内を検索します(複数のデータストアにまたがる可能性があります)。

DataStoreSource

JSON 表現
{
  "filter": string,
  "dataStore": {
    object (DataStore)
  }
}
フィールド
filter

string

省略可。DataStore のフィルタ仕様。参照: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

dataStore

object (DataStore)

省略可。データストア。

DataStore

JSON 表現
{
  "name": string,
  "type": enum (DataStoreType),
  "documentProcessingMode": enum (DocumentProcessingMode),
  "displayName": string,
  "createTime": string,
  "connectorConfig": {
    object (ConnectorConfig)
  }
}
フィールド
name

string

必須。DataStore の完全なリソース名。形式: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}

type

enum (DataStoreType)

出力専用。データストアのタイプ。このフィールドは読み取り専用で、サーバーによって入力されます。

documentProcessingMode

enum (DocumentProcessingMode)

出力専用。データストア接続のドキュメント処理モード。PUBLIC_WEB データストアと UNSTRUCTURED データストアでのみ設定されます。

displayName

string

出力専用。データストアの表示名。

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"

connectorConfig

object (ConnectorConfig)

出力専用。データストア接続のコネクタ構成。

タイムスタンプ

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 にする必要があります(両端を含む)。

ConnectorConfig

JSON 表現
{
  "collection": string,
  "collectionDisplayName": string,
  "dataSource": string
}
フィールド
collection

string

データストアが属するコレクションのリソース名。

collectionDisplayName

string

データストアが属するコレクションの表示名。

dataSource

string

データソース名。例: salesforcejiraconfluencebigquery

EngineSource

JSON 表現
{
  "engine": string,
  "dataStoreSources": [
    {
      object (DataStoreSource)
    }
  ],
  "filter": string
}
フィールド
engine

string

必須。Engine の完全なリソース名。形式: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreSource)

省略可。Engine 内の特定の DataStore をターゲットにするために使用します。空の場合、検索は Engine に関連付けられているすべての DataStore に適用されます。

filter

string

省略可。エンジン全体で検索に適用されるフィルタ。data_store_sources が指定されている場合は、関連性がなく、使用されません。参照: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

BoostSpecs

JSON 表現
{
  "dataStores": [
    string
  ],
  "spec": [
    {
      object (BoostSpec)
    }
  ]
}
フィールド
dataStores[]

string

必須。ブースト構成が適用されるデータストア。DataStore の完全なリソース名(例: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore})。

spec[]

object (BoostSpec)

必須。ブースト仕様のリスト。

BoostSpec

JSON 表現
{
  "conditionBoostSpecs": [
    {
      object (ConditionBoostSpec)
    }
  ]
}
フィールド
conditionBoostSpecs[]

object (ConditionBoostSpec)

必須。ブースト仕様のリスト。

ConditionBoostSpec

JSON 表現
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
フィールド
condition

string

必須。ブースト条件を指定する式。構文は、フィルタ式の構文と同じです。現在、サポートされている条件は BCP-47 言語コードのリストのみです。例: 言語 en または fr の候補をブーストするには: (lang_code: ANY("en", "fr"))

boost

number

省略可。ブーストの強さ。[-1, 1] の範囲で指定します。ブーストが負の値である場合は順位を下げることを意味します。デフォルトは 0.0 です。

1.0 に設定すると、候補に強力なプロモーションが与えられます。ただし、ブーストされた候補が上位の結果になるとは限りません。

-1.0 に設定すると、候補に大きなデモートが与えられます。ただし、関連性の高い他の候補は引き続き表示されることがあります。

0.0 に設定すると、ブーストは適用されません。ブースト条件は無視されます。

boostControlSpec

object (BoostControlSpec)

省略可。顧客定義の属性値に基づくカスタム ランキングの複雑な仕様。

BoostControlSpec

JSON 表現
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
フィールド
fieldName

string

省略可。ブースト量を決定するために値が使用されるフィールドの名前。

attributeType

enum (AttributeType)

省略可。ブースト額の決定に使用する属性のタイプ。属性値は、指定された field_name のフィールド値から導出できます。数値の場合、attribute_value = numerical_field_value となります。ただし、鮮度の場合は、attribute_value = (time.now() - datetime_field_value) となります。

interpolationType

enum (InterpolationType)

省略可。以下に表示されているコントロール ポイントを接続するために適用される補完タイプ。

controlPoints[]

object (ControlPoint)

省略可。曲線の定義に使用されるコントロール ポイント。単調関数(上記の interpolation_type で定義)は、ここに記載されているコントロール ポイントを通過します。

ControlPoint

JSON 表現
{
  "attributeValue": string,
  "boostAmount": number
}
フィールド
attributeValue

string

省略可。以下のいずれか: 1. 数値フィールドの値。2. 鮮度の期間仕様: 値は XSD dayTimeDuration 値(ISO 8601 期間値の制限付きサブセット)としてフォーマットする必要があります。このパターンは [nD][T[nH][nM][nS]] です。

boostAmount

number

省略可。attribute_value が上記で指定した値と評価された場合にスコアをブーストする値(-1 ~ 1)。

ModalityConfig

JSON 表現
{
  "modalityType": enum (ModalityType),
  "rewriterConfig": {
    object (RewriterConfig)
  },
  "summarizationConfig": {
    object (SummarizationConfig)
  },
  "groundingConfig": {
    object (GroundingConfig)
  }
}
フィールド
modalityType

enum (ModalityType)

必須。モダリティ タイプ。

rewriterConfig

object (RewriterConfig)

省略可。リライタ構成。

summarizationConfig

object (SummarizationConfig)

省略可。要約構成。

groundingConfig

object (GroundingConfig)

省略可。グラウンディング構成。

RewriterConfig

JSON 表現
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
フィールド
modelSettings

object (ModelSettings)

必須。LLM モデルの構成。

prompt

string

省略可。プロンプトの定義。設定されていない場合は、デフォルトのプロンプトが使用されます。

disabled

boolean

省略可。リライターが無効かどうか。

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 モデルに使用されます。温度は、モデルのレスポンスのランダム性を制御します。温度が低いほど、予測しやすい回答が生成されます。温度が高いほど、より創造的なレスポンスが生成されます。

SummarizationConfig

JSON 表現
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
フィールド
modelSettings

object (ModelSettings)

省略可。LLM モデルの構成。

prompt

string

省略可。プロンプトの定義。設定されていない場合は、デフォルトのプロンプトが使用されます。

disabled

boolean

省略可。要約が無効かどうか。

GroundingConfig

JSON 表現
{
  "groundingLevel": number,
  "disabled": boolean
}
フィールド
groundingLevel

number

省略可。取得されたソースに基づく回答のグラウンディングのしきい値。値の構成可能な範囲は [1, 5] です。このレベルは、回答のグラウンディングのしきい値として使用されます。つまり、グラウンディング スコアがしきい値を下回るすべての回答は、関連するスニペットのみを返すようにフォールバックされます。

たとえば、レベル 3 の場合、レスポンスが返されるには、グラウンディング スコアが 3 以上である必要があります。

disabled

boolean

省略可。グラウンディングが無効かどうか。

PythonFunction

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

string

省略可。実行する Python 関数の名前。Python コードで定義されている Python 関数名と一致している必要があります。大文字と小文字が区別されます。名前が指定されていない場合は、Python コードで定義されている最初の関数が使用されます。

pythonCode

string

省略可。ツールで実行する Python コード。

description

string

出力専用。Python コードの docstring から解析された Python 関数の説明。

McpTool

JSON 表現
{
  "name": string,
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  },
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  }
}
フィールド
name

string

必須。MCP ツールの名前。

description

string

省略可。MCP ツールの説明。

inputSchema

object (Schema)

省略可。MCP ツールの入力引数のスキーマ。

outputSchema

object (Schema)

省略可。MCP ツールの出力引数のスキーマ。

serverAddress

string

必須。MCP サーバーのサーバー アドレス(例: "https://example.com/mcp/"。サーバーが MCP SDK で構築されている場合、URL の末尾に「/mcp/」を付加する必要があります。ストリーミング可能な HTTP 転送ベースのサーバーのみがサポートされています。これは、McpToolset の server_address と同じです。詳細については、https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http をご覧ください。

apiAuthentication

object (ApiAuthentication)

省略可。MCP サーバーに対してツールを実行するために必要な認証情報。ベアラートークン認証の場合、トークンはツールの実行にのみ適用され、ツールのリストには適用されません。そのため、認証なしでツールを一覧表示できる必要があります。

tlsConfig

object (TlsConfig)

省略可。TLS 構成。クライアントが信頼すべきカスタム サーバー証明書が含まれます。

serviceDirectoryConfig

object (ServiceDirectoryConfig)

省略可。VPC-SC の Service Directory 構成。境界内のサービス名の解決に使用されます。

FileSearchTool

JSON 表現
{
  "corpusType": enum (CorpusType),
  "name": string,
  "description": string,
  "fileCorpus": string
}
フィールド
corpusType

enum (CorpusType)

省略可。コーパスのタイプ。デフォルトは FULLY_MANAGED です。

name

string

必須。ツールの名前。

description

string

省略可。ツールの説明。

fileCorpus

string

省略可。ファイルが保存されているコーパス。形式: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

SystemTool

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

string

必須。システムツールの名前。

description

string

出力専用。システムツールの説明。

WidgetTool

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.
}
フィールド
name

string

必須。ウィジェット ツールの表示名。

description

string

省略可。ウィジェット ツールの説明。

widgetType

enum (WidgetType)

省略可。ウィジェット ツールのタイプ。指定しない場合、デフォルトのタイプは CUSTOMIZED になります。

共用体フィールド input。ウィジェット ツールの入力。input は次のいずれかになります。
parameters

object (Schema)

省略可。ウィジェット ツールの入力パラメータ。

ToolFakeConfig

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.
}
フィールド
enableFakeMode

boolean

省略可。ツールがフェイクモードを使用しているかどうか。

共用体フィールド tool_response。レスポンスは静的であるか、Python 関数によって提供されます。tool_response は次のいずれかになります。
codeBlock

object (CodeBlock)

省略可。実際のツール呼び出しの代わりに実行されるコードブロック。

CodeBlock

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

string

必須。ツール フェイクモードで呼び出される Python コード。想定される Python 関数のシグネチャ - すべてのツール呼び出しをキャッチするには: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: 特定のツール呼び出しをキャッチするには: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: 関数が None を返すと、代わりに実際のツールが呼び出されます。

出力スキーマ

ツールは、CES エージェントが特定の目標を達成するために実行できるアクションを表します。

ツール

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.
}
フィールド
name

string

ID。ツールの一意の識別子。形式: - projects/{project}/locations/{location}/apps/{app}/tools/{tool}

ツールセットから取得されたツールの projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool}。これらのツールは動的で出力専用であり、ツールが想定される場所で直接参照することはできません。

displayName

string

出力専用。ツールのタイプに基づいて導出されたツールの表示名。たとえば、[ClientFunction][Tool.ClientFunction] の表示名は、その name プロパティから派生します。

executionType

enum (ExecutionType)

省略可。ツールの実行タイプ。

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 が空の場合、更新によって同時変更が上書きされます。

generatedSummary

string

出力専用。ツールが LLM アシスタントによって生成された場合、このフィールドには生成の概要が記述されます。

toolFakeConfig

object (ToolFakeConfig)

省略可。フェイクモードでのツールの動作の構成。

共用体フィールド tool_type。ツールのタイプ。tool_type は次のいずれかになります。
clientFunction

object (ClientFunction)

省略可。クライアント関数。

openApiTool

object (OpenApiTool)

省略可。オープン API ツール。

googleSearchTool

object (GoogleSearchTool)

省略可。Google 検索ツール。

connectorTool

object (ConnectorTool)

省略可。Integration Connector ツール。

dataStoreTool

object (DataStoreTool)

省略可。データストア ツール。

pythonFunction

object (PythonFunction)

省略可。Python 関数ツール。

mcpTool

object (McpTool)

省略可。MCP ツール。MCP ツールは直接作成または更新できず、MCP ツールセットによって管理されます。

fileSearchTool

object (FileSearchTool)

省略可。ファイル検索ツール。

systemTool

object (SystemTool)

省略可。システム ツール。

widgetTool

object (WidgetTool)

省略可。ウィジェット ツール。

ClientFunction

JSON 表現
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  },
  "response": {
    object (Schema)
  }
}
フィールド
name

string

必須。関数名。

description

string

省略可。関数の説明。

parameters

object (Schema)

省略可。関数パラメータのスキーマ。

response

object (Schema)

省略可。関数レスポンスのスキーマ。

スキーマ

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.
}
フィールド
type

enum (Type)

必須。データの型。

properties

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

省略可。Type.OBJECT のプロパティ。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

required[]

string

省略可。Type.OBJECT の必須プロパティ。

description

string

省略可。データの説明。

items

object (Schema)

省略可。Type.ARRAY の要素のスキーマ。

nullable

boolean

省略可。値が null の可能性があるかどうかを示します。

uniqueItems

boolean

省略可。配列内の項目が一意である必要があることを示します。TYPE.ARRAY にのみ適用されます。

prefixItems[]

object (Schema)

省略可。Type.ARRAY の初期要素のスキーマ。

additionalProperties

object (Schema)

省略可。ブール値またはオブジェクトのいずれか。追加のプロパティの存在を制御します。

anyOf[]

object (Schema)

省略可。値は、リスト内のサブスキーマのいずれか(1 つ以上)に対して検証される必要があります。

enum[]

string

省略可。プリミティブ型の要素の可能な値(列挙型形式)。例: 1. 方向は {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. アパートの部屋番号は {type:INTEGER, format:enum, enum:["101", "201", "301"]} と定義できます。

default

value (Value format)

省略可。データのデフォルト値。

ref

string

省略可。スキーマノード間の間接参照を許可します。値は、ルート defs の子への有効な参照である必要があります。

たとえば、次のスキーマは、「Pet」という名前のスキーマノードへの参照を定義します。

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

「pet」プロパティの値は、「Pet」という名前のスキーマノードへの参照です。詳しくは、https://json-schema.org/understanding-json-schema/structuring をご覧ください。

defs

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

省略可。ref で使用する定義のマップ。スキーマのルートでのみ許可されます。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

title

string

省略可。スキーマのタイトル。

minItems

string (int64 format)

省略可。Type.ARRAY の要素の最小数。

maxItems

string (int64 format)

省略可。Type.ARRAY の要素の最大数。

共用体フィールド _minimum

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

minimum

number

省略可。Type.INTEGER と Type.NUMBER の最小値。

共用体フィールド _maximum

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

maximum

number

省略可。Type.INTEGER と Type.NUMBER の最大値。

PropertiesEntry

JSON 表現
{
  "key": string,
  "value": {
    object (Schema)
  }
}
フィールド
key

string

value

object (Schema)

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.
}
フィールド
共用体フィールド kind。値の種類。kind は次のいずれかになります。
nullValue

null

null 値を表します。

numberValue

number

double 値を表します。

stringValue

string

文字列値を表します。

boolValue

boolean

ブール値を表します。

structValue

object (Struct format)

構造化された値を表します。

listValue

array (ListValue format)

Value の繰り返しを表します。

構造体

JSON 表現
{
  "fields": {
    string: value,
    ...
  }
}
フィールド
fields

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

動的に型指定される値の順序なしのマップ。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

FieldsEntry

JSON 表現
{
  "key": string,
  "value": value
}
フィールド
key

string

value

value (Value format)

ListValue

JSON 表現
{
  "values": [
    value
  ]
}
フィールド
values[]

value (Value format)

動的に型指定される値の繰り返しフィールド。

DefsEntry

JSON 表現
{
  "key": string,
  "value": {
    object (Schema)
  }
}
フィールド
key

string

value

object (Schema)

OpenApiTool

JSON 表現
{
  "openApiSchema": string,
  "name": string,
  "description": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
フィールド
openApiSchema

string

必須。JSON または YAML 形式の OpenAPI スキーマ。

name

string

省略可。ツールの名前。指定しない場合、ツールの名前は OpenAPI スキーマの operation.operationId から派生します。

description

string

省略可。ツールの説明。指定しない場合、ツールの説明は OpenAPI スキーマ、operation.description、または operation.summary から取得されます。

apiAuthentication

object (ApiAuthentication)

省略可。API で必要な認証情報。

tlsConfig

object (TlsConfig)

省略可。TLS 構成。クライアントが信頼するカスタム サーバー証明書が含まれます。

serviceDirectoryConfig

object (ServiceDirectoryConfig)

省略可。Service Directory の構成。

ignoreUnknownFields

boolean

省略可。true の場合、エージェントは API レスポンスの不明なフィールドを無視します。

url

string

省略可。Open API スキーマのサーバー URL。このフィールドは、スキーマにサーバー URL が含まれている場合に、エクスポート プロセス中に環境の依存関係のツールでのみ設定されます。インポート プロセス中に、この URL が環境の依存関係に存在し、スキーマに $env_var プレースホルダがある場合、スキーマ内のプレースホルダが置き換えられます。

ApiAuthentication

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.
}
フィールド
共用体フィールド auth_config。認証構成。auth_config は次のいずれかになります。
apiKeyConfig

object (ApiKeyConfig)

省略可。API キー認証の構成。

oauthConfig

object (OAuthConfig)

省略可。OAuth の構成。

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

省略可。CES サービス エージェントから生成された ID トークン認証の構成。

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

省略可。サービス アカウント認証の構成。

bearerTokenConfig

object (BearerTokenConfig)

省略可。ベアラートークン認証の構成。

ApiKeyConfig

JSON 表現
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
フィールド
keyName

string

必須。API キーのパラメータ名またはヘッダー名。例: API リクエストが「https://example.com/act?X-Api-Key=」の場合、「X-Api-Key」がパラメータ名になります。

apiKeySecretVersion

string

必須。API キーを保存する SecretManager シークレット バージョン リソースの名前。形式: projects/{project}/secrets/{secret}/versions/{version}

注: CES サービス エージェント service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.comroles/secretmanager.secretAccessor ロールを付与する必要があります。

requestLocation

enum (RequestLocation)

必須。リクエスト内の鍵のロケーション。

OAuthConfig

JSON 表現
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
フィールド
oauthGrantType

enum (OauthGrantType)

必須。OAuth 権限付与タイプ。

clientId

string

必須。OAuth プロバイダのクライアント ID。

clientSecretVersion

string

必須。クライアント シークレットを保存する SecretManager シークレット バージョン リソースの名前。形式: projects/{project}/secrets/{secret}/versions/{version}

注: CES サービス エージェント service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.comroles/secretmanager.secretAccessor ロールを付与する必要があります。

tokenEndpoint

string

必須。アクセス トークンと交換する OAuth プロバイダのトークン エンドポイント。

scopes[]

string

省略可。付与する OAuth スコープ。

ServiceAccountAuthConfig

JSON 表現
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
フィールド
serviceAccount

string

必須。認証に使用されるサービス アカウントのメールアドレス。CES はこのサービス アカウントを使用してアクセス トークンを交換し、アクセス トークンはリクエストの Authorization ヘッダーで送信されます。

サービス アカウントには、CES サービス エージェント service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com に付与された roles/iam.serviceAccountTokenCreator ロールが必要です。

scopes[]

string

省略可。付与する OAuth スコープ。指定しない場合、デフォルトのスコープ https://www.googleapis.com/auth/cloud-platform が使用されます。

BearerTokenConfig

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

string

必須。署名なしトークン。$context.variables.<name_of_variable> の形式で指定してください。

TlsConfig

JSON 表現
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
フィールド
caCerts[]

object (CaCert)

必須。HTTPS 検証で許可されるカスタム CA 証明書のリストを指定します。

CaCert

JSON 表現
{
  "displayName": string,
  "cert": string
}
フィールド
displayName

string

必須。許可されたカスタム CA 証明書の名前。これは、カスタム CA 証明書を明確にするために使用できます。

cert

string (bytes format)

必須。HTTPS 検証で許可されるカスタム CA 証明書(DER 形式)。これにより、デフォルトの SSL トラストストアがオーバーライドされます。これが空または未指定の場合、CES は Google のデフォルトのトラストストアを使用して証明書を検証します。注: HTTPS サーバー証明書が「サブジェクト代替名」で署名されていることを確認してください。たとえば、次のコマンドで証明書に自己署名することができます。openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")

Base64 でエンコードされた文字列。

ServiceDirectoryConfig

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

string

必須。Service Directory サービスの名前。形式: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}。サービス ディレクトリのロケーションは、アプリのロケーションと同じである必要があります。

GoogleSearchTool

JSON 表現
{
  "name": string,
  "description": string,
  "contextUrls": [
    string
  ],
  "preferredDomains": [
    string
  ],
  "excludeDomains": [
    string
  ],
  "promptConfig": {
    object (PromptConfig)
  }
}
フィールド
name

string

必須。ツールの名前。

description

string

省略可。ツールの目的の説明。

contextUrls[]

string

省略可。コンテンツは、コンテキストとグラウンディングのためにこれらの URL から直接取得されます。例: "https://example.com/path.html"。URL は最大 20 個まで指定できます。

preferredDomains[]

string

省略可。検索結果を制限するドメインを指定します。例: "example.com"、"another.site"。指定できるドメインは最大 20 個です。

excludeDomains[]

string

省略可。検索結果から除外するドメインのリスト。例: "example.com"。除外できるドメインは最大 2,000 個です。

promptConfig

object (PromptConfig)

省略可。テキストと音声の検索結果を処理する方法についてプランナーに渡されるプロンプトの指示。

PromptConfig

JSON 表現
{
  "textPrompt": string,
  "voicePrompt": string
}
フィールド
textPrompt

string

省略可。チャット会話でエージェントとやり取りする際に、システム指示に使用されるプロンプトを定義します。設定されていない場合は、デフォルトのプロンプトが使用されます。

voicePrompt

string

省略可。音声会話でエージェントとやり取りする際に、システム指示に使用されるプロンプトを定義します。設定されていない場合は、デフォルトのプロンプトが使用されます。

ConnectorTool

JSON 表現
{
  "connection": string,
  "action": {
    object (Action)
  },
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "name": string,
  "description": string
}
フィールド
connection

string

必須。参照される Integration Connectors Connection の完全なリソース名。形式: projects/{project}/locations/{location}/connections/{connection}

action

object (Action)

必須。ツールが使用するアクション。

authConfig

object (EndUserAuthConfig)

省略可。Integration Connectors で認証を処理する方法を構成します。デフォルトでは、管理者の認証は Integration Connectors API リクエストで渡されます。別のエンドユーザー認証構成でオーバーライドできます。: ここで EUC 構成を指定するには、Connection で認証オーバーライドが有効になっている必要があります。有効になっていない場合、ConnectorTool の作成は失敗します。詳細については、https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override をご覧ください。

name

string

省略可。エージェントがこの ConnectorTool を呼び出すかどうかを判断するために使用できるツールの名前。

description

string

省略可。この ConnectorTool を呼び出すかどうかをエージェントが判断するために使用できるツールの説明。

アクション

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.
}
フィールド
inputFields[]

string

省略可。オペレーションの入力として使用するエンティティ フィールド。フィールドが指定されていない場合は、エンティティのすべてのフィールドが使用されます。

outputFields[]

string

省略可。オペレーションから返すエンティティ フィールド。フィールドが指定されていない場合は、Entity のすべてのフィールドが返されます。

共用体フィールド action_spec。ツールで使用するアクションを構成するための仕様。action_spec は次のいずれかになります。
connectionActionId

string

ツールが使用する接続アクションの ID。

entityOperation

object (EntityOperation)

ツールで使用するエンティティ オペレーション構成。

EntityOperation

JSON 表現
{
  "entityId": string,
  "operation": enum (OperationType)
}
フィールド
entityId

string

必須。エンティティの ID。

operation

enum (OperationType)

必須。エンティティに対して実行するオペレーション。

EndUserAuthConfig

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.
}
フィールド
共用体フィールド auth_config。認証構成。auth_config は次のいずれかになります。
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

OAuth 2.0 認証コード認証。

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

JWT プロファイル OAuth 2.0 認可権限付与認証。

Oauth2AuthCodeConfig

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

string

必須。渡す OAuth トークン パラメータ名。$context.variables.<name_of_variable> の形式で指定してください。

Oauth2JwtBearerConfig

JSON 表現
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
フィールド
issuer

string

必須。渡す発行者パラメータ名。$context.variables.<name_of_variable> の形式で指定してください。

subject

string

必須。渡すサブジェクト パラメータ名。$context.variables.<name_of_variable> の形式で指定してください。

clientKey

string

必須。渡すクライアント パラメータ名。$context.variables.<name_of_variable> の形式で指定してください。

DataStoreTool

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.
}
フィールド
name

string

必須。データストア ツールの名前。

description

string

省略可。ツールの説明。

boostSpecs[]

object (BoostSpecs)

省略可。特定のドキュメントをブーストするブースト仕様。

modalityConfigs[]

object (ModalityConfig)

省略可。データストアのモダリティ構成。

filterParameterBehavior

enum (FilterParameterBehavior)

省略可。フィルタ パラメータの動作。

共用体フィールド search_source。検索ソース(単一のデータストアまたはエンジン)を定義します。search_source は次のいずれかになります。
dataStoreSource

object (DataStoreSource)

省略可。特定の 1 つの DataStore 内を検索します。

engineSource

object (EngineSource)

省略可。エンジン内を検索します(複数のデータストアにまたがる可能性があります)。

DataStoreSource

JSON 表現
{
  "filter": string,
  "dataStore": {
    object (DataStore)
  }
}
フィールド
filter

string

省略可。DataStore のフィルタ仕様。参照: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

dataStore

object (DataStore)

省略可。データストア。

DataStore

JSON 表現
{
  "name": string,
  "type": enum (DataStoreType),
  "documentProcessingMode": enum (DocumentProcessingMode),
  "displayName": string,
  "createTime": string,
  "connectorConfig": {
    object (ConnectorConfig)
  }
}
フィールド
name

string

必須。DataStore の完全なリソース名。形式: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}

type

enum (DataStoreType)

出力専用。データストアのタイプ。このフィールドは読み取り専用で、サーバーによって入力されます。

documentProcessingMode

enum (DocumentProcessingMode)

出力専用。データストア接続のドキュメント処理モード。PUBLIC_WEB データストアと UNSTRUCTURED データストアでのみ設定されます。

displayName

string

出力専用。データストアの表示名。

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"

connectorConfig

object (ConnectorConfig)

出力専用。データストア接続のコネクタ構成。

タイムスタンプ

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 にする必要があります(両端を含む)。

ConnectorConfig

JSON 表現
{
  "collection": string,
  "collectionDisplayName": string,
  "dataSource": string
}
フィールド
collection

string

データストアが属するコレクションのリソース名。

collectionDisplayName

string

データストアが属するコレクションの表示名。

dataSource

string

データソース名。例: salesforcejiraconfluencebigquery

EngineSource

JSON 表現
{
  "engine": string,
  "dataStoreSources": [
    {
      object (DataStoreSource)
    }
  ],
  "filter": string
}
フィールド
engine

string

必須。Engine の完全なリソース名。形式: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreSource)

省略可。Engine 内の特定の DataStore をターゲットにするために使用します。空の場合、検索は Engine に関連付けられているすべての DataStore に適用されます。

filter

string

省略可。エンジン全体で検索に適用されるフィルタ。data_store_sources が指定されている場合は、関連性がなく、使用されません。参照: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

BoostSpecs

JSON 表現
{
  "dataStores": [
    string
  ],
  "spec": [
    {
      object (BoostSpec)
    }
  ]
}
フィールド
dataStores[]

string

必須。ブースト構成が適用されるデータストア。DataStore の完全なリソース名(例: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore})。

spec[]

object (BoostSpec)

必須。ブースト仕様のリスト。

BoostSpec

JSON 表現
{
  "conditionBoostSpecs": [
    {
      object (ConditionBoostSpec)
    }
  ]
}
フィールド
conditionBoostSpecs[]

object (ConditionBoostSpec)

必須。ブースト仕様のリスト。

ConditionBoostSpec

JSON 表現
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
フィールド
condition

string

必須。ブースト条件を指定する式。構文は、フィルタ式の構文と同じです。現在、サポートされている条件は BCP-47 言語コードのリストのみです。例: 言語 en または fr の候補をブーストするには: (lang_code: ANY("en", "fr"))

boost

number

省略可。ブーストの強さ。[-1, 1] の範囲で指定します。ブーストが負の値である場合は順位を下げることを意味します。デフォルトは 0.0 です。

1.0 に設定すると、候補に強力なプロモーションが与えられます。ただし、ブーストされた候補が上位の結果になるとは限りません。

-1.0 に設定すると、候補に大きなデモートが与えられます。ただし、関連性の高い他の候補は引き続き表示されることがあります。

0.0 に設定すると、ブーストは適用されません。ブースト条件は無視されます。

boostControlSpec

object (BoostControlSpec)

省略可。顧客定義の属性値に基づくカスタム ランキングの複雑な仕様。

BoostControlSpec

JSON 表現
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
フィールド
fieldName

string

省略可。ブースト量を決定するために値が使用されるフィールドの名前。

attributeType

enum (AttributeType)

省略可。ブースト額の決定に使用する属性のタイプ。属性値は、指定された field_name のフィールド値から導出できます。数値の場合、attribute_value = numerical_field_value となります。ただし、鮮度の場合は、attribute_value = (time.now() - datetime_field_value) となります。

interpolationType

enum (InterpolationType)

省略可。以下に表示されているコントロール ポイントを接続するために適用される補完タイプ。

controlPoints[]

object (ControlPoint)

省略可。曲線の定義に使用されるコントロール ポイント。単調関数(上記の interpolation_type で定義)は、ここに記載されているコントロール ポイントを通過します。

ControlPoint

JSON 表現
{
  "attributeValue": string,
  "boostAmount": number
}
フィールド
attributeValue

string

省略可。以下のいずれか: 1. 数値フィールドの値。2. 鮮度の期間仕様: 値は XSD dayTimeDuration 値(ISO 8601 期間値の制限付きサブセット)としてフォーマットする必要があります。このパターンは [nD][T[nH][nM][nS]] です。

boostAmount

number

省略可。attribute_value が上記で指定した値と評価された場合にスコアをブーストする値(-1 ~ 1)。

ModalityConfig

JSON 表現
{
  "modalityType": enum (ModalityType),
  "rewriterConfig": {
    object (RewriterConfig)
  },
  "summarizationConfig": {
    object (SummarizationConfig)
  },
  "groundingConfig": {
    object (GroundingConfig)
  }
}
フィールド
modalityType

enum (ModalityType)

必須。モダリティ タイプ。

rewriterConfig

object (RewriterConfig)

省略可。リライタ構成。

summarizationConfig

object (SummarizationConfig)

省略可。要約構成。

groundingConfig

object (GroundingConfig)

省略可。グラウンディング構成。

RewriterConfig

JSON 表現
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
フィールド
modelSettings

object (ModelSettings)

必須。LLM モデルの構成。

prompt

string

省略可。プロンプトの定義。設定されていない場合は、デフォルトのプロンプトが使用されます。

disabled

boolean

省略可。リライターが無効かどうか。

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 モデルに使用されます。温度は、モデルのレスポンスのランダム性を制御します。温度が低いほど、予測しやすい回答が生成されます。温度が高いほど、より創造的なレスポンスが生成されます。

SummarizationConfig

JSON 表現
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
フィールド
modelSettings

object (ModelSettings)

省略可。LLM モデルの構成。

prompt

string

省略可。プロンプトの定義。設定されていない場合は、デフォルトのプロンプトが使用されます。

disabled

boolean

省略可。要約が無効かどうか。

GroundingConfig

JSON 表現
{
  "groundingLevel": number,
  "disabled": boolean
}
フィールド
groundingLevel

number

省略可。取得されたソースに基づく回答のグラウンディングのしきい値。値の構成可能な範囲は [1, 5] です。このレベルは、回答のグラウンディングのしきい値として使用されます。つまり、グラウンディング スコアがしきい値を下回るすべての回答は、関連するスニペットのみを返すようにフォールバックされます。

たとえば、レベル 3 の場合、レスポンスが返されるには、グラウンディング スコアが 3 以上である必要があります。

disabled

boolean

省略可。グラウンディングが無効かどうか。

PythonFunction

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

string

省略可。実行する Python 関数の名前。Python コードで定義されている Python 関数名と一致している必要があります。大文字と小文字が区別されます。名前が指定されていない場合は、Python コードで定義されている最初の関数が使用されます。

pythonCode

string

省略可。ツールで実行する Python コード。

description

string

出力専用。Python コードの docstring から解析された Python 関数の説明。

McpTool

JSON 表現
{
  "name": string,
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  },
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  }
}
フィールド
name

string

必須。MCP ツールの名前。

description

string

省略可。MCP ツールの説明。

inputSchema

object (Schema)

省略可。MCP ツールの入力引数のスキーマ。

outputSchema

object (Schema)

省略可。MCP ツールの出力引数のスキーマ。

serverAddress

string

必須。MCP サーバーのサーバー アドレス(例: "https://example.com/mcp/"。サーバーが MCP SDK で構築されている場合、URL の末尾に「/mcp/」を付加する必要があります。ストリーミング可能な HTTP 転送ベースのサーバーのみがサポートされています。これは、McpToolset の server_address と同じです。詳細については、https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http をご覧ください。

apiAuthentication

object (ApiAuthentication)

省略可。MCP サーバーに対してツールを実行するために必要な認証情報。ベアラートークン認証の場合、トークンはツールの実行にのみ適用され、ツールのリストには適用されません。そのため、認証なしでツールを一覧表示できる必要があります。

tlsConfig

object (TlsConfig)

省略可。TLS 構成。クライアントが信頼すべきカスタム サーバー証明書が含まれます。

serviceDirectoryConfig

object (ServiceDirectoryConfig)

省略可。VPC-SC の Service Directory 構成。境界内のサービス名の解決に使用されます。

FileSearchTool

JSON 表現
{
  "corpusType": enum (CorpusType),
  "name": string,
  "description": string,
  "fileCorpus": string
}
フィールド
corpusType

enum (CorpusType)

省略可。コーパスのタイプ。デフォルトは FULLY_MANAGED です。

name

string

必須。ツールの名前。

description

string

省略可。ツールの説明。

fileCorpus

string

省略可。ファイルが保存されているコーパス。形式: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

SystemTool

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

string

必須。システムツールの名前。

description

string

出力専用。システムツールの説明。

WidgetTool

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.
}
フィールド
name

string

必須。ウィジェット ツールの表示名。

description

string

省略可。ウィジェット ツールの説明。

widgetType

enum (WidgetType)

省略可。ウィジェット ツールのタイプ。指定しない場合、デフォルトのタイプは CUSTOMIZED になります。

共用体フィールド input。ウィジェット ツールの入力。input は次のいずれかになります。
parameters

object (Schema)

省略可。ウィジェット ツールの入力パラメータ。

ToolFakeConfig

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.
}
フィールド
enableFakeMode

boolean

省略可。ツールがフェイクモードを使用しているかどうか。

共用体フィールド tool_response。レスポンスは静的であるか、Python 関数によって提供されます。tool_response は次のいずれかになります。
codeBlock

object (CodeBlock)

省略可。実際のツール呼び出しの代わりに実行されるコードブロック。

CodeBlock

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

string

必須。ツール フェイクモードで呼び出される Python コード。想定される Python 関数のシグネチャ - すべてのツール呼び出しをキャッチするには: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: 特定のツール呼び出しをキャッチするには: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: 関数が None を返すと、代わりに実際のツールが呼び出されます。

ツールのアノテーション

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