MCP Tools Reference: chatmcp.googleapis.com

Công cụ: list_messages

Truy xuất tin nhắn từ một cuộc trò chuyện cụ thể trên Google Chat (Không gian, tin nhắn trực tiếp (DM) hoặc tin nhắn trực tiếp theo nhóm) ở định dạng Markdown. Cho phép lọc theo chuỗi, phạm vi thời gian và số lượng tin nhắn. Ngoài ra, bạn có thể truy xuất trang tiếp theo của tin nhắn để có thêm ngữ cảnh. Tin nhắn riêng tư (chỉ một người dùng xem được) sẽ bị lọc.

Mã mẫu sau đây cho biết cách sử dụng curl để gọi công cụ list_messages MCP.

Yêu cầu 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
}'

Giản đồ đầu vào

ListChatMessagesRequest

Biểu diễn dưới dạng JSON
{
  "conversationId": string,
  "threadId": string,
  "pageSize": integer,
  "pageToken": string,
  "startTime": string,
  "endTime": string
}
Trường
conversationId

string

Bắt buộc. Mã của cuộc trò chuyện. Cuộc trò chuyện có thể là không gian, tin nhắn trực tiếp (DM) hoặc cuộc trò chuyện/tin nhắn trực tiếp theo nhóm. Định dạng: spaces/{space}

threadId

string

Không bắt buộc. Mã nhận dạng của một chuỗi tin nhắn cụ thể trong cuộc trò chuyện. Nếu được cung cấp, hệ thống sẽ chỉ trả về các thông báo trong luồng này. Nếu bạn bỏ qua tham số này, thì hệ thống sẽ xem xét các tin nhắn từ tất cả các chuỗi trong cuộc trò chuyện. Định dạng: spaces/{space}/threads/{thread}

pageSize

integer

Không bắt buộc. Số lượng tin nhắn tối đa cần trả về. Dịch vụ có thể trả về ít hơn giá trị này. Nếu không được chỉ định, giá trị mặc định là 20. Giá trị tối đa là 50. Nếu bạn sử dụng giá trị lớn hơn 50, giá trị đó sẽ tự động thay đổi thành 50.

pageToken

string

Không bắt buộc. Mã thông báo trang nhận được từ một lệnh gọi list_messages trước đó. Cung cấp thông tin này để truy xuất trang tiếp theo.

startTime

string

Không bắt buộc. Dấu thời gian ISO 8601 để lọc thư. Hệ thống sẽ chỉ trả về những thông báo được tạo sau thời điểm này.

endTime

string

Không bắt buộc. Dấu thời gian ISO 8601 để lọc thư. Chỉ những thư được tạo trước thời gian này mới được trả về.

Giản đồ đầu ra

Phản hồi chứa danh sách tin nhắn trong cuộc trò chuyện được yêu cầu.

ListChatMessagesResponse

Biểu diễn dưới dạng JSON
{
  "messages": [
    {
      object (ChatMessage)
    }
  ],
  "nextPageToken": string
}
Trường
messages[]

object (ChatMessage)

Danh sách các thông báo đã truy xuất, theo thứ tự thời gian đảo ngược (mới nhất trước).

nextPageToken

string

Một mã thông báo có thể được gửi dưới dạng page_token trong ListMessagesRequest tiếp theo để truy xuất trang tiếp theo của thông báo. Nếu trường này trống, tức là không còn trang nào nữa.

ChatMessage

Biểu diễn dưới dạng JSON
{
  "messageId": string,
  "threadId": string,
  "plaintextBody": string,
  "sender": {
    object (User)
  },
  "createTime": string,
  "threadedReply": boolean,
  "attachments": [
    {
      object (ChatAttachmentMetadata)
    }
  ],
  "reactionSummaries": [
    {
      object (ReactionSummary)
    }
  ]
}
Trường
messageId

string

Tên tài nguyên của thông báo. Định dạng: spaces/{space}/messages/{message}

threadId

string

CWG là chuỗi thư mà thư này thuộc về. Tham số này sẽ trống nếu tin nhắn không được phân luồng. Định dạng: spaces/{space}/threads/{thread}

plaintextBody

