工具:search_files
使用结构化查询(语法:query_term operator values)搜索云端硬盘文件。使用 and、or、not 和括号组合子句。字符串值必须用单引号引起来;嵌入的引号必须转义为 \'。
查询字词和运算符:
title(操作:包含、=、!=)- 文件标题fullText(操作:包含)- 标题或正文mimeType(运算符:contains、=、!=)- MIME 类型modifiedTime、viewedByMeTime、createdTime(操作:<=、<、=、!=、>、>=)。使用 RFC 3339 UTC,例如2012-06-04T12:00:00-08:00。日期类型不可比较。parentId(操作:=、!=)。使用'root'表示用户的“我的云端硬盘”。owner(运营人员:=、!=)。为请求用户使用'me'。sharedWithMe(操作:=、!=)。值:true或false。
其他运算符:and、or、not。
示例:
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 = trueowner = '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 |
搜索查询。 |
联合字段
|
|
pageToken |
用于分页的页面令牌。 |
联合字段
|
|
pageSize |
每页返回的最大文件数。 |
联合字段
|
|
excludeContentSnippets |
如果为 true,则内容摘要将从响应中排除。 |
输出架构
对搜索文件的响应。
SearchFilesResponse
| JSON 表示法 |
|---|
{
"files": [
{
object ( |
| 字段 | |
|---|---|
files[] |
仅限输出。文件列表。 |
联合字段
|
|
nextPageToken |
下一页面令牌。 |
文件
| 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 |
所提取文件的 ID。 |
title |
文件的标题。 |
parentId |
文件的父级(可选)的 ID。 |
联合字段
|
|
mimeType |
文件的 MIME 类型。 |
联合字段
|
|
fileSize |
文件的大小(以字节为单位)。 |
联合字段
|
|
description |
文件的说明。 |
联合字段
|
|
fileExtension |
文件的原始文件扩展名,仅针对内容存储在云端硬盘中的文件填充此字段。 |
联合字段
|
|
contentSnippet |
有关文件内容的生成的代码段。 |
联合字段
|
|
viewUrl |
用于查看文件的网址。 |
联合字段
|
|
sharedWithMeTime |
文件与请求者共享的时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不进行“Z”归一化处理的偏差时间也是可以接受的。示例: |
联合字段
|
|
createdTime |
文件的创建时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不进行“Z”归一化处理的偏差时间也是可以接受的。示例: |
联合字段
|
|
modifiedTime |
文件的最近修改时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不进行“Z”归一化处理的偏差时间也是可以接受的。示例: |
联合字段
|
|
viewedByMeTime |
请求者最近一次查看文件的时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不进行“Z”归一化处理的偏差时间也是可以接受的。示例: |
联合字段
|
|
owner |
文件所有者的电子邮件地址。 |
联合字段
|
|
canAddChildren |
请求者是否可以将子项添加到此文件夹。对于非文件夹类型,此值始终为 false。 |
时间戳
| JSON 表示法 |
|---|
{ "seconds": string, "nanos": integer } |
| 字段 | |
|---|---|
seconds |
表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值),对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z。 |
nanos |
秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代项。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。 |
工具注释
破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