MCP Reference: drivemcp.googleapis.com

Model Context Protocol (MCP) 伺服器可做為代理伺服器,在外部服務與大型語言模型 (LLM) 或 AI 應用程式之間傳輸脈絡、資料或功能。MCP 伺服器可將 AI 應用程式連結至資料庫和 Web 服務等外部系統,並將系統回覆轉換成 AI 應用程式可理解的格式。

MCP 工具

MCP 工具是 MCP 伺服器向 LLM 或 AI 應用程式公開的函式或可執行功能,可在現實世界中執行動作。

drivemcp.googleapis.com MCP 伺服器提供下列工具:

MCP 工具
create_file

呼叫這項工具,在 Google 雲端硬碟中建立或上傳檔案。

如果上傳檔案,無論檔案的 MIME 類型為何,內容都必須以 base64 編碼至 content 欄位。

成功建立後,會傳回單一 File 物件。

您可以在不提供內容的情況下建立下列 Google 雲端硬碟第一方 MIME 類型:

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

根據預設,系統會針對下列 MIME 類型進行下列轉換:

  • text/plainapplication/vnd.google-apps.document
  • text/csvapplication/vnd.google-apps.spreadsheet

如要停用第一方 MIME 類型的轉換,請將 disable_conversion_to_google_type 設為 true。

如要建立資料夾,請將 MIME 類型設為 application/vnd.google-apps.folder

download_file_content

呼叫這項工具,將雲端硬碟檔案的內容下載為原始二進位資料 (位元組)。

如果檔案是 Google 雲端硬碟的第一方 MIME 類型,則必須填寫 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」欄位必須使用查詢搜尋運算子。

查詢字串包含以下三個部分: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 格式,預設時區為世界標準時間,例如 2012-06-04T12:00:00-08:00。系統無法比較 date 類型的欄位。
viewedByMeTime <=<=!=>>= 使用者上次查看檔案的日期。RFC 3339 格式,預設時區為世界標準時間,例如 2012-06-04T12:00:00-08:00。系統無法比較 date 類型的欄位。
parentId =!= 父項是否等於指定的 ID。root 可用來指定使用者的「我的雲端硬碟」,做為主要階層。
owner =!= 擁有該檔案的使用者。me 可用於指定提出要求的使用者。
sharedWithMe =!= 使用者「與我共用」集合中的檔案。所有檔案使用者都會列在檔案的存取控制清單 (ACL) 中。可以是 truefalse
createdTime <=<=!=>>= 檔案建立日期。請使用 RFC 3339 格式,預設時區為世界標準時間,例如 2012-06-04T12:00:00-08:00

查詢運算子

下表列出有效的查詢運算子:

運算子 使用方式
contains 一個字串的內容出現在另一個字串中。
= 字串或布林值的內容與另一個字串或布林值相同。
!= 字串或布林值的內容不相等。
< 一個值小於另一個值。
<= 一個值小於或等於另一個值。
> 某個值大於另一個值。
>= 一個值大於或等於另一個值。
in 元素包含在集合中。
and 傳回符合兩項查詢的項目。
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
}'