MCP Tools Reference: chatmcp.googleapis.com

Alat: search_messages

Menelusuri pesan Google Chat menggunakan kata kunci dan filter. Berfungsi di semua ruang yang dapat diakses pengguna, atau dapat dicakup ke percakapan tertentu.

Contoh berikut menunjukkan cara menggunakan curl untuk memanggil alat MCP search_messages.

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

Skema Input

Permintaan untuk menelusuri pesan Google Chat menggunakan kata kunci dan filter. Berfungsi di semua ruang yang dapat diakses pengguna, atau dapat dicakup ke percakapan tertentu.

SearchMessagesRequest

Representasi JSON
{
  "searchParameters": {
    object (SearchParameters)
  },
  "orderBy": enum (OrderBy),
  "pageSize": integer,
  "pageToken": string
}
Kolom
searchParameters

object (SearchParameters)

Wajib. Parameter penelusuran yang akan digunakan untuk penelusuran.

orderBy

enum (OrderBy)

Opsional. Menentukan urutan hasil yang harus ditampilkan. Nilai yang didukung: CREATE_TIME_DESC, CREATE_TIME_ASC, atau RELEVANCE_DESC. CATATAN: RELEVANCE_DESC tidak dapat digunakan saat filter is_unread digunakan. Secara default, RELEVANCE_DESC digunakan jika is_unread tidak disetel ke benar (true), jika tidak, CREATE_TIME_DESC akan digunakan.

pageSize

integer

Opsional. Jumlah hasil maksimum yang akan ditampilkan (maksimal hingga 100). Jika tidak ditentukan, paling banyak 25 item akan ditampilkan.

pageToken

string

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

SearchParameters

Representasi JSON
{
  "keywords": [
    string
  ],
  "conversationId": string,
  "sender": string,
  "isUnread": boolean,
  "hasLink": boolean,
  "startTime": string,
  "endTime": string,
  "mentionsMe": boolean,
  "conversationIncludesUser": string,
  "spaceDisplayNames": [
    string
  ]
}
Kolom
keywords[]

string

Opsional. Kumpulan kata kunci yang digunakan untuk memfilter hasil.

conversationId

string

Opsional. Mencakup penelusuran ke ID percakapan tertentu, seperti yang ditampilkan dari alat search_conversations. Format: spaces/{ID}.

sender

string

Opsional. Memfilter pesan dari pengguna tertentu. Email atau nama resource pengirim dapat digunakan. Nama resource pengguna diformat sebagai users/{ID}, dengan {ID} dapat berupa ID orang atau alamat emailnya.

isUnread

boolean

Opsional. Filter untuk pesan yang belum dibaca oleh pengguna yang memanggil.

hasLink

boolean

Opsional. Memfilter pesan yang berisi setidaknya satu URL.

startTime

string

Opsional. Filter untuk pesan yang dibuat setelah waktu ini. Format: Stempel waktu ISO 8601.

endTime

string

Opsional. Filter untuk pesan yang dibuat sebelum waktu ini. Format: Stempel waktu ISO 8601.

mentionsMe

boolean

Opsional. Memfilter pesan yang secara eksplisit menyebutkan pengguna yang memanggil.

conversationIncludesUser

string

Opsional. Memfilter pesan di DM dan chat grup yang menyertakan email atau ID pengguna tertentu.

spaceDisplayNames[]

string

Opsional. Memfilter menurut daftar nama ruang; nama tampilan ruang dicocokkan sebagian. Catatan: Hanya 5 hasil teratas yang ditampilkan.

OrderBy

Menentukan urutan hasil yang harus ditampilkan. Secara default, RELEVANCE_DESC digunakan jika is_unread tidak disetel ke benar (true), jika tidak, CREATE_TIME_DESC akan digunakan.

Enum
ORDER_BY_UNSPECIFIED Nilai default.
CREATE_TIME_DESC Urutkan berdasarkan waktu pembuatan dalam urutan menurun.
RELEVANCE_DESC Urutkan berdasarkan relevansi dari atas ke bawah.

Skema Output

Respons untuk menelusuri pesan Google Chat. Jika next_page_token diisi, SearchMessages dapat dipanggil lagi dengan token tersebut untuk mengambil halaman hasil berikutnya.

SearchMessagesResponse

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

object (ChatMessage)

Daftar objek pesan yang cocok dengan kriteria penelusuran, diurutkan berdasarkan parameter permintaan order_by.

nextPageToken

string

Token yang dapat dikirim sebagai page_token untuk mengambil halaman berikutnya. Jika kolom ini dihilangkan, tidak akan ada halaman berikutnya.

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 pesan teks biasa.

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 Direservasi.
DRIVE_FILE File adalah file Google Drive.
UPLOADED_CONTENT File diupload ke Chat.

Anotasi Alat

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