MCP Tools Reference: chatmcp.googleapis.com

Alat: list_messages

Mengambil pesan dari percakapan Google Chat tertentu (Ruang, pesan langsung (DM), atau DM grup) dalam format Markdown. Memungkinkan pemfilteran menurut rangkaian pesan, rentang waktu, dan jumlah pesan. Selain itu, halaman pesan berikutnya dapat diambil untuk memberikan lebih banyak konteks. Pesan pribadi (pesan yang hanya dapat dilihat oleh satu pengguna) akan difilter.

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

Permintaan Curl
curl --location 'https://chatmcp.googleapis.com/mcp/v1' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "list_messages",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Skema Input

ListChatMessagesRequest

Representasi JSON
{
  "conversationId": string,
  "threadId": string,
  "pageSize": integer,
  "pageToken": string,
  "startTime": string,
  "endTime": string
}
Kolom
conversationId

string

Wajib. ID percakapan. Percakapan dapat berupa ruang, pesan langsung (DM), atau DM/Chat grup. Format: spaces/{space}

threadId

string

Opsional. ID rangkaian pesan tertentu dalam percakapan. Jika disediakan, hanya pesan dari rangkaian pesan ini yang akan ditampilkan. Jika tidak ada, pesan dari semua rangkaian pesan dalam percakapan akan dipertimbangkan. Format: spaces/{space}/threads/{thread}

pageSize

integer

Opsional. Jumlah maksimum pesan yang akan ditampilkan. Layanan mungkin menampilkan lebih sedikit dari nilai ini. Jika tidak ditentukan, nilai defaultnya adalah 20. Nilai maksimumnya adalah 50. Jika Anda menggunakan nilai lebih dari 50, nilai tersebut akan otomatis diubah menjadi 50.

pageToken

string

Opsional. Token halaman, yang diterima dari panggilan list_messages sebelumnya. Berikan ini untuk mengambil halaman selanjutnya.

startTime

string

Opsional. Stempel waktu ISO 8601 untuk memfilter pesan. Hanya pesan yang dibuat setelah waktu ini yang akan ditampilkan.

endTime

string

Opsional. Stempel waktu ISO 8601 untuk memfilter pesan. Hanya pesan yang dibuat sebelum waktu ini yang akan ditampilkan.

Skema Output

Respons yang berisi daftar pesan dari percakapan yang diminta.

ListChatMessagesResponse

Representasi JSON
{
  "messages": [
    {
      object (ChatMessage)
    }
  ],
  "nextPageToken": string
}
Kolom
messages[]

object (ChatMessage)

Daftar pesan yang diambil, dalam urutan kronologis terbalik (terbaru dulu).

nextPageToken

string

Token yang dapat dikirim sebagai page_token dalam ListMessagesRequest berikutnya untuk mengambil halaman pesan berikutnya. Jika kolom ini kosong, tidak ada lagi halaman.

ChatMessage

Representasi JSON
{
  "messageId": string,
  "threadId": string,
  "plaintextBody": string,
  "sender": {
    object (User)
  },
  "createTime": string,
  "threadedReply": boolean,
  "attachments": [
    {
      object (ChatAttachmentMetadata)
    }
  ],
  "reactionSummaries": [
    {
      object (ReactionSummary)
    }
  ]
}
Kolom
messageId

string

Nama resource pesan. Format: spaces/{space}/messages/{message}

threadId

string

Rangkaian pesan yang menyertakan pesan ini. Kolom ini akan kosong jika pesan tidak dikelompokkan dalam rangkaian pesan. Format: spaces/{space}/threads/{thread}

plaintextBody

string

Isi teks pesan menggunakan pemformatan Markdown.

sender

object (User)

Pengirim pesan.

createTime

string

Hanya output. Stempel waktu saat pesan dibuat.

threadedReply

boolean

Apakah pesan adalah balasan rangkaian pesan.

attachments[]

object (ChatAttachmentMetadata)

Lampiran disertakan dalam pesan.

reactionSummaries[]

object (ReactionSummary)

Ringkasan reaksi emoji yang disertakan dalam pesan.

Pengguna

Representasi JSON
{
  "userId": string,
  "displayName": string,
  "email": string,
  "userType": enum (UserType)
}
Kolom
userId

string

Nama resource pengguna Chat. Format: users/{user}.

displayName

string

Nama tampilan pengguna Chat.

email

string

Alamat email pengguna. Kolom ini hanya diisi jika jenis pengguna adalah HUMAN.

userType

enum (UserType)

Jenis pengguna.

ChatAttachmentMetadata

Representasi JSON
{
  "attachmentId": string,
  "filename": string,
  "mimeType": string,
  "source": enum (Source)
}
Kolom
attachmentId

string

Nama resource lampiran. Format: spaces/{space}/messages/{message}/attachments/{attachment}.

filename

string

Nama lampiran.

mimeType

string

Jenis konten (jenis MIME).

source

enum (Source)

Sumber lampiran.

ReactionSummary

Representasi JSON
{
  "emoji": string,
  "count": integer
}
Kolom
emoji

string

String unicode emoji atau nama emoji kustom.

count

integer

Jumlah total reaksi menggunakan emoji terkait.

UserType

Jenis pengguna Google Chat.

Enum
USER_TYPE_UNSPECIFIED Tidak ditentukan.
HUMAN Pengguna manusia.
APP Pengguna aplikasi.

Sumber

Sumber lampiran.

Enum
SOURCE_UNSPECIFIED Dipesan.
DRIVE_FILE File adalah file Google Drive.
UPLOADED_CONTENT File diupload ke Chat.

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 kepada pengguna.

Selain 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 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: false.
  • 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: ❌

Cakupan Otorisasi

Memerlukan salah satu cakupan OAuth berikut:

  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.messages.readonly