MCP Tools Reference: drivemcp.googleapis.com

工具:search_files

使用结构化查询(语法:query_term operator values)搜索云端硬盘文件。使用 andornot 和括号组合子句。字符串值必须用单引号引起来;嵌入的引号必须转义为 \'

查询字词和运算符:

  • title(操作:包含、=、!=)- 文件标题
  • fullText(操作:包含)- 标题或正文
  • mimeType(运算符:contains、=、!=)- MIME 类型
  • modifiedTimeviewedByMeTimecreatedTime(操作:<=<=!=>>=)。使用 RFC 3339 UTC,例如 2012-06-04T12:00:00-08:00。日期类型不可比较。
  • parentId(操作:=!=)。使用 'root' 表示用户的“我的云端硬盘”。
  • owner(运营人员:=!=)。为请求用户使用 'me'
  • sharedWithMe(操作:=!=)。值:truefalse

其他运算符:andornot

示例:

  • 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/v1' \
--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's 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

  "canAddChildren": boolean
}
字段
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

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

联合字段 _can_add_children

_can_add_children 只能是下列其中一项:

canAddChildren

boolean

请求者是否可以将子项添加到此文件夹。对于非文件夹类型,此值始终为 false。

时间戳

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 之间(含边界值)。

工具注释

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