도구: 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 |
식별자. 툴셋의 고유 식별자입니다. 형식: |
displayName |
선택사항입니다. 툴셋의 표시 이름입니다. 동일한 앱 내에서 고유해야 합니다. |
description |
선택사항입니다. 툴셋에 대한 설명입니다. |
timeout |
선택사항입니다. 툴셋 실행 제한 시간입니다. 설정하지 않으면 소수점 아래가 최대 9자리까지이고 ' |
createTime |
출력 전용입니다. 툴셋이 생성된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
updateTime |
출력 전용입니다. 툴셋이 마지막으로 업데이트된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. '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의 서비스 디렉터리 구성입니다. |
tlsConfig |
선택사항입니다. TLS 구성입니다. 클라이언트가 신뢰해야 하는 맞춤 서버 인증서가 포함됩니다. |
customHeaders |
선택사항입니다. MCP 서버에 대한 요청에서 전송할 맞춤 헤더입니다. 값은
|
toolOverrides[] |
선택사항입니다. 이 도구 세트 내 개별 도구의 재정의입니다. 이를 통해 설명, 이름과 같은 특정 세부정보를 재정의하거나 도구의 상태를 고정하여 완전히 동적이지 않도록 할 수 있습니다. |
ApiAuthentication
| JSON 표현 |
|---|
{ // Union field |
| 필드 | |
|---|---|
통합 필드 auth_config. 인증 구성입니다. auth_config은 다음 중 하나여야 합니다. |
|
apiKeyConfig |
선택사항입니다. API 키 인증 구성입니다. |
oauthConfig |
선택사항입니다. OAuth 구성입니다. |
serviceAgentIdTokenAuthConfig |
선택사항입니다. CES 서비스 에이전트에서 생성된 ID 토큰 인증 구성입니다. |
serviceAccountAuthConfig |
선택사항입니다. 서비스 계정 인증 구성입니다. |
bearerTokenConfig |
선택사항입니다. Bearer 토큰 인증 구성입니다. |
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 |
필수 항목입니다. Bearer 토큰입니다. |
ServiceDirectoryConfig
| JSON 표현 |
|---|
{ "service": string } |
| 필드 | |
|---|---|
service |
필수 항목입니다. 서비스 디렉터리 서비스의 이름입니다. 형식은 |
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[] |
선택사항입니다. 값은 목록에 있는 하위 스키마 중 하나 이상에 대해 검증되어야 합니다. |
enum[] |
선택사항입니다. 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 숫자를 나타냅니다. 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 |
선택사항입니다. 서비스 디렉터리 구성입니다. |
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[] |
선택사항입니다. 작업의 입력으로 사용할 항목 필드입니다. 필드를 지정하지 않으면 엔티티의 모든 필드가 사용됩니다. |
outputFields[] |
선택사항입니다. 작업에서 반환할 항목 필드입니다. 필드를 지정하지 않으면 엔티티의 모든 필드가 반환됩니다. |
통합 필드 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 epoch 1970-01-01T00:00:00Z 이후 UTC 시간의 초 단위로 표현합니다. -62135596800~253402300799 (0001-01-01T00:00:00Z~9999-12-31T23:59:59Z) 사이여야 합니다. |
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는 Value 유형 결합의 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 ( |
| 필드 | |
|---|---|
name |
식별자. 툴셋의 고유 식별자입니다. 형식: |
displayName |
선택사항입니다. 툴셋의 표시 이름입니다. 동일한 앱 내에서 고유해야 합니다. |
description |
선택사항입니다. 툴셋에 대한 설명입니다. |
timeout |
선택사항입니다. 툴셋 실행 제한 시간입니다. 설정하지 않으면 소수점 아래가 최대 9자리까지이고 ' |
createTime |
출력 전용입니다. 툴셋이 생성된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
updateTime |
출력 전용입니다. 툴셋이 마지막으로 업데이트된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. '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의 서비스 디렉터리 구성입니다. |
tlsConfig |
선택사항입니다. TLS 구성입니다. 클라이언트가 신뢰해야 하는 맞춤 서버 인증서가 포함됩니다. |
customHeaders |
선택사항입니다. MCP 서버에 대한 요청에서 전송할 맞춤 헤더입니다. 값은
|
toolOverrides[] |
선택사항입니다. 이 도구 세트 내 개별 도구의 재정의입니다. 이를 통해 설명, 이름과 같은 특정 세부정보를 재정의하거나 도구의 상태를 고정하여 완전히 동적이지 않도록 할 수 있습니다. |
ApiAuthentication
| JSON 표현 |
|---|
{ // Union field |
| 필드 | |
|---|---|
통합 필드 auth_config. 인증 구성입니다. auth_config은 다음 중 하나여야 합니다. |
|
apiKeyConfig |
선택사항입니다. API 키 인증 구성입니다. |
oauthConfig |
선택사항입니다. OAuth 구성입니다. |
serviceAgentIdTokenAuthConfig |
선택사항입니다. CES 서비스 에이전트에서 생성된 ID 토큰 인증 구성입니다. |
serviceAccountAuthConfig |
선택사항입니다. 서비스 계정 인증 구성입니다. |
bearerTokenConfig |
선택사항입니다. Bearer 토큰 인증 구성입니다. |
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 |
필수 항목입니다. Bearer 토큰입니다. |
ServiceDirectoryConfig
| JSON 표현 |
|---|
{ "service": string } |
| 필드 | |
|---|---|
service |
필수 항목입니다. 서비스 디렉터리 서비스의 이름입니다. 형식은 |
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[] |
선택사항입니다. 값은 목록에 있는 하위 스키마 중 하나 이상에 대해 검증되어야 합니다. |
enum[] |
선택사항입니다. 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 숫자를 나타냅니다. 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 |
선택사항입니다. 서비스 디렉터리 구성입니다. |
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[] |
선택사항입니다. 작업의 입력으로 사용할 항목 필드입니다. 필드를 지정하지 않으면 엔티티의 모든 필드가 사용됩니다. |
outputFields[] |
선택사항입니다. 작업에서 반환할 항목 필드입니다. 필드를 지정하지 않으면 엔티티의 모든 필드가 반환됩니다. |
통합 필드 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 epoch 1970-01-01T00:00:00Z 이후 UTC 시간의 초 단위로 표현합니다. -62135596800~253402300799 (0001-01-01T00:00:00Z~9999-12-31T23:59:59Z) 사이여야 합니다. |
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는 Value 유형 결합의 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 |
이 도구는 비동기적으로 실행됩니다. 도구가 실행되는 동안 세션이 계속됩니다. |
도구 주석
파괴적 힌트: ✅ | 동일한 힌트: ❌ | 읽기 전용 힌트: ❌ | 오픈 월드 힌트: ❌