도구: get_toolset
지정된 도구 모음의 세부정보를 가져옵니다.
다음 샘플은 curl를 사용하여 get_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": "get_toolset", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
입력 스키마
AgentService.GetToolset에 대한 요청 메시지입니다.
GetToolsetRequest
| JSON 표현 |
|---|
{ "name": string } |
| 필드 | |
|---|---|
name |
필수 항목입니다. 가져올 도구 세트의 리소스 이름입니다. |
출력 스키마
툴셋은 에이전트가 사용할 수 있는 동적으로 관리되는 도구 그룹을 나타냅니다.
툴셋
| JSON 표현 |
|---|
{ "name": string, "displayName": string, "description": string, "createTime": string, "updateTime": string, "etag": string, "executionType": enum ( |
| 필드 | |
|---|---|
name |
식별자. 툴셋의 고유 식별자입니다. 형식: |
displayName |
선택사항입니다. 툴셋의 표시 이름입니다. 동일한 앱 내에서 고유해야 합니다. |
description |
선택사항입니다. 툴셋에 대한 설명입니다. |
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 구성입니다. 클라이언트가 신뢰해야 하는 맞춤 서버 인증서를 포함합니다. |
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 서버 인증서가 '제목 대체 이름'으로 서명되었는지 확인하세요. 예를 들어 다음 명령어를 사용하여 인증서를 자체 서명할 수 있습니다. 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 ( |
| 필드 | |
|---|---|
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 |
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을 반환하면 실제 도구가 대신 호출됩니다. |
도구 주석
파괴적 힌트: ❌ | 동일한 힌트: ✅ | 읽기 전용 힌트: ✅ | 오픈 월드 힌트: ❌