Công cụ: send_message
Gửi tin nhắn trên Google Chat đến một cuộc trò chuyện bằng định dạng Markdown.
Công cụ này sử dụng mã cuộc trò chuyện, mã chuỗi tin nhắn (không bắt buộc) và văn bản tin nhắn làm dữ liệu đầu vào.
Bạn có thể tìm thấy mã cuộc trò chuyện bằng công cụ search_conversations.
Phương thức này trả về tin nhắn đã tạo.
Mã mẫu sau đây cho biết cách sử dụng curl để gọi công cụ MCP send_message.
| 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": "send_message", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Giản đồ đầu vào
SendMessageRequest
| Biểu diễn dưới dạng JSON |
|---|
{ "conversationId": string, "threadId": string, "messageText": string, "cards": [ { object } ], "inlineCitations": [ { object ( |
| Trường | |
|---|---|
conversationId |
Bắt buộc. Mã nhận dạng của cuộc trò chuyện (ví dụ: "spaces/AAAA...") để gửi tin nhắn đến. |
threadId |
Không bắt buộc. Mã nhận dạng của chuỗi tin nhắn (ví dụ: "spaces/AAAA.../threads/BBBB...") để gửi tin nhắn đến. Nếu bạn không đặt, tin nhắn sẽ được gửi đến một chuỗi tin nhắn mới. |
messageText |
Bắt buộc. Nội dung chính của thông báo. Bạn có thể thêm định dạng bằng Markdown chuẩn (lưu ý rằng bảng KHÔNG được hỗ trợ). Các định dạng sau đây được hỗ trợ:
|
cards[] |
Không bắt buộc. Thẻ được đính kèm vào thư. Kích thước tối đa là 32 KB cho mỗi thẻ. Mỗi thẻ được biểu thị dưới dạng một cấu trúc JSON theo định dạng Thẻ Google Chat (Thẻ Google Workspace UIKit/Thẻ phiên bản 2). Để đính kèm thẻ vào tin nhắn, ứng dụng Chat phải là thành viên của không gian. Hình ảnh trong thẻ không được hỗ trợ. Nhận dạng thẻ:
|
inlineCitations[] |
Không bắt buộc. Các trích dẫn cùng dòng được tham chiếu trong |
footerCitedSources[] |
Không bắt buộc. Các nguồn được trích dẫn cấp cao nhất xuất hiện dưới dạng thẻ tham khảo ở cuối (chân trang) của tin nhắn. Bạn chỉ được phép trích dẫn tối đa 50 nguồn trong tất cả các nguồn trích dẫn cùng dòng và nguồn ở chân trang trong một tin nhắn. |
Cấu trúc
| Biểu diễn dưới dạng JSON |
|---|
{ "fields": { string: value, ... } } |
| Trường | |
|---|---|
fields |
Bản đồ không theo thứ tự của các giá trị được nhập động. Một đối tượng chứa danh sách các cặp |
FieldsEntry
| Biểu diễn dưới dạng JSON |
|---|
{ "key": string, "value": value } |
| Trường | |
|---|---|
key |
|
value |
|
Giá trị
| Biểu diễn dưới dạng JSON |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| Trường | |
|---|---|
Trường nhóm kind. Loại giá trị. kind chỉ có thể là một trong những trạng thái sau: |
|
nullValue |
Đại diện cho một |
numberValue |
Biểu thị một số JSON. Không được là |
stringValue |
Biểu thị một chuỗi JSON. |
boolValue |
Biểu thị một boolean JSON ( |
structValue |
Đại diện cho một đối tượng JSON. |
listValue |
Biểu thị một mảng JSON. |
ListValue
| Biểu diễn dưới dạng JSON |
|---|
{ "values": [ value ] } |
| Trường | |
|---|---|
values[] |
Trường lặp lại của các giá trị được nhập động. |
Trích dẫn
| Biểu diễn dưới dạng JSON |
|---|
{
"id": string,
"citedSources": [
{
object ( |
| Trường | |
|---|---|
id |
Bắt buộc. Giá trị nhận dạng riêng biệt khớp với thuộc tính |
citedSources[] |
Bắt buộc. Một hoặc nhiều nguồn được đính kèm vào thẻ di chuột của trích dẫn này. Bạn chỉ được phép trích dẫn tối đa 50 nguồn trong tất cả các nguồn trích dẫn cùng dòng và nguồn ở chân trang trong một tin nhắn. |
CitedSource
| Biểu diễn dưới dạng JSON |
|---|
{ "title": string, "url": string, "snippet": string, "imageUrl": string, "footer": string } |
| Trường | |
|---|---|
title |
Bắt buộc. Tiêu đề dạng văn bản thuần tuý của nguồn (ví dụ: "Chương trình Bản dùng trước cho nhà phát triển của Google Workspace"). Định dạng Markdown không được hỗ trợ trong tiêu đề. |
url |
Bắt buộc. URL của tài nguyên được trích dẫn (phải là URL http:// hoặc https:// hợp lệ, ví dụ: "https://developers.google.com/workspace/preview"). |
snippet |
Không bắt buộc. Một đoạn trích hoặc đoạn thông tin ngắn trực tiếp từ nguồn. Hiển thị trong thẻ di chuột hoặc chân trang. Chỉ văn bản thuần tuý. Độ dài tối đa là 1.000 ký tự. |
imageUrl |
Không bắt buộc. URL của hình thu nhỏ xem trước hình ảnh (phải sử dụng URL https://). |
footer |
Không bắt buộc. Văn bản ghi công bổ sung xuất hiện ở chân trang của thẻ (ví dụ: tên miền "developers.google.com" hoặc tên tác giả/tổ chức). |
NullValue
Đại diện cho một null JSON.
NullValue là một sentinel, sử dụng enum chỉ có một giá trị để biểu thị giá trị rỗng cho kiểu hợp nhất Value.
Trường thuộc loại NullValue có giá trị khác với 0 được coi là không hợp lệ. Hầu hết các trình chuyển đổi tuần tự ProtoJSON sẽ phát ra một Value có null_value được đặt làm JSON null bất kể giá trị số nguyên, và do đó sẽ khứ hồi thành giá trị 0.
| Enum | |
|---|---|
NULL_VALUE |
Giá trị rỗng. |
Giản đồ đầu ra
Phản hồi khi gửi tin nhắn đến một cuộc trò chuyện trên Google Chat.
SendMessageResponse
| Biểu diễn dưới dạng JSON |
|---|
{
"message": {
object ( |
| Trường | |
|---|---|
message |
Tin nhắn đã được gửi. |
ChatMessage
| Biểu diễn dưới dạng JSON |
|---|
{ "messageId": string, "threadId": string, "plaintextBody": string, "sender": { object ( |
| Trường | |
|---|---|
messageId |
Tên tài nguyên của thông báo. Định dạng: spaces/{space}/messages/{message} |
threadId |
Chuỗi tin nhắn chứa tin nhắn này. Trường này sẽ trống nếu tin nhắn không có chuỗi. Định dạng: spaces/{space}/threads/{thread} |
plaintextBody |
Nội dung văn bản của thông báo sử dụng định dạng Markdown. |
sender |
Người gửi tin nhắn. |
createTime |
Chỉ có đầu ra. Dấu thời gian khi tin nhắn được tạo. Định dạng: Dấu thời gian ISO 8601. |
threadedReply |
Liệu tin nhắn có phải là tin nhắn trả lời trong chuỗi hay không. |
attachments[] |
Tệp đính kèm có trong thư. |
reactionSummaries[] |
Bản tóm tắt về lượt thể hiện cảm xúc bằng emoji có trong thư. |
quotedMessageMetadata |
Chỉ có đầu ra. Thông tin về tin nhắn gốc được trích dẫn hoặc chuyển tiếp trong tin nhắn này. Lưu ý: Trường này đang được phát triển và có thể chưa có trong một số môi trường. |
Người dùng
| Biểu diễn dưới dạng JSON |
|---|
{
"userId": string,
"displayName": string,
"email": string,
"userType": enum ( |
| Trường | |
|---|---|
userId |
Tên tài nguyên của người dùng Chat. Định dạng: users/{user}. |
displayName |
Tên hiển thị của người dùng Chat. |
email |
Đị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 |
Loại người dùng. |
ChatAttachmentMetadata
| Biểu diễn dưới dạng JSON |
|---|
{
"attachmentId": string,
"filename": string,
"mimeType": string,
"source": enum ( |
| Trường | |
|---|---|
attachmentId |
Tên tài nguyên của tệp đính kèm. Định dạng: spaces/{space}/messages/{message}/attachments/{attachment}. |
filename |
Tên tệp đính kèm. |
mimeType |
Loại nội dung (loại MIME). |
source |
Nguồn của tệp đính kèm. |
driveFileId |
Chỉ có đầu ra. Mã nhận dạng của tệp trên Google Drive. Chỉ được điền sẵn khi nguồn là DRIVE_FILE. Sử dụng với MCP của Google Drive. |
ReactionSummary
| Biểu diễn dưới dạng JSON |
|---|
{ "emoji": string, "count": integer } |
| Trường | |
|---|---|
emoji |
Chuỗi unicode của biểu tượng cảm xúc hoặc tên biểu tượng cảm xúc tuỳ chỉnh. |
count |
Tổng số lượt bày tỏ cảm xúc bằng biểu tượng cảm xúc liên quan. |
QuotedMessageMetadata
| Biểu diễn dưới dạng JSON |
|---|
{ "messageId": string, "lastUpdateTime": string, "quoteType": enum ( |
| Trường | |
|---|---|
messageId |
Chỉ có đầu ra. Tên tài nguyên của tin nhắn gốc được trích dẫn hoặc chuyển tiếp. Định dạng: spaces/{space}/messages/{message} |
lastUpdateTime |
Chỉ có đầu ra. Dấu thời gian khi tin nhắn gốc được tạo hoặc cập nhật lần gần đây nhất trước khi được trích dẫn hoặc chuyển tiếp. Định dạng: Dấu thời gian ISO 8601. |
quoteType |
Chỉ có đầu ra. Loại báo giá. |
plaintextBody |
Chỉ có đầu ra. Ảnh chụp nhanh nội dung văn bản của thư gốc tại thời điểm trích dẫn hoặc chuyển tiếp. Được định dạng bằng Markdown cho |
sender |
Chỉ có đầu ra. Tên hiển thị của tác giả tin nhắn gốc. |
attachments[] |
Chỉ có đầu ra. Tệp đính kèm trong thư gốc. Chỉ được điền sẵn cho loại báo giá |
forwardedMetadata |
Chỉ có đầu ra. Siêu dữ liệu về cuộc trò chuyện nguồn của tin nhắn được chuyển tiếp. Chỉ được điền sẵn cho loại báo giá |
ForwardedMetadata
| Biểu diễn dưới dạng JSON |
|---|
{ "conversationId": string, "conversationDisplayName": string } |
| Trường | |
|---|---|
conversationId |
Chỉ có đầu ra. Tên tài nguyên của cuộc trò chuyện nguồn. Định dạng: spaces/{space} |
conversationDisplayName |
Chỉ có đầu ra. Tên hiển thị của cuộc trò chuyện gốc tại thời điểm tin nhắn được chuyển tiếp. Đối với không gian có tên, đây là tên không gian. Đối với tin nhắn trực tiếp 1:1, đây là tên của người tham gia còn lại. Đối với cuộc trò chuyện nhóm chưa đặt tên, đây là tên được tạo dựa trên tên của các thành viên. |
UserType
Loại người dùng Google Chat.
| Enum | |
|---|---|
USER_TYPE_UNSPECIFIED |
Không xác định. |
HUMAN |
Người dùng là con người. |
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 được tải lên Chat. |
QuoteType
Loại trích dẫn cho biết tin nhắn là tin nhắn trả lời khi trích dẫn hay tin nhắn được chuyển tiếp.
| Enum | |
|---|---|
QUOTE_TYPE_UNSPECIFIED |
Đã đặt trước. Loại dấu ngoặc kép không xác định. |
REPLY |
Tin nhắn này là tin nhắn trả lời trích dẫn cho một tin nhắn gốc trong cùng một chuỗi. |
FORWARD |
Tin nhắn được chuyển tiếp từ một tin nhắn gốc trong một cuộc trò chuyện khác hoặc từ một chuỗi tin nhắn khác trong cùng một cuộc trò chuyện. |
Chú thích về công cụ
Chú thích về công cụ được gửi đến ứ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 ứng dụng đều coi những gợi ý này là không đáng tin cậy, nhưng 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 nó. Mặc định: false.destructiveHint: Nếu đúng, thì công cụ có thể thực hiện các hành động có tính huỷ diệt. Nếu là false, thì công cụ chỉ có thể thực hiện các hành động 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 hiệu ứng nào đối với môi trường của công cụ đó. Mặc định: false.openWorldHint: Nếu đúng, thì 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ụ: công cụ tìm kiếm trên web sẽ là công cụ thế giới mở, còn công cụ ghi nhớ sẽ không phải là công cụ thế giới mở.
Gợi ý về hành động huỷ diệt: ❌ | Gợi ý về hành động không thay đổi giá trị: ❌ | Gợi ý về hành động chỉ đọc: ❌ | Gợi ý về hành động 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.messageshttps://www.googleapis.com/auth/chat.messages.create