MCP Tools Reference: chatmcp.googleapis.com

เครื่องมือ: list_messages

ดึงข้อความจากการสนทนาใน Google Chat ที่ระบุ (พื้นที่ทำงาน ข้อความส่วนตัว (DM) หรือ DM แบบกลุ่ม) ในรูปแบบ Markdown ช่วยให้กรองตามชุดข้อความ ช่วงเวลา และจำนวนข้อความได้ นอกจากนี้ คุณยังเรียกดูข้อความหน้าถัดไปเพื่อให้มีบริบทเพิ่มเติมได้ด้วย ระบบจะกรองข้อความส่วนตัว (ข้อความที่ปรากฏต่อผู้ใช้รายเดียวเท่านั้น) ออก

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้ curl เพื่อเรียกใช้เครื่องมือ MCP list_messages

คำขอ 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 MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

สคีมาอินพุต

ListChatMessagesRequest

การแสดง JSON
{
  "conversationId": string,
  "threadId": string,
  "pageSize": integer,
  "pageToken": string,
  "startTime": string,
  "endTime": string
}
ช่อง
conversationId

string

ต้องระบุ รหัสของการสนทนา การสนทนาอาจเป็นพื้นที่ทำงาน ข้อความส่วนตัว (DM) หรือ DM/แชทกลุ่มก็ได้ รูปแบบ: spaces/{space}

threadId

string

ไม่บังคับ รหัสของชุดข้อความที่เฉพาะเจาะจงภายในการสนทนา หากระบุ ระบบจะแสดงเฉพาะข้อความจากชุดข้อความนี้เท่านั้น หากละเว้น ระบบจะพิจารณาข้อความจากชุดข้อความทั้งหมดในการสนทนา รูปแบบ: spaces/{space}/threads/{thread}

pageSize

integer

ไม่บังคับ จำนวนข้อความสูงสุดที่จะแสดงผล บริการอาจแสดงผลลัพธ์น้อยกว่าค่านี้ หากไม่ได้ระบุไว้ ค่าเริ่มต้นจะเป็น 20 ค่าสูงสุดคือ 50 หากคุณใช้ค่ามากกว่า 50 ระบบจะเปลี่ยนค่าเป็น 50 โดยอัตโนมัติ

pageToken

string

ไม่บังคับ โทเค็นหน้าเว็บที่ได้รับจากการเรียก list_messages ก่อนหน้า ระบุโทเค็นนี้เพื่อเรียกข้อมูลหน้าถัดไป

startTime

string

ไม่บังคับ การประทับเวลา ISO 8601 เพื่อกรองข้อความ ระบบจะแสดงเฉพาะข้อความที่สร้างขึ้นหลังจากเวลานี้เท่านั้น

endTime

string

ไม่บังคับ การประทับเวลา ISO 8601 เพื่อกรองข้อความ ระบบจะแสดงเฉพาะข้อความที่สร้างขึ้นก่อนเวลานี้เท่านั้น

สคีมาเอาต์พุต

การตอบกลับที่มีรายการข้อความจากการสนทนาที่ขอ

ListChatMessagesResponse

การแสดง JSON
{
  "messages": [
    {
      object (ChatMessage)
    }
  ],
  "nextPageToken": string
}
ช่อง
messages[]

object (ChatMessage)

รายการข้อความที่ดึงมา โดยเรียงตามลำดับเวลาย้อนกลับ (ใหม่สุดก่อน)

nextPageToken

string

โทเค็น ซึ่งสามารถส่งเป็น page_token ใน ListMessagesRequest ที่ตามมาเพื่อดึงข้อมูลข้อความหน้าถัดไป หากช่องนี้ว่างเปล่า แสดงว่าไม่มีหน้าอื่นแล้ว

ChatMessage

การแสดง JSON
{
  "messageId": string,
  "threadId": string,
  "plaintextBody": string,
  "sender": {
    object (User)
  },
  "createTime": string,
  "threadedReply": boolean,
  "attachments": [
    {
      object (ChatAttachmentMetadata)
    }
  ],
  "reactionSummaries": [
    {
      object (ReactionSummary)
    }
  ],
  "quotedMessageMetadata": {
    object (QuotedMessageMetadata)
  }
}
ช่อง
messageId

string

ชื่อทรัพยากรของข้อความ รูปแบบ: spaces/{space}/messages/{message}

threadId

string

ชุดข้อความที่มีข้อความนี้อยู่ ช่องนี้จะว่างเปล่าหากข้อความไม่มีชุดข้อความ รูปแบบ: spaces/{space}/threads/{thread}

plaintextBody

string

เนื้อความของข้อความที่ใช้การจัดรูปแบบ Markdown

