MCP Tools Reference: ces.googleapis.com

도구: 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 (Toolset)
  }
}
필드
parent

string

필수 항목입니다. 툴셋을 만들 앱의 리소스 이름입니다.

toolsetId

string

선택사항입니다. 툴셋에 사용할 ID이며, 툴셋의 리소스 이름에서 마지막 구성요소가 됩니다. 제공되지 않으면 툴셋에 고유 ID가 자동으로 할당됩니다.

toolset

object (Toolset)

필수 항목입니다. 만들 도구 모음입니다.

툴셋

JSON 표현
{
  "name": string,
  "displayName": string,
  "description": string,
  "timeout": string,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "executionType": enum (ExecutionType),
  "toolFakeConfig": {
    object (ToolFakeConfig)
  },

  // Union field toolset_type can be only one of the following:
  "mcpToolset": {
    object (McpToolset)
  },
  "openApiToolset": {
    object (OpenApiToolset)
  },
  "connectorToolset": {
    object (ConnectorToolset)
  }
  // End of list of possible types for union field toolset_type.
}
필드
name

string

식별자. 툴셋의 고유 식별자입니다. 형식: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

displayName

string

선택사항입니다. 툴셋의 표시 이름입니다. 동일한 앱 내에서 고유해야 합니다.

description

string

선택사항입니다. 툴셋에 대한 설명입니다.

timeout

string (Duration format)

선택사항입니다. 툴셋 실행 제한 시간입니다. 설정하지 않으면 SYNCHRONOUS 도구 모음의 기본 제한 시간은 30초이고 ASYNCHRONOUS 도구 모음의 기본 제한 시간은 60초입니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

createTime

string (Timestamp format)

출력 전용입니다. 툴셋이 생성된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

updateTime

string (Timestamp format)

출력 전용입니다. 툴셋이 마지막으로 업데이트된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

etag

string

읽기-수정-쓰기 작업 중에 객체가 변경되지 않았는지 확인하는 데 사용되는 ETag입니다. etag가 비어 있으면 업데이트가 동시에 발생하는 변경사항을 덮어씁니다.

executionType

enum (ExecutionType)

선택사항입니다. 툴셋에 있는 도구의 실행 유형입니다.

toolFakeConfig

object (ToolFakeConfig)

선택사항입니다. 가짜 모드에서 도구 동작의 구성입니다.

통합 필드 toolset_type. 툴셋의 유형입니다. toolset_type은 다음 중 하나여야 합니다.
mcpToolset

object (McpToolset)

선택사항입니다. MCP 서버에서 제공하는 도구 목록이 포함된 도구 세트입니다.

openApiToolset

object (OpenApiToolset)

선택사항입니다. OpenAPI 스키마로 정의된 도구 목록이 포함된 도구 세트입니다.

connectorToolset

object (ConnectorToolset)

선택사항입니다. Integration Connectors 연결에서 도구를 생성하는 도구 모음입니다.

McpToolset

JSON 표현
{
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "customHeaders": {
    string: string,
    ...
  },
  "toolOverrides": [
    {
      object (McpToolOverride)
    }
  ]
}
필드
serverAddress

string

필수 항목입니다. MCP 서버의 주소입니다(예: 'https://example.com/mcp/'). 서버가 MCP SDK로 빌드된 경우 URL에 '/mcp/'가 접미사로 붙어야 합니다. 스트림 가능 HTTP 전송 기반 서버만 지원됩니다. 자세한 내용은 https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http를 참고하세요.

apiAuthentication

object (ApiAuthentication)

선택사항입니다. 도구에 액세스하고 MCP 서버에 대해 도구를 실행하는 데 필요한 인증 정보입니다. 베어러 토큰 인증의 경우 토큰은 목록 도구가 아닌 도구 실행에만 적용됩니다. 이를 위해서는 인증 없이 도구를 나열할 수 있어야 합니다.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

선택사항입니다. 경계 내에서 서비스 이름을 확인하는 데 사용되는 VPC-SC의 서비스 디렉터리 구성입니다.

tlsConfig

object (TlsConfig)

