Инструмент: search_files
Воспользуйтесь этим инструментом для поиска файлов в Google Диске по заданному структурированному запросу.
В поле 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 | = , != | Указывает, совпадает ли родительский элемент с указанным идентификатором. root может использоваться для указания папки «Мой диск» пользователя, которая функционирует как основная иерархия. |
owner | = , != | Пользователь, которому принадлежит файл. me может использоваться для указания пользователя, отправляющего запрос. |
sharedWithMe | = , != | Файлы, находящиеся в коллекции «Общие со мной» пользователя. Все пользователи файла включены в список контроля доступа (ACL) этого файла. Может принимать значения true или false . |
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 для вызова инструмента MCP search_files .
| Запрос 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 | Поисковый запрос. |
Поле объединения | |
pageToken | Токен страницы, используемый для пагинации. |
Объединенное поле | |
pageSize | Максимальное количество файлов, которое должно быть отображено на каждой странице. |
Объединенное поле | |
excludeContentSnippets | Если это так, фрагмент контента будет исключен из ответа. |
Схема вывода
Ответы на поисковые файлы.
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 } |
| Поля | |
|---|---|
id | Идентификатор полученного файла. |
title | Название файла. |
parentId | Идентификатор (необязательный) родительского файла. |
Объединенное поле | |
mimeType | MIME-тип файла. |
Объединенное поле | |
fileSize | Размер файла в байтах. |
Поле объединения | |
description | Описание файла. |
Объединенное поле | |
fileExtension | Исходное расширение файла; это поле заполняется только для файлов, содержимое которых хранится в Google Диске. |
Объединенное поле | |
contentSnippet | Сгенерированный фрагмент текста о содержимом файла. |
Объединенное поле | |
viewUrl | URL-адрес для просмотра файла. |
Поле объединения | |
sharedWithMeTime | Время, когда файл был передан запрашивающему лицу. Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: |
Поле объединения | |
createdTime | Время создания файла. Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: |
Поле объединения | |
modifiedTime | Последнее время, когда файл был изменен. Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: |
Объединенное поле | |
viewedByMeTime | Последнее время просмотра файла пользователем, отправившим запрос. Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: |
| |
owner | Адрес электронной почты владельца файла. |
Отметка времени
| 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 включительно. |
Аннотации инструментов
Подсказка о разрушительном эффекте: ❌ | Подсказка об идемпотентности: ✅ | Подсказка только для чтения: ✅ | Подсказка об открытом мире: ❌