MCP Tools Reference: chatmcp.googleapis.com

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

ค้นหาการสนทนาใน Google Chat (พื้นที่ทำงานที่มีชื่อ ข้อความส่วนตัว (DM) หรือแชทกลุ่ม) ตามชื่อที่แสดงหรือผู้เข้าร่วมเพื่อค้นหารหัสการสนทนา

เครื่องมือนี้จะค้นหาข้อมูลเมตาของการสนทนา ไม่ใช่เนื้อหาของข้อความ หากต้องการค้นหาภายในประวัติข้อความหรือค้นหาข้อความตามคีย์เวิร์ด/ผู้ส่ง/การประทับเวลา ให้ใช้ search_messages

หากระบุเพียง participants เครื่องมือนี้จะค้นหาข้อความส่วนตัวแบบ 1:1 (หากระบุผู้เข้าร่วม 1 คน) หรือแชทกลุ่ม (หากระบุผู้เข้าร่วมหลายคน) ที่มีผู้เข้าร่วมที่ระบุและผู้ใช้ที่โทร

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

หากระบุทั้ง participants และ query เครื่องมือนี้จะค้นหาการสนทนาตามผู้เข้าร่วม แล้วกรองตามชื่อที่แสดง

หากไม่ได้ระบุทั้ง participants และ query เครื่องมือนี้จะแสดงการสนทนาทั้งหมดที่ผู้ใช้ที่โทรเป็นสมาชิก

เครื่องมือนี้จะแสดงเฉพาะการสนทนาที่ผู้ใช้ที่โทรเป็นสมาชิกอยู่

แสดงผลรายการออบเจ็กต์การสนทนาที่มีรหัสการสนทนา (รูปแบบ: spaces/{space}) ชื่อที่แสดง และประเภทการสนทนา

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

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

คำขอ 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": "search_conversations",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

สคีมาอินพุต

SearchConversationsRequest

การแสดง JSON
{
  "spaceNameQuery": string,
  "pageSize": integer,
  "pageToken": string,
  "participants": [
    string
  ]
}
ฟิลด์
spaceNameQuery

string

ไม่บังคับ ข้อความที่จะค้นหาภายในชื่อที่แสดงของพื้นที่ทำงาน (การจับคู่สตริงย่อยที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)

pageSize

integer

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

pageToken

string

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

participants[]

string

ไม่บังคับ รายชื่ออีเมลของผู้เข้าร่วมเพื่อกรองการสนทนา โดยไม่รวมผู้โทร

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

การตอบกลับที่มีรายการการสนทนาที่ตรงกัน

SearchConversationsResponse

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

object (Conversation)

รายการออบเจ็กต์การสนทนาที่ตรงกับเกณฑ์การค้นหา การสนทนาแต่ละรายการจะมี conversation_id (รูปแบบ: spaces/{space}), display_name, conversation_type และ last_active_timestamp

nextPageToken

string

โทเค็นที่ส่งเป็น page_token เพื่อดึงข้อมูลหน้าถัดไปได้ หากละเว้นฟิลด์นี้ จะไม่มีหน้าถัดไป

จะป้อนข้อมูลก็ต่อเมื่อกรองคำขอตาม participants เท่านั้น

การสนทนา

การแสดง JSON
{
  "conversationId": string,
  "displayName": string,
  "conversationType": enum (ConversationType),
  "lastActiveTimestamp": string
}
ช่อง
conversationId

string

รหัสของการสนทนา (เช่น "spaces/AAAAAAAAA")

displayName

string

ชื่อที่แสดงของการสนทนา

conversationType

enum (ConversationType)

ประเภทการสนทนา (DIRECT_MESSAGE, GROUP_CHAT หรือ NAMED_SPACE)

lastActiveTimestamp

string (Timestamp format)

เวลาที่การสนทนาใช้งานล่าสุดในรูปแบบ ISO 8601

ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" หรือ "2014-10-02T15:01:23+05:30"

การประทับเวลา

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

string (int64 format)

แสดงวินาทีของเวลา UTC ตั้งแต่ Unix Epoch 1970-01-01T00:00:00Z ต้องอยู่ระหว่าง -62135596800 ถึง 253402300799 เท่านั้น (ซึ่งสอดคล้องกับ 0001-01-01T00:00:00Z ถึง 9999-12-31T23:59:59Z)

nanos

integer

เศษส่วนของวินาทีที่ไม่เป็นค่าลบที่ความละเอียดระดับนาโนวินาที ฟิลด์นี้คือส่วนของระยะเวลาในหน่วยนาโนวินาที ไม่ใช่หน่วยวินาที ค่าวินาทีที่เป็นลบซึ่งมีเศษส่วนยังคงต้องมีค่านาโนที่เป็นค่าบวกซึ่งนับไปข้างหน้าตามเวลา ต้องอยู่ระหว่าง 0 ถึง 999,999,999 เท่านั้น

ConversationType

กำหนดประเภทของการสนทนา

Enum
CONVERSATION_TYPE_UNSPECIFIED ไม่ระบุ
NAMED_SPACE พื้นที่ทำงานที่มีชื่อ
GROUP_CHAT แชทเป็นกลุ่มระหว่างบุคคลตั้งแต่ 3 คนขึ้นไป
DIRECT_MESSAGE ข้อความส่วนตัวระหว่างมนุษย์ 2 คน หรือระหว่างมนุษย์กับแอป Chat

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

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

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

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

คำใบ้ที่ทำลาย: ❌ | คำใบ้ที่ทำซ้ำได้: ✅ | คำใบ้แบบอ่านอย่างเดียว: ✅ | คำใบ้แบบโลกเปิด: ❌

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

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

  • https://www.googleapis.com/auth/chat.memberships.readonly
  • https://www.googleapis.com/auth/chat.spaces
  • https://www.googleapis.com/auth/chat.spaces.readonly