sender

object (User)

ผู้ส่งข้อความ

createTime

string

เอาต์พุตเท่านั้น การประทับเวลาเมื่อสร้างข้อความ รูปแบบ: การประทับเวลา ISO 8601

threadedReply

boolean

ข้อความเป็นชุดข้อความตอบกลับหรือไม่

attachments[]

object (ChatAttachmentMetadata)

ไฟล์แนบที่รวมอยู่ในข้อความ

reactionSummaries[]

object (ReactionSummary)

สรุปรีแอ็กชันด้วยอีโมจิที่รวมอยู่ในข้อความ

quotedMessageMetadata

object (QuotedMessageMetadata)

เอาต์พุตเท่านั้น ข้อมูลเกี่ยวกับข้อความต้นฉบับที่ยกมาหรือส่งต่อในข้อความนี้ หมายเหตุ: ช่องนี้อยู่ระหว่างการพัฒนาและอาจยังไม่พร้อมใช้งานในบางสภาพแวดล้อม

ผู้ใช้

การแสดง JSON
{
  "userId": string,
  "displayName": string,
  "email": string,
  "userType": enum (UserType)
}
ช่อง
userId

string

ชื่อทรัพยากรของผู้ใช้ Chat รูปแบบ: users/{user}

displayName

string

ชื่อที่แสดงของผู้ใช้ Chat

email

string

อีเมลของผู้ใช้ ระบบจะป้อนข้อมูลในช่องนี้เมื่อประเภทผู้ใช้เป็น HUMAN เท่านั้น

userType

enum (UserType)

ประเภทของผู้ใช้

ChatAttachmentMetadata

การแสดง JSON
{
  "attachmentId": string,
  "filename": string,
  "mimeType": string,
  "source": enum (Source),
  "driveFileId": string
}
ช่อง
attachmentId

string

ชื่อทรัพยากรของไฟล์แนบ รูปแบบ: spaces/{space}/messages/{message}/attachments/{attachment}

filename

string

ชื่อไฟล์แนบ

mimeType

string

ประเภทเนื้อหา (ประเภท MIME)

source

enum (Source)

แหล่งที่มาของไฟล์แนบ

driveFileId

string

เอาต์พุตเท่านั้น รหัสสำหรับไฟล์ Google ไดรฟ์ จะมีการป้อนข้อมูลเมื่อแหล่งที่มาเป็น DRIVE_FILE เท่านั้น ใช้กับ MCP ของ Google ไดรฟ์

ReactionSummary

การแสดง JSON
{
  "emoji": string,
  "count": integer
}
ช่อง
emoji

string

สตริง Unicode ของอีโมจิหรือชื่ออีโมจิที่กำหนดเอง

count

integer

จำนวนรีแอ็กชันทั้งหมดที่ใช้อีโมจิที่เกี่ยวข้อง

QuotedMessageMetadata

การแสดง JSON
{
  "messageId": string,
  "lastUpdateTime": string,
  "quoteType": enum (QuoteType),
  "plaintextBody": string,
  "sender": string,
  "attachments": [
    {
      object (ChatAttachmentMetadata)
    }
  ],
  "forwardedMetadata": {
    object (ForwardedMetadata)
  }
}
ช่อง
messageId

string

เอาต์พุตเท่านั้น ชื่อทรัพยากรของข้อความต้นฉบับที่มีการยกมาหรือส่งต่อ รูปแบบ: spaces/{space}/messages/{message}

lastUpdateTime

string

เอาต์พุตเท่านั้น การประทับเวลาเมื่อสร้างหรืออัปเดตข้อความต้นฉบับครั้งล่าสุดก่อนที่จะมีการยกมาหรือส่งต่อ รูปแบบ: การประทับเวลา ISO 8601

quoteType

enum (QuoteType)

เอาต์พุตเท่านั้น ประเภทของใบเสนอราคา

plaintextBody

string

เอาต์พุตเท่านั้น ภาพรวมของเนื้อหาข้อความต้นฉบับ ณ เวลาที่ยกมาหรือส่งต่อ จัดรูปแบบโดยใช้มาร์กดาวน์สำหรับ FORWARD และข้อความธรรมดาสำหรับ REPLY

sender

string

เอาต์พุตเท่านั้น ชื่อที่แสดงของผู้เขียนข้อความต้นฉบับ

attachments[]

object (ChatAttachmentMetadata)

เอาต์พุตเท่านั้น ไฟล์แนบที่เป็นส่วนหนึ่งของข้อความต้นฉบับ ป้อนข้อมูลสำหรับประเภทใบเสนอราคา FORWARD เท่านั้น

