MCP Reference: drivemcp.googleapis.com

เซิร์ฟเวอร์ Model Context Protocol (MCP) ทำหน้าที่เป็นพร็อกซีระหว่างบริการภายนอกที่ให้บริบท ข้อมูล หรือความสามารถแก่โมเดลภาษาขนาดใหญ่ (LLM) หรือแอปพลิเคชัน AI เซิร์ฟเวอร์ MCP จะเชื่อมต่อแอปพลิเคชัน AI กับระบบภายนอก เช่น ฐานข้อมูลและบริการเว็บ โดยจะแปลคำตอบเป็นรูปแบบที่แอปพลิเคชัน AI เข้าใจได้

เครื่องมือ MCP

เครื่องมือ MCP คือฟังก์ชันหรือความสามารถที่เรียกใช้งานได้ซึ่งเซิร์ฟเวอร์ MCP แสดงต่อ LLM หรือแอปพลิเคชัน AI เพื่อดำเนินการในโลกแห่งความเป็นจริง

เซิร์ฟเวอร์ MCP ของ drivemcp.googleapis.com มีเครื่องมือต่อไปนี้

เครื่องมือ MCP
create_file

เรียกใช้เครื่องมือนี้เพื่อสร้างหรืออัปโหลดไฟล์ไปยัง Google ไดรฟ์

หากอัปโหลดไฟล์ เนื้อหาต้องได้รับการเข้ารหัส Base64 ลงในช่อง content โดยไม่คำนึงถึงประเภท MIME ของไฟล์ที่อัปโหลด

แสดงผลออบเจ็กต์ File รายการเดียวเมื่อสร้างสำเร็จ

คุณสร้าง Mime ประเภทบุคคลที่หนึ่งของ Google ไดรฟ์ต่อไปนี้ได้โดยไม่ต้องระบุเนื้อหา

  • application/vnd.google-apps.document
  • application/vnd.google-apps.spreadsheet
  • application/vnd.google-apps.presentation

โดยค่าเริ่มต้น ระบบจะแปลงไฟล์ประเภท MIME ต่อไปนี้

  • text/plain ถึง application/vnd.google-apps.document
  • text/csv ถึง application/vnd.google-apps.spreadsheet

หากต้องการปิดใช้ Conversion สำหรับประเภท MIME ของบุคคลที่หนึ่ง ให้ตั้งค่า disable_conversion_to_google_type เป็นจริง

คุณสร้างโฟลเดอร์ได้โดยตั้งค่าประเภท MIME เป็น application/vnd.google-apps.folder

download_file_content

เรียกใช้เครื่องมือนี้เพื่อดาวน์โหลดเนื้อหาของไฟล์ในไดรฟ์เป็นข้อมูลไบนารีดิบ (ไบต์)

หากไฟล์เป็นประเภท MIME ของบุคคลที่หนึ่งของ Google ไดรฟ์ คุณจะต้องระบุฟิลด์ exportMimeType และฟิลด์นี้จะเป็นตัวกำหนดรูปแบบของไฟล์ที่ดาวน์โหลด

หากไม่พบไฟล์ ให้ลองใช้เครื่องมืออื่นๆ เช่น search_files เพื่อค้นหาไฟล์ที่ผู้ใช้ขอ

หากผู้ใช้ต้องการการแสดงเนื้อหาในไดรฟ์ด้วยภาษาธรรมชาติ ให้ใช้read_file_contentเครื่องมือ (read_file_content ควรมีขนาดเล็กกว่าและแยกวิเคราะห์ได้ง่ายกว่า)

get_file_metadata

เรียกใช้เครื่องมือนี้เพื่อค้นหาข้อมูลเมตาทั่วไปเกี่ยวกับไฟล์ในไดรฟ์ของผู้ใช้

หากไม่พบไฟล์ ให้ลองใช้เครื่องมืออื่นๆ เช่น search_files เพื่อค้นหาไฟล์ที่ผู้ใช้ขอ

get_file_permissions เรียกใช้เครื่องมือนี้เพื่อแสดงรายการสิทธิ์ของไฟล์ในไดรฟ์
list_recent_files

