MCP Tools Reference: ces.googleapis.com

Alat: get_conversation

Mendapatkan detail percakapan yang ditentukan.

Contoh kode berikut menunjukkan cara menggunakan curl untuk memanggil alat MCP get_conversation.

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": "get_conversation",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Skema Input

Pesan permintaan untuk AgentService.GetConversation.

GetConversationRequest

Representasi JSON
{
  "name": string,
  "source": enum (Source)
}
Kolom
name

string

Wajib. Nama resource percakapan yang akan diambil.

source
(deprecated)

enum (Source)

Opsional. Menunjukkan sumber percakapan. Jika tidak disetel, semua sumber akan ditelusuri.

Sumber

Sumber percakapan.

Enum
SOURCE_UNSPECIFIED Sumber tidak ditentukan.
LIVE Percakapan berasal dari pengguna akhir yang aktif.
SIMULATOR Percakapan berasal dari simulator.
EVAL Percakapan berasal dari evaluasi.
AGENT_TOOL Percakapan berasal dari alat agen. Alat agen menjalankan agen dalam sesi terpisah, yang dipertahankan untuk tujuan pengujian dan proses debug.

Skema Output

Percakapan mewakili interaksi antara pengguna akhir dan aplikasi CES.

Percakapan

Representasi JSON
{
  "name": string,
  "startTime": string,
  "endTime": string,
  "turns": [
    {
      object (Turn)
    }
  ],
  "turnCount": integer,
  "channelType": enum (ChannelType),
  "source": enum (Source),
  "inputTypes": [
    enum (InputType)
  ],
  "entryAgent": string,
  "deployment": string,
  "appVersion": string,
  "languageCode": string,
  "messages": [
    {
      object (Message)
    }
  ]
}
Kolom
name

string

ID. ID unik percakapan. Format: projects/{project}/locations/{location}/apps/{app}/conversations/{conversation}

startTime

string (Timestamp format)

Hanya output. Stempel waktu saat percakapan 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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Hanya output. Stempel waktu saat percakapan selesai.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

turns[]

object (Turn)

Wajib. Giliran dalam percakapan.

turnCount

integer

Hanya output. Jumlah giliran dalam percakapan.

channelType
(deprecated)

enum (ChannelType)

TIDAK DIGUNAKAN LAGI. Sebagai gantinya, gunakan input_types.

source

enum (Source)

Hanya output. Menunjukkan sumber percakapan.

inputTypes[]

enum (InputType)

Hanya output. Jenis input percakapan.

entryAgent

string

Hanya output. Agen yang awalnya menangani percakapan. Jika tidak ditentukan, percakapan akan ditangani oleh agen root. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

deployment

string

Hanya output. Deployment aplikasi yang digunakan untuk memproses percakapan. Format: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}

appVersion

string

Hanya output. Versi aplikasi yang digunakan untuk memproses percakapan. Format: projects/{project}/locations/{location}/apps/{app}/versions/{version}

languageCode

string

Hanya output. Kode bahasa percakapan.

messages[]
(deprecated)

object (Message)

Tidak digunakan lagi. Gunakan giliran sebagai gantinya.

Stempel waktu

Representasi JSON
{
  "seconds": string,
  "nanos": integer
}
Kolom
seconds

string (int64 format)

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

integer

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 nanos non-negatif yang dihitung maju dalam waktu. Harus antara 0 dan 999.999.999 inklusif.

Belok

Representasi JSON
{
  "messages": [
    {
      object (Message)
    }
  ],
  "rootSpan": {
    object (Span)
  },
  "userIntendedText": string
}
Kolom
messages[]

object (Message)

Opsional. Daftar pesan dalam giliran percakapan, termasuk input pengguna, respons agen, dan peristiwa perantara selama pemrosesan.

rootSpan

object (Span)

Opsional. Rentang root pemrosesan tindakan.

userIntendedText

string

Opsional. Teks kebenaran nyata yang dimaksud dari Penelepon Simulasi (Polysynth). Hanya diisi jika metrik rasio kesalahan kata diaktifkan.

Pesan