선택사항입니다. TLS 구성입니다. 클라이언트가 신뢰해야 하는 맞춤 서버 인증서가 포함됩니다.

customHeaders

map (key: string, value: string)

선택사항입니다. MCP 서버에 대한 요청에서 전송할 맞춤 헤더입니다. 값은 $context.variables.<name_of_variable> 형식이어야 하며 세션 변수에 설정할 수 있습니다. 자세한 내용은 https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection을 참고하세요.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

toolOverrides[]

object (McpToolOverride)

선택사항입니다. 이 도구 세트 내 개별 도구의 재정의입니다. 이를 통해 설명, 이름과 같은 특정 세부정보를 재정의하거나 도구의 상태를 고정하여 완전히 동적이지 않도록 할 수 있습니다.

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)

선택사항입니다. Bearer 토큰 인증 구성입니다.

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

필수 항목입니다. Bearer 토큰입니다. $context.variables.<name_of_variable> 형식이어야 합니다.

ServiceDirectoryConfig

JSON 표현
{
  "service": string
}
필드
service

string

필수 항목입니다. 서비스 디렉터리 서비스의 이름입니다. 형식은 projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}입니다. 서비스 디렉터리의 위치는 앱의 위치와 동일해야 합니다.

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 인코딩 문자열입니다.

CustomHeadersEntry

JSON 표현
{
  "key": string,
  "value": string
}
필드
key

string

value

string

McpToolOverride

JSON 표현
{
  "tool": string,
  "nameOverride": string,
  "descriptionOverride": string,
  "snapshot": {
    object (McpToolDefinition)
  }
}
필드
tool

string

필수 항목입니다. MCP 서버에서 내보낸 도구의 원래 이름입니다.

nameOverride

string

선택사항입니다. 이름이 있으면 이 도구는 원래 이름 대신 에이전트에서 이 이름을 사용합니다. 이는 MCP 서버에서 이름이 잘못 지정된 도구를 제공하는 경우 주로 별칭으로 사용됩니다.

descriptionOverride

string

선택사항입니다. 이 설명이 있으면 이 도구는 서버의 원래 설명 대신 이 설명을 사용합니다.

snapshot

object (McpToolDefinition)

출력 전용입니다. 이 도구가 있으면 '고정'되며 서버를 일시적으로 사용할 수 없거나 재정의가 없는 경우 스냅샷 값을 대체로 사용합니다.

McpToolDefinition

JSON 표현
{
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  }
}
필드
description

string

출력 전용입니다. MCP 도구의 설명입니다. 이는 McpToolOverridedescription_override으로 재정의될 수 있습니다.

inputSchema

object (Schema)

출력 전용입니다. MCP 도구의 입력 인수 스키마입니다.

outputSchema

object (Schema)

출력 전용입니다. MCP 도구의 출력 인수 스키마입니다.

스키마

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)

선택사항입니다. 값은 목록에 있는 하위 스키마 중 하나 이상에 대해 검증되어야 합니다.

enum[]

string

선택사항입니다. enum 형식의 기본 유형 요소의 가능한 값입니다. 예: 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

JSON null를 나타냅니다.

numberValue

number

JSON 숫자를 나타냅니다. JSON에서 지원되지 않으므로 NaN, Infinity 또는 -Infinity가 아니어야 합니다. 또한 JSON 형식은 일반적으로 숫자 유형에서 큰 Int64 값을 지원하지 않으므로 이를 표현할 수 없습니다.

stringValue

string

JSON 문자열을 나타냅니다.

boolValue

boolean

JSON 불리언 (JSON의 true 또는 false 리터럴)을 나타냅니다.

structValue

object (Struct format)

JSON 객체를 나타냅니다.

listValue

array (ListValue format)

JSON 배열을 나타냅니다.

구조체

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)

OpenApiToolset

