MCP Reference: drivemcp.googleapis.com

Máy chủ Giao thức ngữ cảnh mô hình (MCP) hoạt động như một proxy giữa một dịch vụ bên ngoài cung cấp ngữ cảnh, dữ liệu hoặc các chức năng cho Mô hình ngôn ngữ lớn (LLM) hoặc ứng dụng AI. Máy chủ MCP kết nối các ứng dụng AI với các hệ thống bên ngoài như cơ sở dữ liệu và dịch vụ web, dịch các phản hồi của chúng sang định dạng mà ứng dụng AI có thể hiểu được.

Công cụ MCP

Công cụ MCP là một hàm hoặc chức năng có thể thực thi mà máy chủ MCP hiển thị cho LLM hoặc ứng dụng AI để thực hiện một hành động trong thế giới thực.

Máy chủ MCP drivemcp.googleapis.com có các công cụ sau:

Công cụ MCP
create_file

Gọi công cụ này để tạo hoặc tải Tệp lên Google Drive.

Nếu tải tệp lên, nội dung cần được mã hoá base64 vào trường content bất kể loại MIME của tệp đang tải lên.

Trả về một đối tượng Tệp duy nhất khi tạo thành công.

Bạn có thể tạo các loại MIME của bên thứ nhất sau đây của Google Drive mà không cần cung cấp nội dung:

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

Theo mặc định, các chuyển đổi sau đây sẽ được thực hiện cho các loại MIME sau:

  • text/plain thành application/vnd.google-apps.document
  • text/csv thành application/vnd.google-apps.spreadsheet

Để tắt tính năng chuyển đổi cho các loại MIME của bên thứ nhất, hãy đặt disable_conversion_to_google_type thành true.

Bạn có thể tạo thư mục bằng cách đặt loại MIME thành application/vnd.google-apps.folder.

download_file_content

Gọi công cụ này để tải nội dung của tệp Drive xuống dưới dạng dữ liệu nhị phân thô (byte).

Nếu tệp là loại MIME của bên thứ nhất của Google Drive, thì bạn phải có trường exportMimeType và trường này sẽ xác định định dạng của tệp đã tải xuống.

Nếu không tìm thấy tệp, hãy thử sử dụng các công cụ khác như search_files để tìm tệp mà người dùng đang yêu cầu.

Nếu người dùng muốn có bản trình bày bằng ngôn ngữ tự nhiên về nội dung trên Drive, hãy sử dụng công cụ read_file_content (read_file_content phải nhỏ hơn và dễ phân tích cú pháp hơn).

get_file_metadata

Gọi công cụ này để tìm siêu dữ liệu chung về tệp Drive của người dùng.

Nếu không tìm thấy tệp, hãy thử sử dụng các công cụ khác như search_files để tìm tệp mà người dùng đang yêu cầu.

get_file_permissions Gọi công cụ này để liệt kê các quyền của Tệp Drive.
list_recent_files

Gọi công cụ này để tìm các tệp gần đây cho một người dùng đã chỉ định thứ tự sắp xếp. Thứ tự sắp xếp mặc định là recency.

Các thứ tự sắp xếp được hỗ trợ là:

  • recency: Dấu thời gian gần đây nhất từ các trường ngày giờ của tệp.
  • lastModified: Lần gần đây nhất bất kỳ ai sửa đổi tệp.
  • lastModifiedByMe: Lần gần đây nhất người dùng sửa đổi tệp.

Kích thước trang mặc định là 10. Sử dụng next_page_token để phân trang qua các kết quả.

read_file_content

Gọi công cụ này để tìm nạp bản trình bày bằng ngôn ngữ tự nhiên của tệp Drive.

Nội dung tệp có thể không đầy đủ đối với các tệp rất lớn. Bản trình bày văn bản sẽ thay đổi theo thời gian, vì vậy, đừng đưa ra giả định về định dạng cụ thể của văn bản do công cụ này trả về.

Các loại MIME được hỗ trợ:

  • 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

Nếu không tìm thấy tệp, hãy thử sử dụng các công cụ khác như search_files để tìm tệp mà người dùng đang yêu cầu bằng từ khoá.

search_files

Gọi công cụ này để tìm kiếm tệp Drive theo truy vấn có cấu trúc.

Trường query yêu cầu sử dụng toán tử tìm kiếm truy vấn.