Representasi JSON
{
  "role": string,
  "chunks": [
    {
      object (Chunk)
    }
  ],
  "eventTime": string
}
Kolom
role

string

Opsional. Peran dalam percakapan, misalnya, pengguna, agen.

chunks[]

object (Chunk)

Opsional. Konten pesan sebagai serangkaian potongan.

eventTime

string (Timestamp format)

Opsional. Stempel waktu saat pesan dikirim atau diterima. Tidak boleh digunakan jika pesan adalah bagian dari example.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

Chunk

Representasi JSON
{

  // Union field data can be only one of the following:
  "text": string,
  "transcript": string,
  "blob": {
    object (Blob)
  },
  "payload": {
    object
  },
  "image": {
    object (Image)
  },
  "toolCall": {
    object (ToolCall)
  },
  "toolResponse": {
    object (ToolResponse)
  },
  "agentTransfer": {
    object (AgentTransfer)
  },
  "updatedVariables": {
    object
  },
  "defaultVariables": {
    object
  }
  // End of list of possible types for union field data.
}
Kolom
Kolom union data. Data potongan. data hanya ada berupa salah satu diantara berikut:
text

string

Opsional. Data teks.

transcript

string

Opsional. Transkrip yang terkait dengan audio.

blob

object (Blob)

Opsional. Data blob.

payload

object (Struct format)

Opsional. Data payload kustom.

image

object (Image)

Opsional. Data gambar.

toolCall

object (ToolCall)

Opsional. Permintaan eksekusi alat.

toolResponse

object (ToolResponse)

Opsional. Respons eksekusi alat.

agentTransfer

object (AgentTransfer)

Opsional. Peristiwa transfer agen.

updatedVariables

object (Struct format)

Struct merepresentasikan variabel yang diperbarui dalam percakapan, yang dikelompokkan berdasarkan nama variabel.

defaultVariables

object (Struct format)

Struct merepresentasikan variabel default di awal percakapan, yang dikelompokkan berdasarkan nama variabel.

Blob

Representasi JSON
{
  "mimeType": string,
  "data": string
}
Kolom
mimeType

string

Wajib. Jenis MIME standar IANA dari data sumber.

data

string (bytes format)

Wajib. Byte mentah blob.

String berenkode base64.

Struct

Representasi JSON
{
  "fields": {
    string: value,
    ...
  }
}
Kolom
fields

map (key: string, value: value (Value format))

Peta nilai yang diketik secara dinamis dan tidak berurutan.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

Representasi JSON
{
  "key": string,
  "value": value
}
Kolom
key

string

value

value (Value format)

Nilai

Representasi JSON
{

  // Union field kind can be only one of the following:
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
  // End of list of possible types for union field kind.
}
Kolom
Kolom union kind. Jenis nilai. kind hanya ada berupa salah satu diantara berikut:
nullValue

null

Mewakili JSON null.

numberValue

number

Mewakili angka JSON. Tidak boleh NaN, Infinity, atau -Infinity, karena tidak didukung dalam JSON. Hal ini juga tidak dapat merepresentasikan nilai Int64 yang besar, karena format JSON umumnya tidak mendukungnya dalam jenis angka.

stringValue

string

Mewakili string JSON.

boolValue

boolean

Mewakili boolean JSON (literal true atau false dalam JSON).

structValue

object (Struct format)

Mewakili objek JSON.

listValue

array (ListValue format)

Mewakili array JSON.

ListValue

Representasi JSON
{
  "values": [
    value
  ]
}
Kolom
values[]

value (Value format)

Kolom berulang dari nilai yang diketik secara dinamis.

Gambar

Representasi JSON
{
  "mimeType": string,
  "data": string,
  "altText": string
}
Kolom
mimeType

string

Wajib. Jenis MIME standar IANA dari data sumber. Jenis gambar yang didukung meliputi: * image/png * image/jpeg * image/webp

data

string (bytes format)

Wajib. Byte mentah gambar.

String berenkode base64.

altText

string

Opsional. Teks alternatif untuk gambar.

ToolCall