JSON 표현
{
  "openApiSchema": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
필드
openApiSchema

string

필수 항목입니다. 툴셋의 OpenAPI 스키마입니다.

apiAuthentication

object (ApiAuthentication)

선택사항입니다. API에 필요한 인증 정보입니다.

tlsConfig

object (TlsConfig)

선택사항입니다. TLS 구성입니다. 맞춤 서버 인증서를 포함합니다.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

선택사항입니다. 서비스 디렉터리 구성입니다.

ignoreUnknownFields

boolean

선택사항입니다. true인 경우 에이전트는 OpenAPI 스키마에 정의된 모든 작업에 대해 API 응답의 알 수 없는 필드를 무시합니다.

url

string

선택사항입니다. Open API 스키마의 서버 URL입니다. 이 필드는 스키마에 서버 URL이 포함된 경우 내보내기 프로세스 중에 환경 종속 항목의 도구 모음에만 설정됩니다. 가져오기 프로세스 중에 이 URL이 환경 종속 항목에 있고 스키마에 $env_var 자리표시자가 있으면 스키마의 자리표시자가 대체됩니다.

ConnectorToolset

JSON 표현
{
  "connection": string,
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "connectorActions": [
    {
      object (Action)
    }
  ]
}
필드
connection

string

필수 항목입니다. 참조된 Integration Connectors Connection의 전체 리소스 이름입니다. 형식: projects/{project}/locations/{location}/connections/{connection}

authConfig

object (EndUserAuthConfig)

선택사항입니다. Integration Connectors에서 인증이 처리되는 방식을 구성합니다. 기본적으로 관리자 인증은 Integration Connectors API 요청에 전달됩니다. 다른 최종 사용자 인증 구성으로 재정의할 수 있습니다. 참고: 여기에 EUC 구성을 지정하려면 연결에 인증 재정의가 사용 설정되어 있어야 합니다. 그렇지 않으면 도구 모음 생성이 실패합니다. 참고: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override

connectorActions[]

object (Action)

필수 항목입니다. 도구를 생성할 커넥터 작업/엔티티 작업 목록입니다.

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> 형식이어야 합니다.

작업

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

선택사항입니다. 작업에서 반환할 항목 필드입니다. 필드를 지정하지 않으면 엔티티의 모든 필드가 반환됩니다.

통합 필드 action_spec. 도구에서 사용할 작업을 구성하기 위한 사양입니다. action_spec은 다음 중 하나여야 합니다.
connectionActionId

string

도구에서 사용할 연결 작업의 ID입니다.

entityOperation

object (EntityOperation)

도구에서 사용할 항목 작업 구성입니다.

EntityOperation

JSON 표현
{
  "entityId": string,
  "operation": enum (OperationType)
}
필드
entityId

string

필수 항목입니다. 엔티티의 ID입니다.

operation

enum (OperationType)

필수 항목입니다. 항목에 대해 수행할 작업입니다.

소요 시간

JSON 표현
{
  "seconds": string,
  "nanos": integer
}
필드
seconds

string (int64 format)

시간 범위의 부호가 있는 초입니다. -315,576,000,000~+315,576,000,000(포함) 사이여야 합니다. 참고: 이 범위는 60초/분 * 60분/시간 * 24시간/일 * 365.25일/년 * 10,000년에서 계산됩니다.

nanos

integer

시간 범위의 나노초 단위로 된 부호가 있는 초수입니다. 1초 미만의 지속 시간은 0 seconds 필드와 양수 또는 음수 nanos 필드로 표현됩니다. 1초 이상의 기간의 경우 nanos 필드의 0이 아닌 값은 seconds 필드와 부호가 같아야 합니다. -999,999,999~+999,999,999(포함) 사이여야 합니다.

타임스탬프

JSON 표현
{
  "seconds": string,
  "nanos": integer
}
필드
seconds

string (int64 format)

Unix epoch 1970-01-01T00:00:00Z 이후 UTC 시간의 초 단위로 표현합니다. -62135596800~253402300799 (0001-01-01T00:00:00Z~9999-12-31T23:59:59Z) 사이여야 합니다.

nanos

integer

나노초 단위의 음수가 아닌 초수입니다. 이 필드는 기간의 나노초 부분이며 초의 대안이 아닙니다. 음수의 초수 값에는 시간에 반영되는 음수가 아닌 나노초 값이 있어야 합니다. 0~999,999,999(포함) 사이여야 합니다.

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을 반환하면 실제 도구가 대신 호출됩니다.

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를 나타냅니다.

NullValueValue 유형 결합의 null 값을 나타내기 위해 값이 하나만 있는 enum을 사용하는 센티널입니다.

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 (ExecutionType),
  "toolFakeConfig": {
    object (ToolFakeConfig)
  },

  // Union field toolset_type can be only one of the following:
  "mcpToolset": {
    object (McpToolset)
  },
  "openApiToolset": {
    object (OpenApiToolset)
  },
  "connectorToolset": {
    object (ConnectorToolset)
  }
  // End of list of possible types for union field toolset_type.
}
필드
name