Một chuỗi truy vấn chứa 3 phần sau: query_term operator values trong đó:

  • query_term là cụm từ hoặc trường truy vấn để tìm kiếm.
  • operator chỉ định điều kiện cho cụm từ truy vấn.
  • values là các giá trị cụ thể để dùng lọc kết quả tìm kiếm.

Cụm từ tìm kiếm

Bảng sau đây liệt kê các cụm từ tìm kiếm hợp lệ cùng với nội dung mô tả:

Cụm từ tìm kiếm Toán tử hợp lệ Cách sử dụng
title contains, =, != Tiêu đề của tệp. Đặt trong dấu nháy đơn ('). Thoát dấu nháy đơn trong các truy vấn bằng \', chẳng hạn như 'Valentine\'s Day'.
fullText contains Cho biết title hoặc văn bản trong nội dung của tệp có khớp hay không. Đặt trong dấu nháy đơn ('). Thoát dấu nháy đơn trong các truy vấn bằng \', chẳng hạn như 'Valentine\'s Day'.
mimeType contains, =, != Loại MIME của tệp. Đặt trong dấu nháy đơn ('). Thoát dấu nháy đơn trong các truy vấn bằng \', chẳng hạn như 'Valentine\'s Day'.
modifiedTime <=, <, =, !=, >, >= Ngày sửa đổi tệp lần gần nhất. Định dạng RFC 3339, múi giờ mặc định là UTC, chẳng hạn như 2012-06-04T12:00:00-08:00. Không thể so sánh các trường thuộc loại date.
viewedByMeTime <=, <, =, !=, >, >= Ngày người dùng xem tệp lần gần nhất. Định dạng RFC 3339, múi giờ mặc định là UTC, chẳng hạn như 2012-06-04T12:00:00-08:00. Không thể so sánh các trường thuộc loại date.
parentId =, != Cho biết thư mục mẹ có bằng với mã nhận dạng đã chỉ định hay không. Bạn có thể sử dụng root để chỉ định "Drive của tôi" của người dùng, hoạt động như hệ thống phân cấp chính của họ.
owner =, != Người dùng sở hữu tệp. Bạn có thể sử dụng me để chỉ định người dùng đang đưa ra yêu cầu.
sharedWithMe =, != Các tệp nằm trong bộ sưu tập "Được chia sẻ với tôi" của người dùng. Tất cả người dùng tệp đều nằm trong Danh sách kiểm soát quyền truy cập (ACL) của tệp. Có thể là true hoặc false.
createdTime <=, <, =, !=, >, >= Ngày tạo tệp. Sử dụng định dạng RFC 3339, múi giờ mặc định là UTC, chẳng hạn như 2012-06-04T12:00:00-08:00.

Toán tử truy vấn

Bảng sau đây liệt kê các toán tử truy vấn hợp lệ:

Đơn vị tổ chức Cách sử dụng
contains Nội dung của một chuỗi có trong chuỗi kia.
= Nội dung của một chuỗi hoặc boolean bằng với chuỗi hoặc boolean kia.
!= Nội dung của một chuỗi hoặc boolean không bằng với chuỗi hoặc boolean kia.
< Một giá trị nhỏ hơn một giá trị khác.
<= Một giá trị nhỏ hơn hoặc bằng một giá trị khác.
> Một giá trị lớn hơn một giá trị khác.
>= Một giá trị lớn hơn hoặc bằng một giá trị khác.
in Một phần tử nằm trong một bộ sưu tập.
and Trả về các mục khớp với cả hai truy vấn.
or Trả về các mục khớp với một trong hai truy vấn.
not Phủ định một truy vấn tìm kiếm.
has Một bộ sưu tập chứa một phần tử khớp với các tham số.

Sau đây là một số ví dụ về truy vấn:

  • 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' (đối với các tệp do người dùng sở hữu)

Sử dụng next_page_token để phân trang qua các kết quả. Một phản hồi trống cho biết không có kết quả hoặc không còn kết quả nào để trả về.

Nhận thông số kỹ thuật của công cụ MCP

Để nhận thông số kỹ thuật của công cụ MCP cho tất cả các công cụ trong máy chủ MCP, hãy sử dụng phương thức tools/list. Ví dụ sau đây minh hoạ cách sử dụng curl để liệt kê tất cả các công cụ và thông số kỹ thuật hiện có trong máy chủ MCP.

Yêu cầu 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
}'