Representasi JSON
{
  "id": string,
  "displayName": string,
  "args": {
    object
  },
  "parentToolCallId": string,
  "agentName": string,

  // Union field tool_identifier can be only one of the following:
  "tool": string,
  "toolsetTool": {
    object (ToolsetTool)
  }
  // End of list of possible types for union field tool_identifier.
}
Kolom
id

string

Opsional. ID unik panggilan alat. Jika diisi, klien harus menampilkan hasil eksekusi dengan ID yang cocok di ToolResponse.

displayName

string

Hanya output. Nama tampilan alat.

args

object (Struct format)

Opsional. Parameter dan nilai input untuk alat dalam format objek JSON.

parentToolCallId

string

Hanya output. ID panggilan alat yang menyebabkan panggilan ini, saat dikeluarkan oleh sub-agen yang bekerja atas nama panggilan induk. Kosong untuk panggilan tingkat teratas. Memungkinkan klien mengelompokkan pekerjaan sub-agen dalam panggilan yang memulainya, bukan merender setiap langkah sebagai saudara.

agentName

string

Hanya output. Nama agen yang dapat dibaca manusia yang mengeluarkan panggilan ini, misalnya "Contract Architect". Kosong saat agen root menerbitkannya.

Kolom union tool_identifier. ID alat yang akan dieksekusi. Alat ini bisa berupa alat yang tetap ada atau alat dari toolset. tool_identifier hanya ada berupa salah satu diantara berikut:
tool

string

Opsional. Nama alat yang akan dieksekusi. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

Opsional. Alat toolset yang akan dijalankan.

ToolsetTool

Representasi JSON
{
  "toolset": string,
  "toolId": string
}
Kolom
toolset

string

Wajib. Nama resource Toolset dari mana alat ini berasal. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

toolId

string

Opsional. ID alat untuk memfilter alat yang akan diambil skemanya.

ToolResponse

Representasi JSON
{
  "id": string,
  "displayName": string,
  "response": {
    object
  },
  "parentToolCallId": string,
  "agentName": string,

  // Union field tool_identifier can be only one of the following:
  "tool": string,
  "toolsetTool": {
    object (ToolsetTool)
  }
  // End of list of possible types for union field tool_identifier.
}
Kolom
id

string

Opsional. ID yang cocok dari tool call yang menjadi tujuan respons.

displayName

string

Hanya output. Nama tampilan alat.

response

object (Struct format)

Wajib. Hasil eksekusi alat dalam format objek JSON. Gunakan kunci "output" untuk menentukan respons alat dan kunci "error" untuk menentukan detail error (jika ada). Jika kunci "output" dan "error" tidak ditentukan, seluruh "respons" akan diperlakukan sebagai hasil eksekusi alat.

parentToolCallId

string

Hanya output. ID panggilan alat yang menyebabkan panggilan ini, saat dikeluarkan oleh sub-agen yang bekerja atas nama panggilan induk. Kosong untuk panggilan tingkat teratas. Memungkinkan klien mengelompokkan pekerjaan sub-agen dalam panggilan yang memulainya, bukan merender setiap langkah sebagai saudara.

agentName

string

Hanya output. Nama agen yang dapat dibaca manusia yang mengeluarkan panggilan ini, misalnya "Contract Architect". Kosong saat agen root menerbitkannya.

Kolom union tool_identifier. ID alat yang dieksekusi. Alat ini bisa berupa alat yang tetap ada atau alat dari toolset. tool_identifier hanya ada berupa salah satu diantara berikut:
tool

string

Opsional. Nama alat yang akan dieksekusi. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

Opsional. Alat toolset yang dieksekusi.

AgentTransfer

Representasi JSON
{
  "targetAgent": string,
  "displayName": string
}
Kolom
targetAgent

string

Wajib. Agen yang akan menerima pengalihan percakapan. Agen akan menangani percakapan mulai saat ini. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

displayName

string

Hanya output. Nama tampilan agen.

Span

Representasi JSON
{
  "name": string,
  "startTime": string,
  "endTime": string,
  "duration": string,
  "attributes": {
    object
  },
  "childSpans": [
    {
      object (Span)
    }
  ]
}
Kolom
name

