MCP Reference: drivemcp.googleapis.com

这是由 Drive API 提供的 MCP 服务器。该服务器为开发者提供了在 Google 云端硬盘上构建 LLM 应用的工具。

Model Context Protocol (MCP) 服务器充当外部服务(为大语言模型 [LLM] 或 AI 应用提供上下文、数据或功能)与 LLM 或 AI 应用之间的代理。MCP 服务器将 AI 应用连接到数据库和 Web 服务等外部系统,并将这些系统的响应转换为 AI 应用可理解的格式。

服务器设置

您必须先配置 Drive MCP 服务器,然后才能使用。如需详细了解如何使用 Google 和 Google Cloud 远程 MCP 服务器,请参阅 Google Cloud MCP 服务器概览

服务器端点

MCP 服务端点是 MCP 服务器的网络地址和通信接口(通常是网址),AI 应用(MCP 客户端的宿主)使用该端点来建立安全、标准化的连接。它是 LLM 请求上下文、调用工具或访问资源的交互点。Google MCP 端点可以是全球性的,也可以是区域性的。

Drive API MCP 服务器具有以下全局 MCP 端点:

  • https://drivemcp.googleapis.com/mcp/v1

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

调用此工具以获取 Google 云端硬盘文件的自然语言表示形式。

对于非常大的文件,文件内容可能不完整。文本表示形式会随时间变化,因此请勿对该工具返回的文本的特定格式做出假设。

支持的 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 格式,默认时区为 UTC,例如 2012-06-04T12:00:00-08:00。类型为 date 的字段不可比较。
viewedByMeTime <=<=!=>>= 用户上次查看文件的日期。RFC 3339 格式,默认时区为 UTC,例如 2012-06-04T12:00:00-08:00。类型为 date 的字段不可比较。
parentId =!= 父级是否等于指定 ID。root 可用于指定用户的“我的云端硬盘”,该云端硬盘充当用户的主要层次结构。
owner =!= 文件所有者。me 可用于指定发出请求的用户。
sharedWithMe =!= 用户“与我共享”集合中的文件。所有文件用户都在文件的访问控制列表 (ACL) 中。可以是 truefalse
createdTime <=<=!=>>= 文件的创建日期。使用 RFC 3339 格式,默认时区为 UTC,例如 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/v1' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'