string

식별자. 툴셋의 고유 식별자입니다. 형식: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

displayName

string

선택사항입니다. 툴셋의 표시 이름입니다. 동일한 앱 내에서 고유해야 합니다.

description

string

선택사항입니다. 툴셋에 대한 설명입니다.

timeout

string (Duration format)

선택사항입니다. 툴셋 실행 제한 시간입니다. 설정하지 않으면 SYNCHRONOUS 도구 모음의 기본 제한 시간은 30초이고 ASYNCHRONOUS 도구 모음의 기본 제한 시간은 60초입니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

createTime

string (Timestamp format)

출력 전용입니다. 툴셋이 생성된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

updateTime

string (Timestamp format)

출력 전용입니다. 툴셋이 마지막으로 업데이트된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

etag

string

읽기-수정-쓰기 작업 중에 객체가 변경되지 않았는지 확인하는 데 사용되는 ETag입니다. etag가 비어 있으면 업데이트가 동시에 발생하는 변경사항을 덮어씁니다.

executionType

enum (ExecutionType)

선택사항입니다. 툴셋에 있는 도구의 실행 유형입니다.

toolFakeConfig

object (ToolFakeConfig)

선택사항입니다. 가짜 모드에서 도구 동작의 구성입니다.

통합 필드 toolset_type. 툴셋의 유형입니다. toolset_type은 다음 중 하나여야 합니다.
mcpToolset

object (McpToolset)

선택사항입니다. MCP 서버에서 제공하는 도구 목록이 포함된 도구 세트입니다.

openApiToolset

object (OpenApiToolset)

선택사항입니다. OpenAPI 스키마로 정의된 도구 목록이 포함된 도구 세트입니다.

connectorToolset

object (ConnectorToolset)

선택사항입니다. Integration Connectors 연결에서 도구를 생성하는 도구 모음입니다.

McpToolset

JSON 표현
{
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "customHeaders": {
    string: string,
    ...
  },
  "toolOverrides": [
    {
      object (McpToolOverride)
    }
  ]
}
필드
serverAddress

string

필수 항목입니다. MCP 서버의 주소입니다(예: 'https://example.com/mcp/'). 서버가 MCP SDK로 빌드된 경우 URL에 '/mcp/'가 접미사로 붙어야 합니다. 스트림 가능 HTTP 전송 기반 서버만 지원됩니다. 자세한 내용은 https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http를 참고하세요.

apiAuthentication

object (ApiAuthentication)

선택사항입니다. 도구에 액세스하고 MCP 서버에 대해 도구를 실행하는 데 필요한 인증 정보입니다. 베어러 토큰 인증의 경우 토큰은 목록 도구가 아닌 도구 실행에만 적용됩니다. 이를 위해서는 인증 없이 도구를 나열할 수 있어야 합니다.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

선택사항입니다. 경계 내에서 서비스 이름을 확인하는 데 사용되는 VPC-SC의 서비스 디렉터리 구성입니다.

tlsConfig

object (TlsConfig)

선택사항입니다. TLS 구성입니다. 클라이언트가 신뢰해야 하는 맞춤 서버 인증서가 포함됩니다.

customHeaders

map (key: string, value: string)

선택사항입니다. MCP 서버에 대한 요청에서 전송할 맞춤 헤더입니다. 값은 $context.variables.<name_of_variable> 형식이어야 하며 세션 변수에 설정할 수 있습니다. 자세한 내용은 https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection을 참고하세요.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

toolOverrides[]

object (McpToolOverride)