เรียกใช้เครื่องมือนี้เพื่อค้นหาไฟล์ล่าสุดสำหรับผู้ใช้ที่ระบุลำดับการจัดเรียง ลำดับการจัดเรียงเริ่มต้นคือ recency

ลำดับการจัดเรียงที่รองรับมีดังนี้

  • recency: การประทับเวลาล่าสุดจากฟิลด์วันที่และเวลาของไฟล์
  • lastModified: ครั้งล่าสุดที่มีผู้แก้ไขไฟล์
  • lastModifiedByMe: เวลาล่าสุดที่ผู้ใช้แก้ไขไฟล์

ขนาดหน้าเริ่มต้นคือ 10 ใช้ next_page_token เพื่อแบ่งหน้าผลการค้นหา

read_file_content

เรียกใช้เครื่องมือนี้เพื่อดึงข้อมูลการแสดงไฟล์ในไดรฟ์ด้วยภาษาธรรมชาติ

เนื้อหาของไฟล์อาจไม่สมบูรณ์สำหรับไฟล์ที่มีขนาดใหญ่มาก การแสดงข้อความจะเปลี่ยนแปลงไปเรื่อยๆ ดังนั้นอย่าคาดเดารูปแบบเฉพาะของข้อความที่เครื่องมือนี้แสดง

ประเภท MIME ที่รองรับ

  • application/vnd.google-apps.document
  • application/vnd.google-apps.presentation
  • application/vnd.google-apps.spreadsheet
  • application/pdf
  • application/msword
  • application/vnd.openxmlformats-officedocument.wordprocessingml.document
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • application/vnd.openxmlformats-officedocument.presentationml.presentation
  • application/vnd.oasis.opendocument.spreadsheet
  • application/vnd.oasis.opendocument.presentation
  • application/x-vnd.oasis.opendocument.text
  • image/png
  • image/jpeg
  • image/jpg

หากไม่พบไฟล์ ให้ลองใช้เครื่องมืออื่นๆ เช่น search_files เพื่อค้นหาไฟล์ที่ผู้ใช้ขอโดยใช้คีย์เวิร์ด

search_files

เรียกใช้เครื่องมือนี้เพื่อค้นหาไฟล์ในไดรฟ์โดยใช้การค้นหาที่มีโครงสร้าง

ฟิลด์ query ต้องใช้โอเปอเรเตอร์การค้นหาคำค้นหา

สตริงการค้นหาประกอบด้วย 3 ส่วนต่อไปนี้ query_term operator values โดยที่

  • query_term คือคำค้นหาหรือฟิลด์ที่จะค้นหา
  • operator ระบุเงื่อนไขสำหรับคำค้นหา
  • values คือค่าที่เฉพาะเจาะจงซึ่งใช้กรองผลการค้นหา

คำค้นหา

ตารางต่อไปนี้แสดงคำค้นหาที่ถูกต้องพร้อมคำอธิบาย

