MCP Tools Reference: drivemcp.googleapis.com

工具: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 对结果进行分页。空响应表示没有结果或没有更多结果可返回。

以下示例演示了如何使用 curl 调用 search_files MCP 工具。

Curl 请求
curl --location 'https://drivemcp.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "search_files",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

输入架构

搜索文件的请求。

SearchFilesRequest

JSON 表示法
{
  "query": string,

  "pageToken": string

  "pageSize": integer

  "excludeContentSnippets": boolean
}
字段
query

string

搜索查询。

联合字段 _page_token

_page_token 只能是下列其中一项:

pageToken

string

用于分页的页面令牌。

联合字段 _page_size

_page_size 只能是下列其中一项:

pageSize

integer

每页返回的最大文件数。

联合字段 _exclude_content_snippets

_exclude_content_snippets 只能是下列其中一项:

excludeContentSnippets

boolean

如果为 true,则响应中将排除内容摘要。

输出架构

搜索文件的响应。

SearchFilesResponse

JSON 表示法
{
  "files": [
    {
      object (File)
    }
  ],

  "nextPageToken": string
}
字段
files[]

object (File)

仅限输出。文件列表。

联合字段 _next_page_token

_next_page_token 只能是下列其中一项:

nextPageToken

string

下一页令牌。

文件

JSON 表示法
{
  "id": string,
  "title": string,
  "parentId": string,

  "mimeType": string

  "fileSize": string

  "description": string

  "fileExtension": string

  "contentSnippet": string

  "viewUrl": string

  "sharedWithMeTime": string

  "createdTime": string

  "modifiedTime": string

  "viewedByMeTime": string

  "owner": string
}
字段
id

string

所提取文件的 ID。

title

string

文件的标题。

parentId

string

文件的父级的(可选)ID。

联合字段 _mime_type

_mime_type 只能是下列其中一项:

mimeType

string

文件的 MIME 类型。

联合字段 _file_size

_file_size 只能是下列其中一项:

fileSize

string (int64 format)

文件的大小(以字节为单位)。

联合字段 _description

_description 只能是下列其中一项:

description

string

文件的说明。

联合字段 _file_extension

_file_extension 只能是下列其中一项:

fileExtension

string

文件的原始文件扩展名,仅针对内容存储在云端硬盘中的文件填充此字段。

联合字段 _content_snippet

_content_snippet 只能是下列其中一项:

contentSnippet

string

有关文件内容的生成摘要。

联合字段 _view_url

_view_url 只能是下列其中一项:

viewUrl

string

用于查看文件的网址。

联合字段 _shared_with_me_time

_shared_with_me_time 只能是下列其中一项:

sharedWithMeTime

string (Timestamp format)

与请求者共享文件的时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不进行“Z”归一化处理的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

联合字段 _created_time

_created_time 只能是下列其中一项:

createdTime

string (Timestamp format)

文件创建时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不进行“Z”归一化处理的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

联合字段 _modified_time

_modified_time 只能是下列其中一项:

modifiedTime

string (Timestamp format)

文件最近一次修改的时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不进行“Z”归一化处理的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

联合字段 _viewed_by_me_time

_viewed_by_me_time 只能是下列其中一项:

viewedByMeTime

string (Timestamp format)

请求者最近一次查看文件的时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不进行“Z”归一化处理的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

联合字段 _owner

_owner 只能是下列其中一项:

owner

string

文件所有者的电子邮件地址。

时间戳

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
字段
seconds

string (int64 format)

表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 和 253402300799 之间(含边界值),对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z。

nanos

integer

秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代值。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须介于 0 和 999,999,999 之间(含边界值)。

工具注释

破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