Alat: create_toolset
Membuat toolset baru di aplikasi yang ditentukan.
Contoh berikut menunjukkan cara menggunakan curl untuk memanggil alat MCP create_toolset.
| Permintaan 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 }' |
Skema Input
Pesan permintaan untuk AgentService.CreateToolset.
CreateToolsetRequest
| Representasi JSON |
|---|
{
"parent": string,
"toolsetId": string,
"toolset": {
object ( |
| Kolom | |
|---|---|
parent |
Wajib. Nama resource aplikasi tempat membuat toolset. |
toolsetId |
Opsional. ID yang akan digunakan untuk toolset, yang akan menjadi komponen akhir dari nama resource toolset. Jika tidak diberikan, ID unik akan otomatis ditetapkan untuk toolset. |
toolset |
Wajib. Kumpulan alat yang akan dibuat. |
Toolset
| Representasi JSON |
|---|
{ "name": string, "displayName": string, "description": string, "timeout": string, "createTime": string, "updateTime": string, "etag": string, "executionType": enum ( |
| Kolom | |
|---|---|
name |
ID. ID unik toolset. Format: |
displayName |
Opsional. Nama tampilan toolset. Harus unik dalam aplikasi yang sama. |
description |
Opsional. Deskripsi toolset. |
timeout |
Opsional. Waktu tunggu untuk eksekusi toolset. Jika tidak ditetapkan, waktu tunggu default adalah 30 detik untuk toolset Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan ' |
createTime |
Hanya output. Stempel waktu saat toolset dibuat. Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: |
updateTime |
Hanya output. Stempel waktu saat toolset terakhir diperbarui. Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: |
etag |
ETag yang digunakan untuk memastikan objek tidak berubah selama operasi baca-ubah-tulis. Jika etag kosong, pembaruan akan menimpa perubahan serentak. |
executionType |
Opsional. Jenis eksekusi alat dalam toolset. |
toolFakeConfig |
Opsional. Konfigurasi untuk perilaku alat dalam mode palsu. |
Kolom union toolset_type. Jenis toolset. toolset_type hanya ada berupa salah satu diantara berikut: |
|
mcpToolset |
Opsional. Toolset yang berisi daftar alat yang ditawarkan oleh server MCP. |
openApiToolset |
Opsional. Toolset yang berisi daftar alat yang ditentukan oleh skema OpenAPI. |
connectorToolset |
Opsional. Kumpulan alat yang membuat alat dari Koneksi Integration Connectors. |
McpToolset
| Representasi JSON |
|---|
{ "serverAddress": string, "apiAuthentication": { object ( |
| Kolom | |
|---|---|
serverAddress |
Wajib. Alamat server MCP, misalnya, "https://example.com/mcp/". Jika server dibangun dengan MCP SDK, URL harus memiliki akhiran "/mcp/". Hanya server berbasis transport HTTP yang dapat di-streaming yang didukung. Lihat https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http untuk mengetahui detail selengkapnya. |
apiAuthentication |
Opsional. Informasi autentikasi yang diperlukan untuk mengakses alat dan menjalankan alat terhadap server MCP. Untuk autentikasi token pembawa, token hanya berlaku untuk eksekusi alat, bukan untuk alat listingan. Hal ini mengharuskan alat dapat dicantumkan tanpa autentikasi. |
serviceDirectoryConfig |
Opsional. Konfigurasi Service Directory untuk VPC-SC, yang digunakan untuk menyelesaikan nama layanan dalam perimeter. |
tlsConfig |
Opsional. Konfigurasi TLS. Mencakup sertifikat server kustom yang harus dipercaya oleh klien. |
customHeaders |
Opsional. Header kustom yang akan dikirim dalam permintaan ke server MCP. Nilai harus dalam format Objek yang berisi daftar pasangan |
toolOverrides[] |
Opsional. Penggantian untuk setiap alat dalam set alat ini. Hal ini memungkinkan penggantian detail tertentu seperti deskripsi, nama, atau menyematkan status alat sehingga tidak sepenuhnya dinamis. |
ApiAuthentication
| Representasi JSON |
|---|
{ // Union field |
| Kolom | |
|---|---|
Kolom union auth_config. Konfigurasi autentikasi. auth_config hanya ada berupa salah satu diantara berikut: |
|
apiKeyConfig |
Opsional. Konfigurasi untuk autentikasi kunci API. |
oauthConfig |
Opsional. Konfigurasi untuk OAuth. |
serviceAgentIdTokenAuthConfig |
Opsional. Konfigurasi untuk autentikasi token ID yang dibuat dari agen layanan CES. |
serviceAccountAuthConfig |
Opsional. Konfigurasi untuk autentikasi akun layanan. |
bearerTokenConfig |
Opsional. Konfigurasi untuk autentikasi token pembawa. |
ApiKeyConfig
| Representasi JSON |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| Kolom | |
|---|---|
keyName |
Wajib. Nama parameter atau nama header kunci API. Misalnya, Jika permintaan API adalah "https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
Wajib. Nama resource versi secret SecretManager yang menyimpan kunci API. Format: Catatan: Anda harus memberikan peran |
requestLocation |
Wajib. Lokasi kunci dalam permintaan. |
OAuthConfig
| Representasi JSON |
|---|
{
"oauthGrantType": enum ( |
| Kolom | |
|---|---|
oauthGrantType |
Wajib. Jenis pemberian izin OAuth. |
clientId |
Wajib. ID klien dari penyedia OAuth. |
clientSecretVersion |
Wajib. Nama resource versi secret SecretManager yang menyimpan rahasia klien. Format: Catatan: Anda harus memberikan peran |
tokenEndpoint |
Wajib. Endpoint token di penyedia OAuth untuk ditukar dengan token akses. |
scopes[] |
Opsional. Cakupan OAuth yang akan diberikan. |
ServiceAccountAuthConfig
| Representasi JSON |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| Kolom | |
|---|---|
serviceAccount |
Wajib. Alamat email akun layanan yang digunakan untuk autentikasi. CES menggunakan akun layanan ini untuk menukar token akses dan token akses tersebut kemudian dikirim di header Akun layanan harus memiliki peran |
scopes[] |
Opsional. Cakupan OAuth yang akan diberikan. Jika tidak ditentukan, cakupan default |
BearerTokenConfig
| Representasi JSON |
|---|
{ "token": string } |
| Kolom | |
|---|---|
token |
Wajib. Token pemilik. Harus dalam format |
ServiceDirectoryConfig
| Representasi JSON |
|---|
{ "service": string } |
| Kolom | |
|---|---|
service |
Wajib. Nama layanan Service Directory. Format: |
TlsConfig
| Representasi JSON |
|---|
{
"caCerts": [
{
object ( |
| Kolom | |
|---|---|
caCerts[] |
Wajib. Menentukan daftar sertifikat CA kustom yang diizinkan untuk verifikasi HTTPS. |
CaCert
| Representasi JSON |
|---|
{ "displayName": string, "cert": string } |
| Kolom | |
|---|---|
displayName |
Wajib. Nama sertifikat CA kustom yang diizinkan. Ini dapat digunakan untuk membedakan sertifikat CA kustom. |
cert |
Wajib. Sertifikat CA kustom yang diizinkan (dalam format DER) untuk verifikasi HTTPS. Tindakan ini akan menggantikan trust store SSL default. Jika kosong atau tidak ditentukan, CES akan menggunakan penyimpanan tepercaya default Google untuk memverifikasi sertifikat. Catatan: Pastikan sertifikat server HTTPS ditandatangani dengan "subject alt name". Misalnya, sertifikat dapat ditandatangani sendiri menggunakan perintah berikut: String berenkode base64. |
CustomHeadersEntry
| Representasi JSON |
|---|
{ "key": string, "value": string } |
| Kolom | |
|---|---|
key |
|
value |
|
McpToolOverride
| Representasi JSON |
|---|
{
"tool": string,
"nameOverride": string,
"descriptionOverride": string,
"snapshot": {
object ( |
| Kolom | |
|---|---|
tool |
Wajib. Nama asli alat saat dikeluarkan oleh server MCP. |
nameOverride |
Opsional. Jika ada, alat ini menggunakan nama ini di Agen, bukan nama asli. Ini terutama digunakan sebagai alias jika server MCP menawarkan alat yang namanya kurang baik. |
descriptionOverride |
Opsional. Jika ada, alat ini akan menggunakan deskripsi ini, bukan deskripsi asli dari server. |
snapshot |
Hanya output. Jika ada, alat ini akan "Disematkan" dan menggunakan nilai snapshot sebagai penggantian jika server tidak tersedia untuk sementara atau jika tidak ada Penggantian. |
McpToolDefinition
| Representasi JSON |
|---|
{ "description": string, "inputSchema": { object ( |
| Kolom | |
|---|---|
description |
Hanya output. Deskripsi alat MCP. Nilai ini dapat diganti oleh |
inputSchema |
Hanya output. Skema argumen input alat MCP. |
outputSchema |
Hanya output. Skema argumen output alat MCP. |
Skema
| Representasi JSON |
|---|
{ "type": enum ( |
| Kolom | |
|---|---|
type |
Wajib. Jenis data. |
properties |
Opsional. Properti Type.OBJECT. Objek yang berisi daftar pasangan |
required[] |
Opsional. Properti wajib Type.OBJECT. |
description |
Opsional. Deskripsi data. |
items |
Opsional. Skema elemen Type.ARRAY. |
nullable |
Opsional. Menunjukkan apakah nilai boleh berupa null. |
uniqueItems |
Opsional. Menunjukkan bahwa item dalam array harus unik. Hanya berlaku untuk TYPE.ARRAY. |
prefixItems[] |
Opsional. Skema elemen awal Type.ARRAY. |
additionalProperties |
Opsional. Dapat berupa boolean atau objek, mengontrol keberadaan properti tambahan. |
anyOf[] |
Opsional. Nilai harus divalidasi terhadap salah satu (satu atau beberapa) subskema dalam daftar. |
enum[] |
Opsional. Kemungkinan nilai elemen jenis primitif dengan format enum. Contoh: 1. Kita dapat menentukan arah sebagai : {type:STRING, format:enum, enum:["TIMUR", NORTH", "SELATAN", "BARAT"]} 2. Kita dapat menentukan nomor apartemen sebagai : {type:INTEGER, format:enum, enum:["101", "201", "301"]} |
default |
Opsional. Nilai default data. |
ref |
Opsional. Memungkinkan referensi tidak langsung antar-node skema. Nilai harus berupa referensi yang valid ke turunan Misalnya, skema berikut menentukan referensi ke node skema bernama "Pet": Nilai properti "pet" adalah referensi ke node skema bernama "Pet". Lihat detailnya di https://json-schema.org/understanding-json-schema/structuring. |
defs |
Opsional. Peta definisi untuk digunakan oleh Objek yang berisi daftar pasangan |
title |
Opsional. Judul skema. |
minItems |
Opsional. Jumlah minimum elemen untuk Type.ARRAY. |
maxItems |
Opsional. Jumlah maksimum elemen untuk Type.ARRAY. |
Kolom union
|
|
minimum |
Opsional. Nilai minimum untuk Type.INTEGER dan Type.NUMBER. |
Kolom union
|
|
maximum |
Opsional. Nilai maksimum untuk Type.INTEGER dan Type.NUMBER. |
PropertiesEntry
| Representasi JSON |
|---|
{
"key": string,
"value": {
object ( |
| Kolom | |
|---|---|
key |
|
value |
|
Nilai
| Representasi JSON |
|---|
{ // Union field |
| Kolom | |
|---|---|
Kolom union kind. Jenis nilai. kind hanya ada berupa salah satu diantara berikut: |
|
nullValue |
Mewakili JSON |
numberValue |
Mewakili angka JSON. Tidak boleh |
stringValue |
Mewakili string JSON. |
boolValue |
Mewakili boolean JSON (literal |
structValue |
Mewakili objek JSON. |
listValue |
Mewakili array JSON. |
Struct
| Representasi JSON |
|---|
{ "fields": { string: value, ... } } |
| Kolom | |
|---|---|
fields |
Peta nilai yang diketik secara dinamis dan tidak berurutan. Objek yang berisi daftar pasangan |
FieldsEntry
| Representasi JSON |
|---|
{ "key": string, "value": value } |
| Kolom | |
|---|---|
key |
|
value |
|
ListValue
| Representasi JSON |
|---|
{ "values": [ value ] } |
| Kolom | |
|---|---|
values[] |
Kolom berulang dari nilai yang diketik secara dinamis. |
DefsEntry
| Representasi JSON |
|---|
{
"key": string,
"value": {
object ( |
| Kolom | |
|---|---|
key |
|
value |
|
OpenApiToolset
| Representasi JSON |
|---|
{ "openApiSchema": string, "apiAuthentication": { object ( |
| Kolom | |
|---|---|
openApiSchema |
Wajib. Skema OpenAPI toolset. |
apiAuthentication |
Opsional. Informasi autentikasi yang diperlukan oleh API. |
tlsConfig |
Opsional. Konfigurasi TLS. Mencakup sertifikat server kustom |
serviceDirectoryConfig |
Opsional. Konfigurasi Direktori Layanan. |
ignoreUnknownFields |
Opsional. Jika benar (true), agen akan mengabaikan kolom yang tidak diketahui dalam respons API untuk semua operasi yang ditentukan dalam skema OpenAPI. |
url |
Opsional. URL server skema Open API. Kolom ini hanya ditetapkan di toolset dalam dependensi lingkungan selama proses ekspor jika skema berisi URL server. Selama proses impor, jika URL ini ada dalam dependensi lingkungan dan skema memiliki placeholder $env_var, URL ini akan menggantikan placeholder dalam skema. |
ConnectorToolset
| Representasi JSON |
|---|
{ "connection": string, "authConfig": { object ( |
| Kolom | |
|---|---|
connection |
Wajib. Nama resource lengkap Koneksi Integration Connectors yang dirujuk. Format: |
authConfig |
Opsional. Mengonfigurasi cara penanganan autentikasi di Integration Connectors. Secara default, autentikasi admin diteruskan dalam permintaan API Integration Connectors. Anda dapat menggantinya dengan konfigurasi autentikasi pengguna akhir yang berbeda. Catatan: Koneksi harus mengaktifkan penggantian autentikasi agar dapat menentukan konfigurasi EUC di sini. Jika tidak, pembuatan Toolset akan gagal. Lihat: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override |
connectorActions[] |
Wajib. Daftar tindakan konektor/operasi entitas untuk membuat alat. |
EndUserAuthConfig
| Representasi JSON |
|---|
{ // Union field |
| Kolom | |
|---|---|
Kolom union auth_config. Konfigurasi autentikasi. auth_config hanya ada berupa salah satu diantara berikut: |
|
oauth2AuthCodeConfig |
Autentikasi Kode Otorisasi Oauth 2.0. |
oauth2JwtBearerConfig |
Autentikasi Pemberian Otorisasi OAuth 2.0 Profil JWT. |
Oauth2AuthCodeConfig
| Representasi JSON |
|---|
{ "oauthToken": string } |
| Kolom | |
|---|---|
oauthToken |
Wajib. Nama parameter token OAuth yang akan diteruskan. Harus dalam format |
Oauth2JwtBearerConfig
| Representasi JSON |
|---|
{ "issuer": string, "subject": string, "clientKey": string } |
| Kolom | |
|---|---|
issuer |
Wajib. Nama parameter penerbit yang akan diteruskan. Harus dalam format |
subject |
Wajib. Nama parameter subjek yang akan diteruskan. Harus dalam format |
clientKey |
Wajib. Nama parameter klien yang akan diteruskan. Harus dalam format |
Tindakan
| Representasi JSON |
|---|
{ "inputFields": [ string ], "outputFields": [ string ], // Union field |
| Kolom | |
|---|---|
inputFields[] |
Opsional. Kolom entitas yang akan digunakan sebagai input untuk operasi. Jika tidak ada kolom yang ditentukan, semua kolom Entitas akan digunakan. |
outputFields[] |
Opsional. Kolom entitas yang akan ditampilkan dari operasi. Jika tidak ada kolom yang ditentukan, semua kolom Entity akan ditampilkan. |
Kolom union action_spec. Spesifikasi untuk tindakan yang akan dikonfigurasi agar dapat digunakan oleh alat. action_spec hanya ada berupa salah satu diantara berikut: |
|
connectionActionId |
ID tindakan Koneksi yang akan digunakan alat. |
entityOperation |
Konfigurasi operasi entitas yang akan digunakan alat. |
EntityOperation
| Representasi JSON |
|---|
{
"entityId": string,
"operation": enum ( |
| Kolom | |
|---|---|
entityId |
Wajib. ID entitas. |
operation |
Wajib. Operasi yang akan dilakukan pada entity. |
Durasi
| Representasi JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Kolom | |
|---|---|
seconds |
Detik yang ditandatangani dari rentang waktu. Harus dari -315.576.000.000 hingga +315.576.000.000 inklusif. Catatan: batas ini dihitung dari: 60 dtk/mnt * 60 mnt/j * 24 j/hr * 365,25 hr/thn * 10.000 thn |
nanos |
Pecahan detik bertanda pada resolusi nanodetik rentang waktu. Durasi kurang dari satu detik ditampilkan dengan kolom |
Stempel waktu
| Representasi JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Kolom | |
|---|---|
seconds |
Mewakili detik waktu UTC sejak epoch Unix 1970-01-01T00:00:00Z. Harus antara -62135596800 dan 253402300799 inklusif (yang sesuai dengan 0001-01-01T00:00:00Z hingga 9999-12-31T23:59:59Z). |
nanos |
Pecahan detik non-negatif pada resolusi nanodetik. Kolom ini adalah bagian nanodetik dari durasi, bukan alternatif untuk detik. Nilai detik negatif dengan pecahan harus tetap memiliki nilai nano non-negatif yang dihitung maju dalam waktu. Harus antara 0 dan 999.999.999 inklusif. |
ToolFakeConfig
| Representasi JSON |
|---|
{ "enableFakeMode": boolean, // Union field |
| Kolom | |
|---|---|
enableFakeMode |
Opsional. Apakah alat menggunakan mode palsu. |
Kolom union tool_response. Respons bersifat statis atau disediakan oleh fungsi python. tool_response hanya ada berupa salah satu diantara berikut: |
|
codeBlock |
Opsional. Blok kode yang akan dieksekusi, bukan panggilan alat yang sebenarnya. |
CodeBlock
| Representasi JSON |
|---|
{ "pythonCode": string } |
| Kolom | |
|---|---|
pythonCode |
Wajib. Kode Python yang akan dipanggil dalam mode tiruan alat. Tanda tangan fungsi Python yang diharapkan - Untuk menangkap semua panggilan alat: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Untuk menangkap panggilan alat tertentu: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Jika fungsi menampilkan None, alat sebenarnya akan dipanggil. |
RequestLocation
Lokasi kunci API dalam permintaan.
| Enum | |
|---|---|
REQUEST_LOCATION_UNSPECIFIED |
Tidak ditentukan. Nilai ini tidak boleh digunakan. |
HEADER |
Merepresentasikan kunci di header http. |
QUERY_STRING |
Mewakili kunci dalam string kueri. |
OauthGrantType
Jenis pemberian izin OAuth. Hanya pemberian kredensial klien yang didukung.
| Enum | |
|---|---|
OAUTH_GRANT_TYPE_UNSPECIFIED |
Tidak ditentukan. Default-nya adalah CLIENT_CREDENTIAL. |
CLIENT_CREDENTIAL |
Mewakili alur kredensial klien. |
Jenis
Jenis data OpenAPI.
| Enum | |
|---|---|
TYPE_UNSPECIFIED |
Jenis tidak ditentukan. |
STRING |
Jenis string. |
INTEGER |
Jenis bilangan bulat. |
NUMBER |
Jenis angka. |
BOOLEAN |
Jenis Boolean. |
OBJECT |
Jenis objek. |
ARRAY |
Jenis array. |
NullValue
Mewakili JSON null.
NullValue adalah sentinel, menggunakan enum dengan hanya satu nilai untuk merepresentasikan nilai null untuk gabungan jenis Value.
Kolom berjenis NullValue dengan nilai selain 0 dianggap tidak valid. Sebagian besar serializer ProtoJSON akan memancarkan Value dengan null_value yang ditetapkan sebagai null JSON, terlepas dari nilai bilangan bulatnya, dan akan melakukan perjalanan pulang pergi ke nilai 0.
| Enum | |
|---|---|
NULL_VALUE |
Nilai null. |
OperationType
Operasi yang akan dilakukan pada entity.
| Enum | |
|---|---|
OPERATION_TYPE_UNSPECIFIED |
Jenis operasi tidak ditentukan. Tidak valid, pembuatan/pembaruan ConnectorTool akan gagal. |
LIST |
Operasi daftar. |
GET |
Mendapatkan operasi. |
CREATE |
Buat operasi. |
UPDATE |
Operasi update. |
DELETE |
Hapus operasi. |
ExecutionType
Jenis eksekusi alat atau set alat.
| Enum | |
|---|---|
EXECUTION_TYPE_UNSPECIFIED |
Jenis eksekusi tidak ditentukan. Nilai defaultnya adalah SYNCHRONOUS jika tidak ditentukan. |
SYNCHRONOUS |
Alat ini dieksekusi secara sinkron. Sesi diblokir hingga alat kembali. |
ASYNCHRONOUS |
Alat ini dijalankan secara asinkron. Sesi akan berlanjut saat alat dijalankan. |
Skema Output
Toolset mewakili sekelompok alat yang dikelola secara dinamis yang dapat digunakan oleh agen.
Toolset
| Representasi JSON |
|---|
{ "name": string, "displayName": string, "description": string, "timeout": string, "createTime": string, "updateTime": string, "etag": string, "executionType": enum ( |
| Kolom | |
|---|---|
name |
ID. ID unik toolset. Format: |
displayName |
Opsional. Nama tampilan toolset. Harus unik dalam aplikasi yang sama. |
description |
Opsional. Deskripsi toolset. |
timeout |
Opsional. Waktu tunggu untuk eksekusi toolset. Jika tidak ditetapkan, waktu tunggu default adalah 30 detik untuk toolset Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan ' |
createTime |
Hanya output. Stempel waktu saat toolset dibuat. Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: |
updateTime |
Hanya output. Stempel waktu saat toolset terakhir diperbarui. Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: |
etag |
ETag yang digunakan untuk memastikan objek tidak berubah selama operasi baca-ubah-tulis. Jika etag kosong, pembaruan akan menimpa perubahan serentak. |
executionType |
Opsional. Jenis eksekusi alat dalam toolset. |
toolFakeConfig |
Opsional. Konfigurasi untuk perilaku alat dalam mode palsu. |
Kolom union toolset_type. Jenis toolset. toolset_type hanya ada berupa salah satu diantara berikut: |
|
mcpToolset |
Opsional. Toolset yang berisi daftar alat yang ditawarkan oleh server MCP. |
openApiToolset |
Opsional. Toolset yang berisi daftar alat yang ditentukan oleh skema OpenAPI. |
connectorToolset |
Opsional. Kumpulan alat yang membuat alat dari Koneksi Integration Connectors. |
McpToolset
| Representasi JSON |
|---|
{ "serverAddress": string, "apiAuthentication": { object ( |
| Kolom | |
|---|---|
serverAddress |
Wajib. Alamat server MCP, misalnya, "https://example.com/mcp/". Jika server dibangun dengan MCP SDK, URL harus memiliki akhiran "/mcp/". Hanya server berbasis transport HTTP yang dapat di-streaming yang didukung. Lihat https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http untuk mengetahui detail selengkapnya. |
apiAuthentication |
Opsional. Informasi autentikasi yang diperlukan untuk mengakses alat dan menjalankan alat terhadap server MCP. Untuk autentikasi token pembawa, token hanya berlaku untuk eksekusi alat, bukan untuk alat listingan. Hal ini mengharuskan alat dapat dicantumkan tanpa autentikasi. |
serviceDirectoryConfig |
Opsional. Konfigurasi Service Directory untuk VPC-SC, yang digunakan untuk menyelesaikan nama layanan dalam perimeter. |
tlsConfig |
Opsional. Konfigurasi TLS. Mencakup sertifikat server kustom yang harus dipercaya oleh klien. |
customHeaders |
Opsional. Header kustom yang akan dikirim dalam permintaan ke server MCP. Nilai harus dalam format Objek yang berisi daftar pasangan |
toolOverrides[] |
Opsional. Penggantian untuk setiap alat dalam set alat ini. Hal ini memungkinkan penggantian detail tertentu seperti deskripsi, nama, atau menyematkan status alat sehingga tidak sepenuhnya dinamis. |
ApiAuthentication
| Representasi JSON |
|---|
{ // Union field |
| Kolom | |
|---|---|
Kolom union auth_config. Konfigurasi autentikasi. auth_config hanya ada berupa salah satu diantara berikut: |
|
apiKeyConfig |
Opsional. Konfigurasi untuk autentikasi kunci API. |
oauthConfig |
Opsional. Konfigurasi untuk OAuth. |
serviceAgentIdTokenAuthConfig |
Opsional. Konfigurasi untuk autentikasi token ID yang dibuat dari agen layanan CES. |
serviceAccountAuthConfig |
Opsional. Konfigurasi untuk autentikasi akun layanan. |
bearerTokenConfig |
Opsional. Konfigurasi untuk autentikasi token pembawa. |
ApiKeyConfig
| Representasi JSON |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| Kolom | |
|---|---|
keyName |
Wajib. Nama parameter atau nama header kunci API. Misalnya, Jika permintaan API adalah "https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
Wajib. Nama resource versi secret SecretManager yang menyimpan kunci API. Format: Catatan: Anda harus memberikan peran |
requestLocation |
Wajib. Lokasi kunci dalam permintaan. |
OAuthConfig
| Representasi JSON |
|---|
{
"oauthGrantType": enum ( |
| Kolom | |
|---|---|
oauthGrantType |
Wajib. Jenis pemberian izin OAuth. |
clientId |
Wajib. ID klien dari penyedia OAuth. |
clientSecretVersion |
Wajib. Nama resource versi secret SecretManager yang menyimpan rahasia klien. Format: Catatan: Anda harus memberikan peran |
tokenEndpoint |
Wajib. Endpoint token di penyedia OAuth untuk ditukar dengan token akses. |
scopes[] |
Opsional. Cakupan OAuth yang akan diberikan. |
ServiceAccountAuthConfig
| Representasi JSON |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| Kolom | |
|---|---|
serviceAccount |
Wajib. Alamat email akun layanan yang digunakan untuk autentikasi. CES menggunakan akun layanan ini untuk menukar token akses dan token akses tersebut kemudian dikirim di header Akun layanan harus memiliki peran |
scopes[] |
Opsional. Cakupan OAuth yang akan diberikan. Jika tidak ditentukan, cakupan default |
BearerTokenConfig
| Representasi JSON |
|---|
{ "token": string } |
| Kolom | |
|---|---|
token |
Wajib. Token pemilik. Harus dalam format |
ServiceDirectoryConfig
| Representasi JSON |
|---|
{ "service": string } |
| Kolom | |
|---|---|
service |
Wajib. Nama layanan Service Directory. Format: |
TlsConfig
| Representasi JSON |
|---|
{
"caCerts": [
{
object ( |
| Kolom | |
|---|---|
caCerts[] |
Wajib. Menentukan daftar sertifikat CA kustom yang diizinkan untuk verifikasi HTTPS. |
CaCert
| Representasi JSON |
|---|
{ "displayName": string, "cert": string } |
| Kolom | |
|---|---|
displayName |
Wajib. Nama sertifikat CA kustom yang diizinkan. Ini dapat digunakan untuk membedakan sertifikat CA kustom. |
cert |
Wajib. Sertifikat CA kustom yang diizinkan (dalam format DER) untuk verifikasi HTTPS. Tindakan ini akan menggantikan trust store SSL default. Jika kosong atau tidak ditentukan, CES akan menggunakan penyimpanan tepercaya default Google untuk memverifikasi sertifikat. Catatan: Pastikan sertifikat server HTTPS ditandatangani dengan "subject alt name". Misalnya, sertifikat dapat ditandatangani sendiri menggunakan perintah berikut: String berenkode base64. |
CustomHeadersEntry
| Representasi JSON |
|---|
{ "key": string, "value": string } |
| Kolom | |
|---|---|
key |
|
value |
|
McpToolOverride
| Representasi JSON |
|---|
{
"tool": string,
"nameOverride": string,
"descriptionOverride": string,
"snapshot": {
object ( |
| Kolom | |
|---|---|
tool |
Wajib. Nama asli alat saat dikeluarkan oleh server MCP. |
nameOverride |
Opsional. Jika ada, alat ini menggunakan nama ini di Agen, bukan nama asli. Ini terutama digunakan sebagai alias jika server MCP menawarkan alat yang namanya kurang baik. |
descriptionOverride |
Opsional. Jika ada, alat ini akan menggunakan deskripsi ini, bukan deskripsi asli dari server. |
snapshot |
Hanya output. Jika ada, alat ini akan "Disematkan" dan menggunakan nilai snapshot sebagai penggantian jika server tidak tersedia untuk sementara atau jika tidak ada Penggantian. |
McpToolDefinition
| Representasi JSON |
|---|
{ "description": string, "inputSchema": { object ( |
| Kolom | |
|---|---|
description |
Hanya output. Deskripsi alat MCP. Nilai ini dapat diganti oleh |
inputSchema |
Hanya output. Skema argumen input alat MCP. |
outputSchema |
Hanya output. Skema argumen output alat MCP. |
Skema
| Representasi JSON |
|---|
{ "type": enum ( |
| Kolom | |
|---|---|
type |
Wajib. Jenis data. |
properties |
Opsional. Properti Type.OBJECT. Objek yang berisi daftar pasangan |
required[] |
Opsional. Properti wajib Type.OBJECT. |
description |
Opsional. Deskripsi data. |
items |
Opsional. Skema elemen Type.ARRAY. |
nullable |
Opsional. Menunjukkan apakah nilai boleh berupa null. |
uniqueItems |
Opsional. Menunjukkan bahwa item dalam array harus unik. Hanya berlaku untuk TYPE.ARRAY. |
prefixItems[] |
Opsional. Skema elemen awal Type.ARRAY. |
additionalProperties |
Opsional. Dapat berupa boolean atau objek, mengontrol keberadaan properti tambahan. |
anyOf[] |
Opsional. Nilai harus divalidasi terhadap salah satu (satu atau beberapa) subskema dalam daftar. |
enum[] |
Opsional. Kemungkinan nilai elemen jenis primitif dengan format enum. Contoh: 1. Kita dapat menentukan arah sebagai : {type:STRING, format:enum, enum:["TIMUR", NORTH", "SELATAN", "BARAT"]} 2. Kita dapat menentukan nomor apartemen sebagai : {type:INTEGER, format:enum, enum:["101", "201", "301"]} |
default |
Opsional. Nilai default data. |
ref |
Opsional. Memungkinkan referensi tidak langsung antar-node skema. Nilai harus berupa referensi yang valid ke turunan Misalnya, skema berikut menentukan referensi ke node skema bernama "Pet": Nilai properti "pet" adalah referensi ke node skema bernama "Pet". Lihat detailnya di https://json-schema.org/understanding-json-schema/structuring. |
defs |
Opsional. Peta definisi untuk digunakan oleh Objek yang berisi daftar pasangan |
title |
Opsional. Judul skema. |
minItems |
Opsional. Jumlah minimum elemen untuk Type.ARRAY. |
maxItems |
Opsional. Jumlah maksimum elemen untuk Type.ARRAY. |
Kolom union
|
|
minimum |
Opsional. Nilai minimum untuk Type.INTEGER dan Type.NUMBER. |
Kolom union
|
|
maximum |
Opsional. Nilai maksimum untuk Type.INTEGER dan Type.NUMBER. |
PropertiesEntry
| Representasi JSON |
|---|
{
"key": string,
"value": {
object ( |
| Kolom | |
|---|---|
key |
|
value |
|
Nilai
| Representasi JSON |
|---|
{ // Union field |
| Kolom | |
|---|---|
Kolom union kind. Jenis nilai. kind hanya ada berupa salah satu diantara berikut: |
|
nullValue |
Mewakili JSON |
numberValue |
Mewakili angka JSON. Tidak boleh |
stringValue |
Mewakili string JSON. |
boolValue |
Mewakili boolean JSON (literal |
structValue |
Mewakili objek JSON. |
listValue |
Mewakili array JSON. |
Struct
| Representasi JSON |
|---|
{ "fields": { string: value, ... } } |
| Kolom | |
|---|---|
fields |
Peta nilai yang diketik secara dinamis dan tidak berurutan. Objek yang berisi daftar pasangan |
FieldsEntry
| Representasi JSON |
|---|
{ "key": string, "value": value } |
| Kolom | |
|---|---|
key |
|
value |
|
ListValue
| Representasi JSON |
|---|
{ "values": [ value ] } |
| Kolom | |
|---|---|
values[] |
Kolom berulang dari nilai yang diketik secara dinamis. |
DefsEntry
| Representasi JSON |
|---|
{
"key": string,
"value": {
object ( |
| Kolom | |
|---|---|
key |
|
value |
|
OpenApiToolset
| Representasi JSON |
|---|
{ "openApiSchema": string, "apiAuthentication": { object ( |
| Kolom | |
|---|---|
openApiSchema |
Wajib. Skema OpenAPI toolset. |
apiAuthentication |
Opsional. Informasi autentikasi yang diperlukan oleh API. |
tlsConfig |
Opsional. Konfigurasi TLS. Mencakup sertifikat server kustom |
serviceDirectoryConfig |
Opsional. Konfigurasi Direktori Layanan. |
ignoreUnknownFields |
Opsional. Jika benar (true), agen akan mengabaikan kolom yang tidak diketahui dalam respons API untuk semua operasi yang ditentukan dalam skema OpenAPI. |
url |
Opsional. URL server skema Open API. Kolom ini hanya ditetapkan di toolset dalam dependensi lingkungan selama proses ekspor jika skema berisi URL server. Selama proses impor, jika URL ini ada dalam dependensi lingkungan dan skema memiliki placeholder $env_var, URL ini akan menggantikan placeholder dalam skema. |
ConnectorToolset
| Representasi JSON |
|---|
{ "connection": string, "authConfig": { object ( |
| Kolom | |
|---|---|
connection |
Wajib. Nama resource lengkap Koneksi Integration Connectors yang dirujuk. Format: |
authConfig |
Opsional. Mengonfigurasi cara penanganan autentikasi di Integration Connectors. Secara default, autentikasi admin diteruskan dalam permintaan API Integration Connectors. Anda dapat menggantinya dengan konfigurasi autentikasi pengguna akhir yang berbeda. Catatan: Koneksi harus mengaktifkan penggantian autentikasi agar dapat menentukan konfigurasi EUC di sini. Jika tidak, pembuatan Toolset akan gagal. Lihat: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override |
connectorActions[] |
Wajib. Daftar tindakan konektor/operasi entitas untuk membuat alat. |
EndUserAuthConfig
| Representasi JSON |
|---|
{ // Union field |
| Kolom | |
|---|---|
Kolom union auth_config. Konfigurasi autentikasi. auth_config hanya ada berupa salah satu diantara berikut: |
|
oauth2AuthCodeConfig |
Autentikasi Kode Otorisasi Oauth 2.0. |
oauth2JwtBearerConfig |
Autentikasi Pemberian Otorisasi OAuth 2.0 Profil JWT. |
Oauth2AuthCodeConfig
| Representasi JSON |
|---|
{ "oauthToken": string } |
| Kolom | |
|---|---|
oauthToken |
Wajib. Nama parameter token OAuth yang akan diteruskan. Harus dalam format |
Oauth2JwtBearerConfig
| Representasi JSON |
|---|
{ "issuer": string, "subject": string, "clientKey": string } |
| Kolom | |
|---|---|
issuer |
Wajib. Nama parameter penerbit yang akan diteruskan. Harus dalam format |
subject |
Wajib. Nama parameter subjek yang akan diteruskan. Harus dalam format |
clientKey |
Wajib. Nama parameter klien yang akan diteruskan. Harus dalam format |
Tindakan
| Representasi JSON |
|---|
{ "inputFields": [ string ], "outputFields": [ string ], // Union field |
| Kolom | |
|---|---|
inputFields[] |
Opsional. Kolom entitas yang akan digunakan sebagai input untuk operasi. Jika tidak ada kolom yang ditentukan, semua kolom Entitas akan digunakan. |
outputFields[] |
Opsional. Kolom entitas yang akan ditampilkan dari operasi. Jika tidak ada kolom yang ditentukan, semua kolom Entity akan ditampilkan. |
Kolom union action_spec. Spesifikasi untuk tindakan yang akan dikonfigurasi agar dapat digunakan oleh alat. action_spec hanya ada berupa salah satu diantara berikut: |
|
connectionActionId |
ID tindakan Koneksi yang akan digunakan alat. |
entityOperation |
Konfigurasi operasi entitas yang akan digunakan alat. |
EntityOperation
| Representasi JSON |
|---|
{
"entityId": string,
"operation": enum ( |
| Kolom | |
|---|---|
entityId |
Wajib. ID entitas. |
operation |
Wajib. Operasi yang akan dilakukan pada entity. |
Durasi
| Representasi JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Kolom | |
|---|---|
seconds |
Detik yang ditandatangani dari rentang waktu. Harus dari -315.576.000.000 hingga +315.576.000.000 inklusif. Catatan: batas ini dihitung dari: 60 dtk/mnt * 60 mnt/j * 24 j/hr * 365,25 hr/thn * 10.000 thn |
nanos |
Pecahan detik bertanda pada resolusi nanodetik rentang waktu. Durasi kurang dari satu detik ditampilkan dengan kolom |
Stempel waktu
| Representasi JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Kolom | |
|---|---|
seconds |
Mewakili detik waktu UTC sejak epoch Unix 1970-01-01T00:00:00Z. Harus antara -62135596800 dan 253402300799 inklusif (yang sesuai dengan 0001-01-01T00:00:00Z hingga 9999-12-31T23:59:59Z). |
nanos |
Pecahan detik non-negatif pada resolusi nanodetik. Kolom ini adalah bagian nanodetik dari durasi, bukan alternatif untuk detik. Nilai detik negatif dengan pecahan harus tetap memiliki nilai nano non-negatif yang dihitung maju dalam waktu. Harus antara 0 dan 999.999.999 inklusif. |
ToolFakeConfig
| Representasi JSON |
|---|
{ "enableFakeMode": boolean, // Union field |
| Kolom | |
|---|---|
enableFakeMode |
Opsional. Apakah alat menggunakan mode palsu. |
Kolom union tool_response. Respons bersifat statis atau disediakan oleh fungsi python. tool_response hanya ada berupa salah satu diantara berikut: |
|
codeBlock |
Opsional. Blok kode yang akan dieksekusi, bukan panggilan alat yang sebenarnya. |
CodeBlock
| Representasi JSON |
|---|
{ "pythonCode": string } |
| Kolom | |
|---|---|
pythonCode |
Wajib. Kode Python yang akan dipanggil dalam mode tiruan alat. Tanda tangan fungsi Python yang diharapkan - Untuk menangkap semua panggilan alat: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Untuk menangkap panggilan alat tertentu: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Jika fungsi menampilkan None, alat sebenarnya akan dipanggil. |
RequestLocation
Lokasi kunci API dalam permintaan.
| Enum | |
|---|---|
REQUEST_LOCATION_UNSPECIFIED |
Tidak ditentukan. Nilai ini tidak boleh digunakan. |
HEADER |
Merepresentasikan kunci di header http. |
QUERY_STRING |
Mewakili kunci dalam string kueri. |
OauthGrantType
Jenis pemberian izin OAuth. Hanya pemberian kredensial klien yang didukung.
| Enum | |
|---|---|
OAUTH_GRANT_TYPE_UNSPECIFIED |
Tidak ditentukan. Default-nya adalah CLIENT_CREDENTIAL. |
CLIENT_CREDENTIAL |
Mewakili alur kredensial klien. |
Jenis
Jenis data OpenAPI.
| Enum | |
|---|---|
TYPE_UNSPECIFIED |
Jenis tidak ditentukan. |
STRING |
Jenis string. |
INTEGER |
Jenis bilangan bulat. |
NUMBER |
Jenis angka. |
BOOLEAN |
Jenis Boolean. |
OBJECT |
Jenis objek. |
ARRAY |
Jenis array. |
NullValue
Mewakili JSON null.
NullValue adalah sentinel, menggunakan enum dengan hanya satu nilai untuk merepresentasikan nilai null untuk gabungan jenis Value.
Kolom berjenis NullValue dengan nilai selain 0 dianggap tidak valid. Sebagian besar serializer ProtoJSON akan memancarkan Value dengan null_value yang ditetapkan sebagai null JSON, terlepas dari nilai bilangan bulatnya, dan akan melakukan perjalanan pulang pergi ke nilai 0.
| Enum | |
|---|---|
NULL_VALUE |
Nilai null. |
OperationType
Operasi yang akan dilakukan pada entity.
| Enum | |
|---|---|
OPERATION_TYPE_UNSPECIFIED |
Jenis operasi tidak ditentukan. Tidak valid, pembuatan/pembaruan ConnectorTool akan gagal. |
LIST |
Operasi daftar. |
GET |
Mendapatkan operasi. |
CREATE |
Buat operasi. |
UPDATE |
Operasi update. |
DELETE |
Hapus operasi. |
ExecutionType
Jenis eksekusi alat atau set alat.
| Enum | |
|---|---|
EXECUTION_TYPE_UNSPECIFIED |
Jenis eksekusi tidak ditentukan. Nilai defaultnya adalah SYNCHRONOUS jika tidak ditentukan. |
SYNCHRONOUS |
Alat ini dieksekusi secara sinkron. Sesi diblokir hingga alat kembali. |
ASYNCHRONOUS |
Alat ini dijalankan secara asinkron. Sesi akan berlanjut saat alat dijalankan. |
Anotasi Alat
Petunjuk Destruktif: ✅ | Petunjuk Idempoten: ❌ | Petunjuk Hanya Baca: ❌ | Petunjuk Dunia Terbuka: ❌