forwardedMetadata

object (ForwardedMetadata)

เอาต์พุตเท่านั้น ข้อมูลเมตาเกี่ยวกับการสนทนาต้นทางของข้อความที่ส่งต่อ ป้อนข้อมูลสำหรับประเภทใบเสนอราคา FORWARD เท่านั้น

ForwardedMetadata

การแสดง JSON
{
  "conversationId": string,
  "conversationDisplayName": string
}
ช่อง
conversationId

string

เอาต์พุตเท่านั้น ชื่อทรัพยากรของการสนทนาต้นทาง รูปแบบ: spaces/{space}

conversationDisplayName

string

เอาต์พุตเท่านั้น ชื่อที่แสดงของการสนทนาต้นทาง ณ เวลาที่ส่งต่อข้อความ สำหรับพื้นที่ทำงานที่มีชื่อ ค่าจะเป็นชื่อพื้นที่ทำงาน สำหรับข้อความส่วนตัวแบบ 1:1 จะเป็นชื่อของผู้เข้าร่วมอีกคน สำหรับแชทเป็นกลุ่มที่ไม่มีชื่อ ชื่อนี้จะเป็นชื่อที่สร้างขึ้นตามชื่อของสมาชิก

UserType

ประเภทของผู้ใช้ Google Chat

Enum
USER_TYPE_UNSPECIFIED ไม่ระบุ
HUMAN ผู้ใช้ที่เป็นมนุษย์
APP ผู้ใช้แอป

แหล่งที่มา

แหล่งที่มาของไฟล์แนบ

Enum
SOURCE_UNSPECIFIED Reserved.
DRIVE_FILE ไฟล์ดังกล่าวเป็นไฟล์ใน Google ไดรฟ์
UPLOADED_CONTENT ระบบจะอัปโหลดไฟล์ไปยัง Chat

QuoteType

ประเภทการยกข้อความที่ระบุว่าข้อความเป็นข้อความตอบกลับแบบยกข้อความหรือข้อความที่ส่งต่อ

Enum
QUOTE_TYPE_UNSPECIFIED Reserved. ประเภทใบเสนอราคาที่ไม่ได้กำหนด
REPLY ข้อความดังกล่าวเป็นการตอบกลับแบบยกข้อความต้นฉบับมาในชุดข้อความเดียวกัน
FORWARD ข้อความถูกส่งต่อจากข้อความต้นฉบับในการสนทนาอื่น หรือจากชุดข้อความอื่นในการสนทนาเดียวกัน

คำอธิบายประกอบเครื่องมือ

ระบบจะส่งคำอธิบายประกอบเครื่องมือไปยังไคลเอ็นต์ MCP เพื่ออธิบายความเสี่ยงพื้นฐานของเครื่องมือหนึ่งๆ ไคลเอ็นต์ส่วนใหญ่จะถือว่าคำแนะนำเหล่านี้ไม่น่าเชื่อถือ แต่สามารถใช้เพื่อตัดสินใจว่าจะส่งข้อความแจ้งยืนยันไปยังผู้ใช้เมื่อใด

นอกจากสตริงชื่อแล้ว ยังมีการกำหนดคำแนะนำบูลีนต่อไปนี้ด้วย

  • readOnlyHint: หากเป็นจริง เครื่องมือจะไม่แก้ไขสภาพแวดล้อมของตนเอง ค่าเริ่มต้น: false
  • destructiveHint: หากเป็น "จริง" เครื่องมือจะดำเนินการที่ทำลายล้างได้ หากเป็นเท็จ เครื่องมือจะดำเนินการได้เฉพาะการดำเนินการแบบเพิ่มเท่านั้น ค่าเริ่มต้น: true
  • idempotentHint: หากเป็นจริง การเรียกใช้เครื่องมือซ้ำๆ ด้วยอาร์กิวเมนต์เดียวกันจะไม่มีผลเพิ่มเติมต่อสภาพแวดล้อม ค่าเริ่มต้น: false
  • openWorldHint: หากเป็นจริง เครื่องมือจะโต้ตอบกับ "โอเพนเวิลด์" ของเอนทิตีภายนอกได้ หากเป็นเท็จ เครื่องมือจะโต้ตอบได้เฉพาะกับเอนทิตีภายในเท่านั้น ตัวอย่างเช่น เครื่องมือค้นเว็บจะเป็นแบบโอเพนเวิลด์ ส่วนเครื่องมือความทรงจำจะไม่ใช่แบบโอเพนเวิลด์

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

ขอบเขตการให้สิทธิ์

ต้องใช้ขอบเขต OAuth อย่างใดอย่างหนึ่งต่อไปนี้

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