string

Nội dung văn bản của thông báo bằng cách sử dụng định dạng Markdown.

sender

object (User)

Người gửi tin nhắn.

createTime

string

Chỉ có đầu ra. Dấu thời gian cho biết thời điểm tạo thông báo.

threadedReply

boolean

Tin nhắn có phải là tin nhắn trả lời trong một chuỗi hay không.

attachments[]

object (ChatAttachmentMetadata)

Tệp đính kèm có trong thư.

reactionSummaries[]

object (ReactionSummary)

Bản tóm tắt về các lượt thể hiện cảm xúc bằng biểu tượng trong tin nhắn.

Người dùng

Biểu diễn dưới dạng JSON
{
  "userId": string,
  "displayName": string,
  "email": string,
  "userType": enum (UserType)
}
Trường
userId

string

Tên tài nguyên của một người dùng Chat. Định dạng: users/{user}.

displayName

string

Tên hiển thị của người dùng Chat.

email

string

Địa chỉ email của người dùng. Trường này chỉ được điền sẵn khi loại người dùng là HUMAN.

userType

enum (UserType)

Loại người dùng.

ChatAttachmentMetadata

Biểu diễn dưới dạng JSON
{
  "attachmentId": string,
  "filename": string,
  "mimeType": string,
  "source": enum (Source)
}
Trường
attachmentId

string

Tên tài nguyên của tệp đính kèm. Định dạng: spaces/{space}/messages/{message}/attachments/{attachment}.

filename

string

Tên của tệp đính kèm.

mimeType

string

Loại nội dung (loại MIME).

source

enum (Source)

Nguồn của tệp đính kèm.

ReactionSummary

Biểu diễn dưới dạng JSON
{
  "emoji": string,
  "count": integer
}
Trường
emoji

string

Chuỗi unicode biểu tượng cảm xúc hoặc tên biểu tượng cảm xúc tuỳ chỉnh.

count

integer

Tổng số lượt thể hiện cảm xúc bằng biểu tượng cảm xúc liên quan.

UserType

Loại người dùng Google Chat.

Enum
USER_TYPE_UNSPECIFIED Không xác định.
HUMAN Người dùng thực.
APP Người dùng ứng dụng.

Nguồn

Nguồn của tệp đính kèm.

Enum
SOURCE_UNSPECIFIED Đã đặt trước.
DRIVE_FILE Tệp này là tệp trên Google Drive.
UPLOADED_CONTENT Tệp sẽ được tải lên Chat.

Chú giải công cụ

Chú thích công cụ được gửi đến các ứng dụng MCP để mô tả rủi ro cơ bản của một công cụ nhất định. Hầu hết các ứng dụng đều coi những gợi ý này là không đáng tin cậy, nhưng bạn có thể dùng chúng để quyết định thời điểm gửi lời nhắc xác nhận cho người dùng.

Cùng với chuỗi tiêu đề, các gợi ý boolean sau đây được xác định như sau:

  • readOnlyHint: Nếu đúng, công cụ sẽ không sửa đổi môi trường của công cụ. Mặc định: false.
  • destructiveHint: Nếu đúng, công cụ có thể thực hiện các hành động phá huỷ. Nếu là false, thì công cụ chỉ có thể thực hiện các thao tác bổ sung. Mặc định: true.
  • idempotentHint: Nếu đúng, thì việc gọi công cụ nhiều lần với cùng một đối số sẽ không có thêm tác động nào đến môi trường của công cụ. Mặc định: false.
  • openWorldHint: Nếu đúng, công cụ này có thể tương tác với "thế giới mở" của các thực thể bên ngoài. Nếu là false, thì công cụ chỉ có thể tương tác với các thực thể nội bộ. Ví dụ: một công cụ tìm kiếm trên web sẽ là thế giới mở, trong khi một công cụ bộ nhớ sẽ không phải là thế giới mở.

Gợi ý phá huỷ: ❌ | Gợi ý bất biến: ✅ | Gợi ý chỉ đọc: ✅ | Gợi ý thế giới mở: ❌

Phạm vi cấp phép

Yêu cầu một trong các phạm vi OAuth sau:

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