MCP Tools Reference: drivemcp.googleapis.com

Инструмент: 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

string

Поисковый запрос.

Поле объединения _page_token .

_page_token может принимать только одно из следующих значений:

pageToken

string

Токен страницы, используемый для пагинации.

Объединенное поле _page_size .

_page_size может принимать только одно из следующих значений:

pageSize

integer

Максимальное количество файлов, которое должно быть отображено на каждой странице.

Объединенное поле _exclude_content_snippets .

_exclude_content_snippets может принимать только одно из следующих значений:

excludeContentSnippets

boolean

Если это так, фрагмент контента будет исключен из ответа.

Схема вывода

Ответы на поисковые файлы.

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

Идентификатор полученного файла.

title

string

Название файла.

parentId

string

Идентификатор (необязательный) родительского файла.

Объединенное поле _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

Исходное расширение файла; это поле заполняется только для файлов, содержимое которых хранится в Google Диске.

Объединенное поле _content_snippet .

_content_snippet может принимать только одно из следующих значений:

contentSnippet

string

Сгенерированный фрагмент текста о содержимом файла.

Объединенное поле _view_url .

_view_url может принимать только одно из следующих значений:

viewUrl

string

URL-адрес для просмотра файла.

Поле объединения _shared_with_me_time .

_shared_with_me_time может принимать только одно из следующих значений:

sharedWithMeTime

string ( Timestamp format)

Время, когда файл был передан запрашивающему лицу.

Используется RFC 3339, согласно которому генерируемый вывод всегда будет 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-нормализован и будет содержать 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-нормализован и будет содержать 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-нормализован и будет содержать 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 включительно.

Аннотации инструментов

Подсказка о разрушительном эффекте: ❌ | Подсказка об идемпотентности: ✅ | Подсказка только для чтения: ✅ | Подсказка об открытом мире: ❌