선택사항입니다. 이 도구 세트 내 개별 도구의 재정의입니다. 이를 통해 설명, 이름과 같은 특정 세부정보를 재정의하거나 도구의 상태를 고정하여 완전히 동적이지 않도록 할 수 있습니다.

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)

선택사항입니다. Bearer 토큰 인증 구성입니다.

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

필수 항목입니다. Bearer 토큰입니다. $context.variables.<name_of_variable> 형식이어야 합니다.

ServiceDirectoryConfig

JSON 표현
{
  "service": string
}
필드
service

string

필수 항목입니다. 서비스 디렉터리 서비스의 이름입니다. 형식은 projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}입니다. 서비스 디렉터리의 위치는 앱의 위치와 동일해야 합니다.

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 인코딩 문자열입니다.

CustomHeadersEntry

JSON 표현
{
  "key": string,
  "value": string
}
필드
key

string

value

string

McpToolOverride

JSON 표현
{
  "tool": string,
  "nameOverride": string,
  "descriptionOverride": string,
  "snapshot": {
    object (McpToolDefinition)
  }
}
필드
tool

string

필수 항목입니다. MCP 서버에서 내보낸 도구의 원래 이름입니다.

nameOverride

string

선택사항입니다. 이름이 있으면 이 도구는 원래 이름 대신 에이전트에서 이 이름을 사용합니다. 이는 MCP 서버에서 이름이 잘못 지정된 도구를 제공하는 경우 주로 별칭으로 사용됩니다.

descriptionOverride

string

선택사항입니다. 이 설명이 있으면 이 도구는 서버의 원래 설명 대신 이 설명을 사용합니다.

snapshot

object (McpToolDefinition)

출력 전용입니다. 이 도구가 있으면 '고정'되며 서버를 일시적으로 사용할 수 없거나 재정의가 없는 경우 스냅샷 값을 대체로 사용합니다.

McpToolDefinition

JSON 표현
{
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  }
}
필드
description

string

출력 전용입니다. MCP 도구의 설명입니다. 이는 McpToolOverridedescription_override으로 재정의될 수 있습니다.

inputSchema

object (Schema)

출력 전용입니다. MCP 도구의 입력 인수 스키마입니다.

outputSchema

object (Schema)

출력 전용입니다. MCP 도구의 출력 인수 스키마입니다.

스키마

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)

선택사항입니다. 값은 목록에 있는 하위 스키마 중 하나 이상에 대해 검증되어야 합니다.

enum[]

string

선택사항입니다. enum 형식의 기본 유형 요소의 가능한 값입니다. 예: 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

JSON null를 나타냅니다.

numberValue

number

JSON 숫자를 나타냅니다. JSON에서 지원되지 않으므로 NaN, Infinity 또는 -Infinity가 아니어야 합니다. 또한 JSON 형식은 일반적으로 숫자 유형에서 큰 Int64 값을 지원하지 않으므로 이를 표현할 수 없습니다.

stringValue

string

JSON 문자열을 나타냅니다.

boolValue

boolean

JSON 불리언 (JSON의 true 또는 false 리터럴)을 나타냅니다.

structValue

object (Struct format)

JSON 객체를 나타냅니다.

listValue

array (ListValue format)

JSON 배열을 나타냅니다.

구조체

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)

OpenApiToolset

