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 Request
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 tool MCP 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 เพื่อดึงข้อมูลหน้าถัดไปได้ หากไม่ระบุช่องนี้ แสดงว่าไม่มีหน้าถัดไป

การสนทนา

การแสดง 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 ตั้งแต่ Epoch ของ Unix 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