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 ditetapkan, semua sumber akan ditelusuri.

Sumber

Sumber percakapan.

Enum
SOURCE_UNSPECIFIED Sumber tidak ditentukan.
LIVE Percakapan berasal dari pengguna akhir langsung.
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 belokan.

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 nano 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. Span root pemrosesan tindakan.

userIntendedText

string

Opsional. Teks kebenaran nyata yang dimaksud dari Penelepon Simulasi (Polysynth). Hanya diisi jika metrik rasio error 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".

Bagian

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. Membagi data menjadi beberapa bagian. 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 mewakili variabel yang diperbarui dalam percakapan, yang diberi kunci berdasarkan nama variabel.

defaultVariables

object (Struct format)

Struct mewakili variabel default di awal percakapan, yang diberi kunci 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 diurutkan.

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

Merepresentasikan null JSON.

numberValue

number

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

stringValue

string

Mewakili string JSON.

boolValue

boolean

Merepresentasikan 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,
  "targetApp": 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 di bawah panggilan yang memulainya, bukan merender setiap langkah sebagai sibling.

agentName

string

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

targetApp

string

Hanya output. Aplikasi yang ditargetkan oleh panggilan ini, yang diperoleh asisten dari argumen resource panggilan: nama resource aplikasi, PROJECT untuk alat yang tercakup dalam lokasi, atau kosong untuk alat lokal sesi. Hanya ditetapkan dalam sesi asisten yang tercakup dalam project.

Kolom union tool_identifier. ID alat yang akan dieksekusi. Alat ini dapat berupa alat yang dipertahankan 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 yang menjadi asal alat ini. 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,
  "targetApp": 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 kecocokan 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 di bawah panggilan yang memulainya, bukan merender setiap langkah sebagai sibling.

agentName

string

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

targetApp

string

Hanya output. Aplikasi yang ditargetkan oleh alat yang dieksekusi; mencerminkan ToolCall.target_app.

Kolom union tool_identifier. ID alat yang dieksekusi. Alat ini dapat berupa alat yang dipertahankan 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 dijalankan.

AgentTransfer

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

string

Wajib. Agen yang akan menerima transfer percakapan. Agen akan menangani percakapan mulai dari titik 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 span.

startTime

string (Timestamp format)

Hanya output. Waktu mulai span.

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 span.

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 span.

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 span.

childSpans[]

object (Span)

Hanya output. Span turunan yang disusun bertingkat di bawah span ini.

Durasi

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

string (int64 format)

Detik bertanda 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/jam * 24 jam/hari * 365,25 hari/tahun * 10.000 tahun

nanos

integer

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

NullValue

Merepresentasikan null JSON.

NullValue adalah sentinel, yang menggunakan enum dengan hanya satu nilai untuk merepresentasikan nilai null untuk gabungan jenis Value.

Kolom jenis NullValue dengan nilai selain 0 dianggap tidak valid. Sebagian besar serializer ProtoJSON akan memunculkan Value dengan null_value yang ditetapkan sebagai null JSON, terlepas dari nilai bilangan bulatnya, sehingga akan melakukan perjalanan pulang pergi ke nilai 0.

Enum
NULL_VALUE Nilai null.

ChannelType

Jenis saluran 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 multimodal percakapan (misalnya, gambar) antara pengguna akhir dan agen.

Sumber

Sumber percakapan.

Enum
SOURCE_UNSPECIFIED Sumber tidak ditentukan.
LIVE Percakapan berasal dari pengguna akhir langsung.
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 peristiwa.
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 tersebut dapat digunakan untuk memutuskan kapan perintah konfirmasi dapat dikirim kepada pengguna.

Bersama dengan string judul, petunjuk boolean berikut ditentukan sebagai berikut:

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

Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