JSON 표현
{
  "openApiSchema": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
필드
openApiSchema

string

필수 항목입니다. 툴셋의 OpenAPI 스키마입니다.

apiAuthentication

object (ApiAuthentication)

선택사항입니다. API에 필요한 인증 정보입니다.

tlsConfig

object (TlsConfig)

선택사항입니다. TLS 구성입니다. 맞춤 서버 인증서를 포함합니다.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

선택사항입니다. 서비스 디렉터리 구성입니다.

ignoreUnknownFields

boolean

선택사항입니다. true인 경우 에이전트는 OpenAPI 스키마에 정의된 모든 작업에 대해 API 응답의 알 수 없는 필드를 무시합니다.

url

string

선택사항입니다. Open API 스키마의 서버 URL입니다. 이 필드는 스키마에 서버 URL이 포함된 경우 내보내기 프로세스 중에 환경 종속 항목의 도구 모음에만 설정됩니다. 가져오기 프로세스 중에 이 URL이 환경 종속 항목에 있고 스키마에 $env_var 자리표시자가 있으면 스키마의 자리표시자가 대체됩니다.

ConnectorToolset

JSON 표현
{
  "connection": string,
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "connectorActions": [
    {
      object (Action)
    }
  ]
}
필드
connection

string

필수 항목입니다. 참조된 Integration Connectors Connection의 전체 리소스 이름입니다. 형식: projects/{project}/locations/{location}/connections/{connection}

authConfig

object (EndUserAuthConfig)

선택사항입니다. Integration Connectors에서 인증이 처리되는 방식을 구성합니다. 기본적으로 관리자 인증은 Integration Connectors API 요청에 전달됩니다. 다른 최종 사용자 인증 구성으로 재정의할 수 있습니다. 참고: 여기에 EUC 구성을 지정하려면 연결에 인증 재정의가 사용 설정되어 있어야 합니다. 그렇지 않으면 도구 모음 생성이 실패합니다. 참고: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override

connectorActions[]

object (Action)

필수 항목입니다. 도구를 생성할 커넥터 작업/엔티티 작업 목록입니다.

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> 형식이어야 합니다.

작업

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

선택사항입니다. 작업에서 반환할 항목 필드입니다. 필드를 지정하지 않으면 엔티티의 모든 필드가 반환됩니다.

통합 필드 action_spec. 도구에서 사용할 작업을 구성하기 위한 사양입니다. action_spec은 다음 중 하나여야 합니다.
connectionActionId

string

도구에서 사용할 연결 작업의 ID입니다.

entityOperation

object (EntityOperation)

도구에서 사용할 항목 작업 구성입니다.

EntityOperation

JSON 표현
{
  "entityId": string,
  "operation": enum (OperationType)
}
필드
entityId

string

필수 항목입니다. 엔티티의 ID입니다.

operation

enum (OperationType)

필수 항목입니다. 항목에 대해 수행할 작업입니다.

소요 시간

JSON 표현
{
  "seconds": string,
  "nanos": integer
}
필드
seconds

string (int64 format)

시간 범위의 부호가 있는 초입니다. -315,576,000,000~+315,576,000,000(포함) 사이여야 합니다. 참고: 이 범위는 60초/분 * 60분/시간 * 24시간/일 * 365.25일/년 * 10,000년에서 계산됩니다.

nanos

integer

시간 범위의 나노초 단위로 된 부호가 있는 초수입니다. 1초 미만의 지속 시간은 0 seconds 필드와 양수 또는 음수 nanos 필드로 표현됩니다. 1초 이상의 기간의 경우 nanos 필드의 0이 아닌 값은 seconds 필드와 부호가 같아야 합니다. -999,999,999~+999,999,999(포함) 사이여야 합니다.

타임스탬프

JSON 표현
{
  "seconds": string,
  "nanos": integer
}
필드
seconds

string (int64 format)

Unix epoch 1970-01-01T00:00:00Z 이후 UTC 시간의 초 단위로 표현합니다. -62135596800~253402300799 (0001-01-01T00:00:00Z~9999-12-31T23:59:59Z) 사이여야 합니다.

nanos

integer

나노초 단위의 음수가 아닌 초수입니다. 이 필드는 기간의 나노초 부분이며 초의 대안이 아닙니다. 음수의 초수 값에는 시간에 반영되는 음수가 아닌 나노초 값이 있어야 합니다. 0~999,999,999(포함) 사이여야 합니다.

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을 반환하면 실제 도구가 대신 호출됩니다.

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를 나타냅니다.

NullValueValue 유형 결합의 null 값을 나타내기 위해 값이 하나만 있는 enum을 사용하는 센티널입니다.

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 이 도구는 비동기적으로 실행됩니다. 도구가 실행되는 동안 세션이 계속됩니다.

도구 주석

파괴적 힌트: ✅ | 동일한 힌트: ❌ | 읽기 전용 힌트: ❌ | 오픈 월드 힌트: ❌