string

Hanya output. Nama rentang.

startTime

string (Timestamp format)

Hanya output. Waktu mulai rentang.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Hanya output. Waktu berakhir rentang.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

duration

string (Duration format)

Hanya output. Durasi rentang.

Durasi dalam detik dengan maksimal sembilan digit pecahan, diakhiri dengan 's'. Contoh: "3.5s".

attributes

object (Struct format)

Hanya output. Atribut nilai kunci yang terkait dengan rentang.

childSpans[]

object (Span)

Hanya output. Rentang turunan yang bertingkat di bawah rentang ini.

Durasi

Representasi JSON
{
  "seconds": string,
  "nanos": integer
}
Kolom
seconds

string (int64 format)

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

integer

Pecahan detik bertanda pada resolusi nanodetik rentang waktu. Durasi kurang dari satu detik ditampilkan dengan kolom seconds 0 dan kolom nanos positif atau negatif. Untuk durasi satu detik atau lebih, nilai non-nol untuk kolom nanos harus memiliki tanda yang sama dengan kolom seconds. Harus dari -999.999.999 hingga +999.999.999 inklusif.

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 round trip ke nilai 0.

Enum
NULL_VALUE Nilai null.

ChannelType

Jenis channel percakapan.

Enum
CHANNEL_TYPE_UNSPECIFIED Jenis saluran tidak ditentukan.
TEXT Percakapan hanya berisi pesan teks antara pengguna akhir dan agen.
AUDIO Percakapan berisi pesan audio antara pengguna akhir dan agen.
MULTIMODAL Pesan multi-modal percakapan (misalnya, gambar) antara pengguna akhir dan agen.

Sumber

Sumber percakapan.

Enum
SOURCE_UNSPECIFIED Sumber tidak ditentukan.
LIVE Percakapan berasal dari pengguna akhir yang aktif.
SIMULATOR Percakapan berasal dari simulator.
EVAL Percakapan berasal dari evaluasi.
AGENT_TOOL Percakapan berasal dari alat agen. Alat agen menjalankan agen dalam sesi terpisah, yang dipertahankan untuk tujuan pengujian dan proses debug.

InputType

Jenis pesan input.

Enum
INPUT_TYPE_UNSPECIFIED Jenis input tidak ditentukan.
INPUT_TYPE_TEXT Input teks.
INPUT_TYPE_EVENT Input acara.
INPUT_TYPE_AUDIO Input audio.
INPUT_TYPE_IMAGE Input gambar.
INPUT_TYPE_BLOB Input blob.
INPUT_TYPE_TOOL_RESPONSE Input respons alat fungsi klien.
INPUT_TYPE_VARIABLES Input variabel.

Anotasi Alat

Anotasi alat dikirim ke klien MCP untuk menjelaskan risiko dasar alat tertentu. Sebagian besar klien memperlakukan petunjuk ini sebagai tidak tepercaya, tetapi petunjuk ini dapat digunakan untuk memutuskan kapan perintah konfirmasi dapat dikirim ke pengguna.

Selain string judul, petunjuk boolean berikut ditentukan sebagai berikut:

  • readOnlyHint: Jika benar, alat tidak akan mengubah lingkungannya. Default: salah.
  • destructiveHint: Jika benar, alat dapat melakukan tindakan yang merusak. Jika salah (false), alat hanya dapat melakukan tindakan tambahan. Default: true.
  • idempotentHint: Jika benar (true), memanggil alat berulang kali dengan argumen yang sama tidak akan memberikan efek tambahan pada lingkungannya. Default: salah.
  • openWorldHint: Jika benar, alat dapat berinteraksi dengan 'dunia terbuka' entitas eksternal. Jika salah (false), alat hanya dapat berinteraksi dengan entitas internal. Misalnya, alat penelusuran web akan menjadi open world, sedangkan alat memori tidak akan menjadi open world.

Petunjuk Destruktif: ❌ | Petunjuk Idempoten: ✅ | Petunjuk Hanya Baca: ✅ | Petunjuk Dunia Terbuka: ❌