MCP Tools Reference: ces.googleapis.com

도구: create_toolset

지정된 앱에 새 도구 모음을 만듭니다.

다음 샘플은 curl를 사용하여 create_toolset 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_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,
  "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

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

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)
  }
}
필드
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 구성입니다. 클라이언트가 신뢰해야 하는 맞춤 서버 인증서를 포함합니다.

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

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)

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

출력 스키마

툴셋은 에이전트가 사용할 수 있는 동적으로 관리되는 도구 그룹을 나타냅니다.

툴셋

JSON 표현
{
  "name": string,
  "displayName": string,
  "description": 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

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

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)
  }
}
필드
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 구성입니다. 클라이언트가 신뢰해야 하는 맞춤 서버 인증서를 포함합니다.

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

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)

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

도구 주석

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