คำค้นหา โอเปอเรเตอร์ที่ถูกต้อง การใช้งาน
title contains, =, != ชื่อไฟล์ ใส่เครื่องหมายคำพูดเดี่ยว (') คร่อม กำหนดเครื่องหมายคำพูดเดี่ยวในคำค้นหาเป็นอักขระหลีกด้วย \' เช่น 'Valentine\'s Day'
fullText contains title หรือข้อความในเนื้อหาของไฟล์ตรงกันหรือไม่ ใส่เครื่องหมายคำพูดเดี่ยว (') คร่อม กำหนดเครื่องหมายคำพูดเดี่ยวในคำค้นหาเป็นอักขระหลีกด้วย \' เช่น 'Valentine\'s Day'
mimeType contains, =, != ประเภท MIME ของไฟล์ ใส่เครื่องหมายคำพูดเดี่ยว (') คร่อม กำหนดเครื่องหมายคำพูดเดี่ยวในคำค้นหาเป็นอักขระหลีกด้วย \' เช่น 'Valentine\'s Day'
modifiedTime <= < = != > >= วันที่แก้ไขไฟล์ครั้งล่าสุด รูปแบบ RFC 3339 เขตเวลาเริ่มต้นคือ UTC เช่น 2012-06-04T12:00:00-08:00 เปรียบเทียบฟิลด์ประเภท date ไม่ได้
viewedByMeTime <= < = != > >= วันที่ผู้ใช้ดูไฟล์ครั้งล่าสุด รูปแบบ RFC 3339 เขตเวลาเริ่มต้นคือ UTC เช่น 2012-06-04T12:00:00-08:00 เปรียบเทียบฟิลด์ประเภท date ไม่ได้
parentId =, != ระบุว่ารายการระดับบนสุดเท่ากับรหัสที่ระบุหรือไม่ root สามารถใช้เพื่อระบุ "ไดรฟ์ของฉัน" ของผู้ใช้ซึ่งทำหน้าที่เป็นลำดับชั้นหลัก
owner =, != ผู้ใช้ที่เป็นเจ้าของไฟล์ me ใช้เพื่อระบุผู้ใช้ที่ส่งคำขอได้
sharedWithMe =, != ไฟล์ที่อยู่ในคอลเล็กชัน "แชร์กับฉัน" ของผู้ใช้ ผู้ใช้ไฟล์ทั้งหมดจะอยู่ในรายการควบคุมการเข้าถึง (ACL) ของไฟล์ สามารถเป็น true หรือ false ก็ได้
createdTime <= < = != > >= วันที่สร้างไฟล์ ใช้รูปแบบ RFC 3339 โดยเขตเวลาเริ่มต้นคือ UTC เช่น 2012-06-04T12:00:00-08:00

ตัวดำเนินการคำค้นหา

ตารางต่อไปนี้แสดงรายการตัวดำเนินการค้นหาที่ถูกต้อง

โอเปอเรเตอร์ การใช้งาน
contains เนื้อหาของสตริงหนึ่งมีอยู่ในอีกสตริงหนึ่ง
= เนื้อหาของสตริงหรือบูลีนเท่ากับอีกสตริงหรือบูลีนหนึ่ง
!= เนื้อหาของสตริงหรือบูลีนไม่เท่ากับอีกรายการ
< ค่าหนึ่งน้อยกว่าอีกค่าหนึ่ง
<= ค่าหนึ่งน้อยกว่าหรือเท่ากับอีกค่าหนึ่ง
> ค่าหนึ่งมากกว่าอีกค่าหนึ่ง
>= ค่าหนึ่งมากกว่าหรือเท่ากับอีกค่าหนึ่ง
in องค์ประกอบจะอยู่ในคอลเล็กชัน
and แสดงรายการที่ตรงกับทั้ง 2 คำค้นหา
or แสดงรายการที่ตรงกับคำค้นหาใดคำค้นหาหนึ่ง
not ปฏิเสธคำค้นหา
has คอลเล็กชันมีองค์ประกอบที่ตรงกับพารามิเตอร์

ตัวอย่างคำค้นหา ได้แก่

  • title contains 'hello' and title contains 'goodbye'
  • modifiedTime > '2024-01-01T00:00:00Z' and (mimeType contains 'image/' or mimeType contains 'video/')
  • parentId = '1234567'
  • fullText contains 'hello'
  • owner = 'test@example.org'
  • sharedWithMe = true
  • owner = 'me' (สำหรับไฟล์ที่ผู้ใช้เป็นเจ้าของ)

ใช้ next_page_token เพื่อแบ่งหน้าผลการค้นหา การตอบกลับที่ว่างเปล่าแสดงว่าไม่มีผลลัพธ์หรือไม่มีผลลัพธ์ที่จะแสดงอีก

ดูข้อกำหนดของเครื่องมือ MCP

หากต้องการดูข้อกำหนดของเครื่องมือ MCP สำหรับเครื่องมือทั้งหมดในเซิร์ฟเวอร์ MCP ให้ใช้วิธี tools/list ตัวอย่างต่อไปนี้แสดงวิธีใช้ curl เพื่อแสดงรายการเครื่องมือทั้งหมดและข้อกำหนดของเครื่องมือเหล่านั้นที่พร้อมใช้งานในเซิร์ฟเวอร์ MCP ในปัจจุบัน

คำขอ Curl
curl --location 'https://drivemcp.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'