ツール: create_toolset
指定されたアプリに新しいツールセットを作成します。
次のサンプルは、curl を使用して create_toolset 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": "create_toolset", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
入力スキーマ
AgentService.CreateToolset のリクエスト メッセージです。
CreateToolsetRequest
| JSON 表現 |
|---|
{
"parent": string,
"toolsetId": string,
"toolset": {
object ( |
| フィールド | |
|---|---|
parent |
必須。ツールセットを作成するアプリのリソース名。 |
toolsetId |
省略可。ツールセットに使用する ID。ツールセットのリソース名の最終的なコンポーネントになります。指定しない場合、ツールセットに一意の ID が自動的に割り当てられます。 |
toolset |
必須。作成するツールセット。 |
ツールセット
| JSON 表現 |
|---|
{ "name": string, "displayName": string, "description": string, "timeout": string, "createTime": string, "updateTime": string, "etag": string, "executionType": enum ( |
| フィールド | |
|---|---|
name |
ID。ツールセットの一意の識別子。形式: |
displayName |
省略可。ツールセットの表示名。同じアプリ内で一意である必要があります。 |
description |
省略可。ツールセットの説明。 |
timeout |
省略可。ツールセットの実行のタイムアウト。設定しない場合、デフォルトのタイムアウトは
|
createTime |
出力専用。ツールセットが作成されたときのタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
updateTime |
出力専用。ツールセットが最後に更新されたときのタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
etag |
読み取り、変更、書き込みのオペレーション中にオブジェクトが変更されていないことを確認するために使用される ETag。etag が空の場合、更新によって同時変更が上書きされます。 |
executionType |
省略可。ツールセット内のツールの実行タイプ。 |
toolFakeConfig |
省略可。フェイクモードでのツールの動作の構成。 |
共用体フィールド toolset_type。ツールセットのタイプ。toolset_type は次のいずれかになります。 |
|
mcpToolset |
省略可。MCP サーバーが提供するツールのリストを含むツールセット。 |
openApiToolset |
省略可。OpenAPI スキーマで定義されたツールのリストを含むツールセット。 |
connectorToolset |
省略可。Integration Connectors 接続からツールを生成するツールセット。 |
McpToolset
| JSON 表現 |
|---|
{ "serverAddress": string, "apiAuthentication": { object ( |
| フィールド | |
|---|---|
serverAddress |
必須。MCP サーバーのアドレス(例: https://example.com/mcp/)。サーバーが MCP SDK で構築されている場合、URL の末尾に「/mcp/」を付加する必要があります。ストリーミング可能な HTTP 転送ベースのサーバーのみがサポートされています。詳しくは、https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http をご覧ください。 |
apiAuthentication |
省略可。ツールにアクセスして MCP サーバーに対してツールを実行するために必要な認証情報。ベアラー トークン認証の場合、トークンはツールの実行にのみ適用され、ツールのリストには適用されません。そのため、認証なしでツールを一覧表示できる必要があります。 |
serviceDirectoryConfig |
省略可。VPC-SC の Service Directory 構成。境界内のサービス名の解決に使用されます。 |
tlsConfig |
省略可。TLS 構成。クライアントが信頼すべきカスタム サーバー証明書が含まれます。 |
customHeaders |
省略可。MCP サーバーへのリクエストで送信するカスタム ヘッダー。値は
|
toolOverrides[] |
省略可。このツールセット内の個々のツールのオーバーライド。これにより、説明や名前などの特定の詳細をオーバーライドしたり、ツールを完全に動的にしないように状態を固定したりできます。 |
ApiAuthentication
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド auth_config。認証構成。auth_config は次のいずれかになります。 |
|
apiKeyConfig |
省略可。API キー認証の構成。 |
oauthConfig |
省略可。OAuth の構成。 |
serviceAgentIdTokenAuthConfig |
省略可。CES サービス エージェントから生成された ID トークン認証の構成。 |
serviceAccountAuthConfig |
省略可。サービス アカウント認証の構成。 |
bearerTokenConfig |
省略可。ベアラートークン認証の構成。 |
ApiKeyConfig
| JSON 表現 |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| フィールド | |
|---|---|
keyName |
必須。API キーのパラメータ名またはヘッダー名。例: API リクエストが「https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
必須。API キーを保存する SecretManager シークレット バージョン リソースの名前。形式: 注: CES サービス エージェント |
requestLocation |
必須。リクエスト内の鍵のロケーション。 |
OAuthConfig
| JSON 表現 |
|---|
{
"oauthGrantType": enum ( |
| フィールド | |
|---|---|
oauthGrantType |
必須。OAuth 権限付与タイプ。 |
clientId |
必須。OAuth プロバイダのクライアント ID。 |
clientSecretVersion |
必須。クライアント シークレットを保存する SecretManager シークレット バージョン リソースの名前。形式: 注: CES サービス エージェント |
tokenEndpoint |
必須。アクセス トークンと交換する OAuth プロバイダのトークン エンドポイント。 |
scopes[] |
省略可。付与する OAuth スコープ。 |
ServiceAccountAuthConfig
| JSON 表現 |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| フィールド | |
|---|---|
serviceAccount |
必須。認証に使用されるサービス アカウントのメールアドレス。CES はこのサービス アカウントを使用してアクセス トークンを交換し、アクセス トークンはリクエストの サービス アカウントには、CES サービス エージェント |
scopes[] |
省略可。付与する OAuth スコープ。指定しない場合、デフォルトのスコープ |
BearerTokenConfig
| JSON 表現 |
|---|
{ "token": string } |
| フィールド | |
|---|---|
token |
必須。署名なしトークン。 |
ServiceDirectoryConfig
| JSON 表現 |
|---|
{ "service": string } |
| フィールド | |
|---|---|
service |
必須。Service Directory サービスの名前。形式: |
TlsConfig
| JSON 表現 |
|---|
{
"caCerts": [
{
object ( |
| フィールド | |
|---|---|
caCerts[] |
必須。HTTPS 検証で許可されるカスタム CA 証明書のリストを指定します。 |
CaCert
| JSON 表現 |
|---|
{ "displayName": string, "cert": string } |
| フィールド | |
|---|---|
displayName |
必須。許可されたカスタム CA 証明書の名前。これは、カスタム CA 証明書を明確にするために使用できます。 |
cert |
必須。HTTPS 検証で許可されるカスタム CA 証明書(DER 形式)。これにより、デフォルトの SSL トラストストアがオーバーライドされます。これが空または未指定の場合、CES は Google のデフォルトのトラストストアを使用して証明書を検証します。注: HTTPS サーバー証明書が「サブジェクト代替名」で署名されていることを確認してください。たとえば、次のコマンドで証明書に自己署名できます。 Base64 でエンコードされた文字列。 |
CustomHeadersEntry
| JSON 表現 |
|---|
{ "key": string, "value": string } |
| フィールド | |
|---|---|
key |
|
value |
|
McpToolOverride
| JSON 表現 |
|---|
{
"tool": string,
"nameOverride": string,
"descriptionOverride": string,
"snapshot": {
object ( |
| フィールド | |
|---|---|
tool |
必須。MCP サーバーによって出力されるツールの元の名前。 |
nameOverride |
省略可。この名前が存在する場合、このツールは元の名前ではなく、この名前をエージェントで使用します。これは、MCP サーバーが名前の付け方が悪いツールを提供している場合に、主にエイリアスとして使用されます。 |
descriptionOverride |
省略可。この説明が存在する場合、このツールはサーバーの元の説明の代わりにこの説明を使用します。 |
snapshot |
出力専用。このツールが存在する場合、ツールは「固定」され、サーバーが一時的に利用できなくなった場合やオーバーライドが存在しない場合に、スナップショットの値をフォールバックとして使用します。 |
McpToolDefinition
| JSON 表現 |
|---|
{ "description": string, "inputSchema": { object ( |
| フィールド | |
|---|---|
description |
出力専用。MCP ツールの説明。これは、 |
inputSchema |
出力専用。MCP ツールの入力引数のスキーマ。 |
outputSchema |
出力専用。MCP ツールの出力引数のスキーマ。 |
スキーマ
| JSON 表現 |
|---|
{ "type": enum ( |
| フィールド | |
|---|---|
type |
必須。データの型。 |
properties |
省略可。Type.OBJECT のプロパティ。
|
required[] |
省略可。Type.OBJECT の必須プロパティ。 |
description |
省略可。データの説明。 |
items |
省略可。Type.ARRAY の要素のスキーマ。 |
nullable |
省略可。値が null の可能性があるかどうかを示します。 |
uniqueItems |
省略可。配列内の項目が一意であることを示します。TYPE.ARRAY にのみ適用されます。 |
prefixItems[] |
省略可。Type.ARRAY の初期要素のスキーマ。 |
additionalProperties |
省略可。ブール値またはオブジェクトのいずれか。追加のプロパティの存在を制御します。 |
anyOf[] |
省略可。値は、リスト内のサブスキーマのいずれか(1 つ以上)に対して検証される必要があります。 |
enum[] |
省略可。プリミティブ型の要素の可能な値(列挙型形式)。例: 1. 方向は {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. アパートの部屋番号は {type:INTEGER, format:enum, enum:["101", "201", "301"]} と定義できます。 |
default |
省略可。データのデフォルト値。 |
ref |
省略可。スキーマノード間の間接参照を許可します。値は、ルート たとえば、次のスキーマは「Pet」という名前のスキーマノードへの参照を定義します。 「pet」プロパティの値は、「Pet」という名前のスキーマノードへの参照です。詳しくは、https://json-schema.org/understanding-json-schema/structuring をご覧ください。 |
defs |
省略可。
|
title |
省略可。スキーマのタイトル。 |
minItems |
省略可。Type.ARRAY の要素の最小数。 |
maxItems |
省略可。Type.ARRAY の要素の最大数。 |
共用体フィールド
|
|
minimum |
省略可。Type.INTEGER と Type.NUMBER の最小値。 |
共用体フィールド
|
|
maximum |
省略可。Type.INTEGER と Type.NUMBER の最大値。 |
PropertiesEntry
| JSON 表現 |
|---|
{
"key": string,
"value": {
object ( |
| フィールド | |
|---|---|
key |
|
value |
|
値
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド kind。値の種類。kind は次のいずれかになります。 |
|
nullValue |
JSON |
numberValue |
JSON 数値を表します。 |
stringValue |
JSON 文字列を表します。 |
boolValue |
JSON ブール値(JSON の |
structValue |
JSON オブジェクトを表します。 |
listValue |
JSON 配列を表します。 |
構造体
| JSON 表現 |
|---|
{ "fields": { string: value, ... } } |
| フィールド | |
|---|---|
fields |
動的に型指定される値の順序なしのマップ。
|
FieldsEntry
| JSON 表現 |
|---|
{ "key": string, "value": value } |
| フィールド | |
|---|---|
key |
|
value |
|
ListValue
| JSON 表現 |
|---|
{ "values": [ value ] } |
| フィールド | |
|---|---|
values[] |
動的に型指定される値の繰り返しフィールド。 |
DefsEntry
| JSON 表現 |
|---|
{
"key": string,
"value": {
object ( |
| フィールド | |
|---|---|
key |
|
value |
|
OpenApiToolset
| JSON 表現 |
|---|
{ "openApiSchema": string, "apiAuthentication": { object ( |
| フィールド | |
|---|---|
openApiSchema |
必須。ツールセットの OpenAPI スキーマ。 |
apiAuthentication |
省略可。API で必要な認証情報。 |
tlsConfig |
省略可。TLS 構成。カスタム サーバー証明書が含まれます |
serviceDirectoryConfig |
省略可。Service Directory の構成。 |
ignoreUnknownFields |
省略可。true の場合、エージェントは OpenAPI スキーマで定義されたすべてのオペレーションについて、API レスポンス内の不明なフィールドを無視します。 |
url |
省略可。Open API スキーマのサーバー URL。このフィールドは、スキーマにサーバー URL が含まれている場合に、エクスポート プロセス中に環境の依存関係のツールセットでのみ設定されます。インポート プロセス中に、この URL が環境の依存関係に存在し、スキーマに $env_var プレースホルダがある場合、スキーマ内のプレースホルダが置き換えられます。 |
ConnectorToolset
| JSON 表現 |
|---|
{ "connection": string, "authConfig": { object ( |
| フィールド | |
|---|---|
connection |
必須。参照される Integration Connectors Connection の完全なリソース名。形式: |
authConfig |
省略可。Integration Connectors で認証を処理する方法を構成します。デフォルトでは、管理者の認証は Integration Connectors API リクエストで渡されます。別のエンドユーザー認証構成でオーバーライドできます。注: ここで EUC 構成を指定するには、接続で認証オーバーライドが有効になっている必要があります。有効になっていない場合、ツールセットの作成は失敗します。参照: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override |
connectorActions[] |
必須。ツールの生成対象となるコネクタ アクション/エンティティ オペレーションのリスト。 |
EndUserAuthConfig
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド auth_config。認証構成。auth_config は次のいずれかになります。 |
|
oauth2AuthCodeConfig |
OAuth 2.0 認証コード認証。 |
oauth2JwtBearerConfig |
JWT プロファイル OAuth 2.0 認可権限付与認証。 |
Oauth2AuthCodeConfig
| JSON 表現 |
|---|
{ "oauthToken": string } |
| フィールド | |
|---|---|
oauthToken |
必須。渡す OAuth トークン パラメータ名。 |
Oauth2JwtBearerConfig
| JSON 表現 |
|---|
{ "issuer": string, "subject": string, "clientKey": string } |
| フィールド | |
|---|---|
issuer |
必須。渡す発行者パラメータ名。 |
subject |
必須。渡すサブジェクト パラメータ名。 |
clientKey |
必須。渡すクライアント パラメータ名。 |
アクション
| JSON 表現 |
|---|
{ "inputFields": [ string ], "outputFields": [ string ], // Union field |
| フィールド | |
|---|---|
inputFields[] |
省略可。オペレーションの入力として使用するエンティティ フィールド。フィールドが指定されていない場合は、Entity のすべてのフィールドが使用されます。 |
outputFields[] |
省略可。オペレーションから返すエンティティ フィールド。フィールドが指定されていない場合は、Entity のすべてのフィールドが返されます。 |
共用体フィールド action_spec。ツールで使用するアクションを構成するための仕様。action_spec は次のいずれかになります。 |
|
connectionActionId |
ツールが使用する接続アクションの ID。 |
entityOperation |
ツールで使用するエンティティ オペレーション構成。 |
EntityOperation
| JSON 表現 |
|---|
{
"entityId": string,
"operation": enum ( |
| フィールド | |
|---|---|
entityId |
必須。エンティティの ID。 |
operation |
必須。エンティティに対して実行するオペレーション。 |
所要時間
| JSON 表現 |
|---|
{ "seconds": string, "nanos": integer } |
| フィールド | |
|---|---|
seconds |
期間の符号付き秒数。-315,576,000,000 ~+315,576,000,000 の範囲(両端を含む)にする必要があります。注: これらの境界は、60 秒/分 * 60 分/時間 * 24 時間/日 * 365.25 日/年 * 10,000 年から計算されます。 |
nanos |
期間のナノ秒分解能による、秒の符号付き小数以下部分。1 秒未満の期間は、0 の |
タイムスタンプ
| JSON 表現 |
|---|
{ "seconds": string, "nanos": integer } |
| フィールド | |
|---|---|
seconds |
UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。 |
nanos |
ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。 |
ToolFakeConfig
| JSON 表現 |
|---|
{ "enableFakeMode": boolean, // Union field |
| フィールド | |
|---|---|
enableFakeMode |
省略可。ツールがフェイクモードを使用しているかどうか。 |
共用体フィールド tool_response。レスポンスは静的であるか、Python 関数によって提供されます。tool_response は次のいずれかになります。 |
|
codeBlock |
省略可。実際のツール呼び出しの代わりに実行されるコードブロック。 |
CodeBlock
| JSON 表現 |
|---|
{ "pythonCode": string } |
| フィールド | |
|---|---|
pythonCode |
必須。ツール フェイクモードで呼び出される 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 を返すと、代わりに実際のツールが呼び出されます。 |
RequestLocation
リクエスト内の API キーの場所。
| 列挙型 | |
|---|---|
REQUEST_LOCATION_UNSPECIFIED |
指定なし。この値は使用されるべきではありません。 |
HEADER |
HTTP ヘッダーのキーを表します。 |
QUERY_STRING |
クエリ文字列のキーを表します。 |
OauthGrantType
OAuth 権限付与タイプ。クライアント認証情報の権限付与のみがサポートされています。
| 列挙型 | |
|---|---|
OAUTH_GRANT_TYPE_UNSPECIFIED |
指定なし。デフォルトは CLIENT_CREDENTIAL です。 |
CLIENT_CREDENTIAL |
クライアント認証情報フローを表します。 |
タイプ
OpenAPI のデータ型。
| 列挙型 | |
|---|---|
TYPE_UNSPECIFIED |
未指定 |
STRING |
文字列型。 |
INTEGER |
整数型。 |
NUMBER |
数値型。 |
BOOLEAN |
ブール型。 |
OBJECT |
オブジェクトのタイプ。 |
ARRAY |
配列型。 |
NullValue
JSON null を表します。
NullValue はセンチネルです。値が 1 つしかない列挙型を使用して、Value 型共用体の null 値を表します。
0 以外の値を持つ NullValue 型のフィールドは無効と見なされます。ほとんどの ProtoJSON シリアライザーは、整数値に関係なく、null_value を JSON null として設定した Value を出力するため、0 値に往復します。
| 列挙型 | |
|---|---|
NULL_VALUE |
Null 値。 |
OperationType
エンティティに対して実行するオペレーション。
| 列挙型 | |
|---|---|
OPERATION_TYPE_UNSPECIFIED |
オペレーション タイプが指定されていません。無効。ConnectorTool の作成/更新は失敗します。 |
LIST |
リスト オペレーション。 |
GET |
オペレーションを取得します。 |
CREATE |
作成オペレーション。 |
UPDATE |
更新オペレーション。 |
DELETE |
削除オペレーション。 |
ExecutionType
ツールまたはツールセットの実行タイプ。
| 列挙型 | |
|---|---|
EXECUTION_TYPE_UNSPECIFIED |
実行タイプが指定されていません。指定しない場合のデフォルトは SYNCHRONOUS です。 |
SYNCHRONOUS |
ツールは同期的に実行されます。ツールが戻るまでセッションはブロックされます。 |
ASYNCHRONOUS |
ツールは非同期で実行されます。ツールが実行されている間、セッションは継続します。 |
出力スキーマ
ツールセットは、エージェントが使用できる動的に管理されるツールのグループを表します。
ツールセット
| JSON 表現 |
|---|
{ "name": string, "displayName": string, "description": string, "timeout": string, "createTime": string, "updateTime": string, "etag": string, "executionType": enum ( |
| フィールド | |
|---|---|
name |
ID。ツールセットの一意の識別子。形式: |
displayName |
省略可。ツールセットの表示名。同じアプリ内で一意である必要があります。 |
description |
省略可。ツールセットの説明。 |
timeout |
省略可。ツールセットの実行のタイムアウト。設定しない場合、デフォルトのタイムアウトは
|
createTime |
出力専用。ツールセットが作成されたときのタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
updateTime |
出力専用。ツールセットが最後に更新されたときのタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
etag |
読み取り、変更、書き込みのオペレーション中にオブジェクトが変更されていないことを確認するために使用される ETag。etag が空の場合、更新によって同時変更が上書きされます。 |
executionType |
省略可。ツールセット内のツールの実行タイプ。 |
toolFakeConfig |
省略可。フェイクモードでのツールの動作の構成。 |
共用体フィールド toolset_type。ツールセットのタイプ。toolset_type は次のいずれかになります。 |
|
mcpToolset |
省略可。MCP サーバーが提供するツールのリストを含むツールセット。 |
openApiToolset |
省略可。OpenAPI スキーマで定義されたツールのリストを含むツールセット。 |
connectorToolset |
省略可。Integration Connectors 接続からツールを生成するツールセット。 |
McpToolset
| JSON 表現 |
|---|
{ "serverAddress": string, "apiAuthentication": { object ( |
| フィールド | |
|---|---|
serverAddress |
必須。MCP サーバーのアドレス(例: https://example.com/mcp/)。サーバーが MCP SDK で構築されている場合、URL の末尾に「/mcp/」を付加する必要があります。ストリーミング可能な HTTP 転送ベースのサーバーのみがサポートされています。詳しくは、https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http をご覧ください。 |
apiAuthentication |
省略可。ツールにアクセスして MCP サーバーに対してツールを実行するために必要な認証情報。ベアラー トークン認証の場合、トークンはツールの実行にのみ適用され、ツールのリストには適用されません。そのため、認証なしでツールを一覧表示できる必要があります。 |
serviceDirectoryConfig |
省略可。VPC-SC の Service Directory 構成。境界内のサービス名の解決に使用されます。 |
tlsConfig |
省略可。TLS 構成。クライアントが信頼すべきカスタム サーバー証明書が含まれます。 |
customHeaders |
省略可。MCP サーバーへのリクエストで送信するカスタム ヘッダー。値は
|
toolOverrides[] |
省略可。このツールセット内の個々のツールのオーバーライド。これにより、説明や名前などの特定の詳細をオーバーライドしたり、ツールを完全に動的にしないように状態を固定したりできます。 |
ApiAuthentication
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド auth_config。認証構成。auth_config は次のいずれかになります。 |
|
apiKeyConfig |
省略可。API キー認証の構成。 |
oauthConfig |
省略可。OAuth の構成。 |
serviceAgentIdTokenAuthConfig |
省略可。CES サービス エージェントから生成された ID トークン認証の構成。 |
serviceAccountAuthConfig |
省略可。サービス アカウント認証の構成。 |
bearerTokenConfig |
省略可。ベアラートークン認証の構成。 |
ApiKeyConfig
| JSON 表現 |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| フィールド | |
|---|---|
keyName |
必須。API キーのパラメータ名またはヘッダー名。例: API リクエストが「https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
必須。API キーを保存する SecretManager シークレット バージョン リソースの名前。形式: 注: CES サービス エージェント |
requestLocation |
必須。リクエスト内の鍵のロケーション。 |
OAuthConfig
| JSON 表現 |
|---|
{
"oauthGrantType": enum ( |
| フィールド | |
|---|---|
oauthGrantType |
必須。OAuth 権限付与タイプ。 |
clientId |
必須。OAuth プロバイダのクライアント ID。 |
clientSecretVersion |
必須。クライアント シークレットを保存する SecretManager シークレット バージョン リソースの名前。形式: 注: CES サービス エージェント |
tokenEndpoint |
必須。アクセス トークンと交換する OAuth プロバイダのトークン エンドポイント。 |
scopes[] |
省略可。付与する OAuth スコープ。 |
ServiceAccountAuthConfig
| JSON 表現 |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| フィールド | |
|---|---|
serviceAccount |
必須。認証に使用されるサービス アカウントのメールアドレス。CES はこのサービス アカウントを使用してアクセス トークンを交換し、アクセス トークンはリクエストの サービス アカウントには、CES サービス エージェント |
scopes[] |
省略可。付与する OAuth スコープ。指定しない場合、デフォルトのスコープ |
BearerTokenConfig
| JSON 表現 |
|---|
{ "token": string } |
| フィールド | |
|---|---|
token |
必須。署名なしトークン。 |
ServiceDirectoryConfig
| JSON 表現 |
|---|
{ "service": string } |
| フィールド | |
|---|---|
service |
必須。Service Directory サービスの名前。形式: |
TlsConfig
| JSON 表現 |
|---|
{
"caCerts": [
{
object ( |
| フィールド | |
|---|---|
caCerts[] |
必須。HTTPS 検証で許可されるカスタム CA 証明書のリストを指定します。 |
CaCert
| JSON 表現 |
|---|
{ "displayName": string, "cert": string } |
| フィールド | |
|---|---|
displayName |
必須。許可されたカスタム CA 証明書の名前。これは、カスタム CA 証明書を明確にするために使用できます。 |
cert |
必須。HTTPS 検証で許可されるカスタム CA 証明書(DER 形式)。これにより、デフォルトの SSL トラストストアがオーバーライドされます。これが空または未指定の場合、CES は Google のデフォルトのトラストストアを使用して証明書を検証します。注: HTTPS サーバー証明書が「サブジェクト代替名」で署名されていることを確認してください。たとえば、次のコマンドで証明書に自己署名できます。 Base64 でエンコードされた文字列。 |
CustomHeadersEntry
| JSON 表現 |
|---|
{ "key": string, "value": string } |
| フィールド | |
|---|---|
key |
|
value |
|
McpToolOverride
| JSON 表現 |
|---|
{
"tool": string,
"nameOverride": string,
"descriptionOverride": string,
"snapshot": {
object ( |
| フィールド | |
|---|---|
tool |
必須。MCP サーバーによって出力されるツールの元の名前。 |
nameOverride |
省略可。この名前が存在する場合、このツールは元の名前ではなく、この名前をエージェントで使用します。これは、MCP サーバーが名前の付け方が悪いツールを提供している場合に、主にエイリアスとして使用されます。 |
descriptionOverride |
省略可。この説明が存在する場合、このツールはサーバーの元の説明の代わりにこの説明を使用します。 |
snapshot |
出力専用。このツールが存在する場合、ツールは「固定」され、サーバーが一時的に利用できなくなった場合やオーバーライドが存在しない場合に、スナップショットの値をフォールバックとして使用します。 |
McpToolDefinition
| JSON 表現 |
|---|
{ "description": string, "inputSchema": { object ( |
| フィールド | |
|---|---|
description |
出力専用。MCP ツールの説明。これは、 |
inputSchema |
出力専用。MCP ツールの入力引数のスキーマ。 |
outputSchema |
出力専用。MCP ツールの出力引数のスキーマ。 |
スキーマ
| JSON 表現 |
|---|
{ "type": enum ( |
| フィールド | |
|---|---|
type |
必須。データの型。 |
properties |
省略可。Type.OBJECT のプロパティ。
|
required[] |
省略可。Type.OBJECT の必須プロパティ。 |
description |
省略可。データの説明。 |
items |
省略可。Type.ARRAY の要素のスキーマ。 |
nullable |
省略可。値が null の可能性があるかどうかを示します。 |
uniqueItems |
省略可。配列内の項目が一意であることを示します。TYPE.ARRAY にのみ適用されます。 |
prefixItems[] |
省略可。Type.ARRAY の初期要素のスキーマ。 |
additionalProperties |
省略可。ブール値またはオブジェクトのいずれか。追加のプロパティの存在を制御します。 |
anyOf[] |
省略可。値は、リスト内のサブスキーマのいずれか(1 つ以上)に対して検証される必要があります。 |
enum[] |
省略可。プリミティブ型の要素の可能な値(列挙型形式)。例: 1. 方向は {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. アパートの部屋番号は {type:INTEGER, format:enum, enum:["101", "201", "301"]} と定義できます。 |
default |
省略可。データのデフォルト値。 |
ref |
省略可。スキーマノード間の間接参照を許可します。値は、ルート たとえば、次のスキーマは「Pet」という名前のスキーマノードへの参照を定義します。 「pet」プロパティの値は、「Pet」という名前のスキーマノードへの参照です。詳しくは、https://json-schema.org/understanding-json-schema/structuring をご覧ください。 |
defs |
省略可。
|
title |
省略可。スキーマのタイトル。 |
minItems |
省略可。Type.ARRAY の要素の最小数。 |
maxItems |
省略可。Type.ARRAY の要素の最大数。 |
共用体フィールド
|
|
minimum |
省略可。Type.INTEGER と Type.NUMBER の最小値。 |
共用体フィールド
|
|
maximum |
省略可。Type.INTEGER と Type.NUMBER の最大値。 |
PropertiesEntry
| JSON 表現 |
|---|
{
"key": string,
"value": {
object ( |
| フィールド | |
|---|---|
key |
|
value |
|
値
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド kind。値の種類。kind は次のいずれかになります。 |
|
nullValue |
JSON |
numberValue |
JSON 数値を表します。 |
stringValue |
JSON 文字列を表します。 |
boolValue |
JSON ブール値(JSON の |
structValue |
JSON オブジェクトを表します。 |
listValue |
JSON 配列を表します。 |
構造体
| JSON 表現 |
|---|
{ "fields": { string: value, ... } } |
| フィールド | |
|---|---|
fields |
動的に型指定される値の順序なしのマップ。
|
FieldsEntry
| JSON 表現 |
|---|
{ "key": string, "value": value } |
| フィールド | |
|---|---|
key |
|
value |
|
ListValue
| JSON 表現 |
|---|
{ "values": [ value ] } |
| フィールド | |
|---|---|
values[] |
動的に型指定される値の繰り返しフィールド。 |
DefsEntry
| JSON 表現 |
|---|
{
"key": string,
"value": {
object ( |
| フィールド | |
|---|---|
key |
|
value |
|
OpenApiToolset
| JSON 表現 |
|---|
{ "openApiSchema": string, "apiAuthentication": { object ( |
| フィールド | |
|---|---|
openApiSchema |
必須。ツールセットの OpenAPI スキーマ。 |
apiAuthentication |
省略可。API で必要な認証情報。 |
tlsConfig |
省略可。TLS 構成。カスタム サーバー証明書が含まれます |
serviceDirectoryConfig |
省略可。Service Directory の構成。 |
ignoreUnknownFields |
省略可。true の場合、エージェントは OpenAPI スキーマで定義されたすべてのオペレーションについて、API レスポンス内の不明なフィールドを無視します。 |
url |
省略可。Open API スキーマのサーバー URL。このフィールドは、スキーマにサーバー URL が含まれている場合に、エクスポート プロセス中に環境の依存関係のツールセットでのみ設定されます。インポート プロセス中に、この URL が環境の依存関係に存在し、スキーマに $env_var プレースホルダがある場合、スキーマ内のプレースホルダが置き換えられます。 |
ConnectorToolset
| JSON 表現 |
|---|
{ "connection": string, "authConfig": { object ( |
| フィールド | |
|---|---|
connection |
必須。参照される Integration Connectors Connection の完全なリソース名。形式: |
authConfig |
省略可。Integration Connectors で認証を処理する方法を構成します。デフォルトでは、管理者の認証は Integration Connectors API リクエストで渡されます。別のエンドユーザー認証構成でオーバーライドできます。注: ここで EUC 構成を指定するには、接続で認証オーバーライドが有効になっている必要があります。有効になっていない場合、ツールセットの作成は失敗します。参照: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override |
connectorActions[] |
必須。ツールの生成対象となるコネクタ アクション/エンティティ オペレーションのリスト。 |
EndUserAuthConfig
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド auth_config。認証構成。auth_config は次のいずれかになります。 |
|
oauth2AuthCodeConfig |
OAuth 2.0 認証コード認証。 |
oauth2JwtBearerConfig |
JWT プロファイル OAuth 2.0 認可権限付与認証。 |
Oauth2AuthCodeConfig
| JSON 表現 |
|---|
{ "oauthToken": string } |
| フィールド | |
|---|---|
oauthToken |
必須。渡す OAuth トークン パラメータ名。 |
Oauth2JwtBearerConfig
| JSON 表現 |
|---|
{ "issuer": string, "subject": string, "clientKey": string } |
| フィールド | |
|---|---|
issuer |
必須。渡す発行者パラメータ名。 |
subject |
必須。渡すサブジェクト パラメータ名。 |
clientKey |
必須。渡すクライアント パラメータ名。 |
アクション
| JSON 表現 |
|---|
{ "inputFields": [ string ], "outputFields": [ string ], // Union field |
| フィールド | |
|---|---|
inputFields[] |
省略可。オペレーションの入力として使用するエンティティ フィールド。フィールドが指定されていない場合は、Entity のすべてのフィールドが使用されます。 |
outputFields[] |
省略可。オペレーションから返すエンティティ フィールド。フィールドが指定されていない場合は、Entity のすべてのフィールドが返されます。 |
共用体フィールド action_spec。ツールで使用するアクションを構成するための仕様。action_spec は次のいずれかになります。 |
|
connectionActionId |
ツールが使用する接続アクションの ID。 |
entityOperation |
ツールで使用するエンティティ オペレーション構成。 |
EntityOperation
| JSON 表現 |
|---|
{
"entityId": string,
"operation": enum ( |
| フィールド | |
|---|---|
entityId |
必須。エンティティの ID。 |
operation |
必須。エンティティに対して実行するオペレーション。 |
所要時間
| JSON 表現 |
|---|
{ "seconds": string, "nanos": integer } |
| フィールド | |
|---|---|
seconds |
期間の符号付き秒数。-315,576,000,000 ~+315,576,000,000 の範囲(両端を含む)にする必要があります。注: これらの境界は、60 秒/分 * 60 分/時間 * 24 時間/日 * 365.25 日/年 * 10,000 年から計算されます。 |
nanos |
期間のナノ秒分解能による、秒の符号付き小数以下部分。1 秒未満の期間は、0 の |
タイムスタンプ
| JSON 表現 |
|---|
{ "seconds": string, "nanos": integer } |
| フィールド | |
|---|---|
seconds |
UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。 |
nanos |
ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。 |
ToolFakeConfig
| JSON 表現 |
|---|
{ "enableFakeMode": boolean, // Union field |
| フィールド | |
|---|---|
enableFakeMode |
省略可。ツールがフェイクモードを使用しているかどうか。 |
共用体フィールド tool_response。レスポンスは静的であるか、Python 関数によって提供されます。tool_response は次のいずれかになります。 |
|
codeBlock |
省略可。実際のツール呼び出しの代わりに実行されるコードブロック。 |
CodeBlock
| JSON 表現 |
|---|
{ "pythonCode": string } |
| フィールド | |
|---|---|
pythonCode |
必須。ツール フェイクモードで呼び出される 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 を返すと、代わりに実際のツールが呼び出されます。 |
RequestLocation
リクエスト内の API キーの場所。
| 列挙型 | |
|---|---|
REQUEST_LOCATION_UNSPECIFIED |
指定なし。この値は使用されるべきではありません。 |
HEADER |
HTTP ヘッダーのキーを表します。 |
QUERY_STRING |
クエリ文字列のキーを表します。 |
OauthGrantType
OAuth 権限付与タイプ。クライアント認証情報の権限付与のみがサポートされています。
| 列挙型 | |
|---|---|
OAUTH_GRANT_TYPE_UNSPECIFIED |
指定なし。デフォルトは CLIENT_CREDENTIAL です。 |
CLIENT_CREDENTIAL |
クライアント認証情報フローを表します。 |
タイプ
OpenAPI のデータ型。
| 列挙型 | |
|---|---|
TYPE_UNSPECIFIED |
未指定 |
STRING |
文字列型。 |
INTEGER |
整数型。 |
NUMBER |
数値型。 |
BOOLEAN |
ブール型。 |
OBJECT |
オブジェクトのタイプ。 |
ARRAY |
配列型。 |
NullValue
JSON null を表します。
NullValue はセンチネルです。値が 1 つしかない列挙型を使用して、Value 型共用体の null 値を表します。
0 以外の値を持つ NullValue 型のフィールドは無効と見なされます。ほとんどの ProtoJSON シリアライザーは、整数値に関係なく、null_value を JSON null として設定した Value を出力するため、0 値に往復します。
| 列挙型 | |
|---|---|
NULL_VALUE |
Null 値。 |
OperationType
エンティティに対して実行するオペレーション。
| 列挙型 | |
|---|---|
OPERATION_TYPE_UNSPECIFIED |
オペレーション タイプが指定されていません。無効。ConnectorTool の作成/更新は失敗します。 |
LIST |
リスト オペレーション。 |
GET |
オペレーションを取得します。 |
CREATE |
作成オペレーション。 |
UPDATE |
更新オペレーション。 |
DELETE |
削除オペレーション。 |
ExecutionType
ツールまたはツールセットの実行タイプ。
| 列挙型 | |
|---|---|
EXECUTION_TYPE_UNSPECIFIED |
実行タイプが指定されていません。指定しない場合のデフォルトは SYNCHRONOUS です。 |
SYNCHRONOUS |
ツールは同期的に実行されます。ツールが戻るまでセッションはブロックされます。 |
ASYNCHRONOUS |
ツールは非同期で実行されます。ツールが実行されている間、セッションは継続します。 |
ツールのアノテーション
破壊的ヒント: ✅ | べき等ヒント: ❌ | 読み取り専用ヒント: ❌ | オープン ワールド ヒント: ❌