MCP Tools Reference: drivemcp.googleapis.com

Инструмент: search_files

Поиск файлов на Google Диске с использованием структурированного запроса (синтаксис: query_term operator values ). Объединяйте предложения с помощью операторов and , or , not и скобок. Строковые значения должны быть заключены в одинарные кавычки; экранируйте встроенные кавычки как \' .

Ключевые слова и операторы запроса:

  • title (операции: содержит, =, !=) — заголовок файла
  • fullText (options: contains) — заголовок или основной текст
  • mimeType (options: contains, =, !=) — MIME-тип
  • modifiedTime , viewedByMeTime , createdTime (операции: <= , < , = , != , > , >= ). Используйте RFC 3339 UTC, например, 2012-06-04T12:00:00-08:00 . Типы дат несопоставимы.
  • parentId (ops: = , != ). Используйте 'root' для "Моего диска" пользователя.
  • owner (ops: = , != ). Используйте 'me' для обозначения пользователя, отправившего запрос.
  • sharedWithMe (ops: = , != ). Значения: 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 = true
  • owner = 'me' (для файлов, принадлежащих пользователю)

Use next_page_token to paginate. An empty response means no more results.

В следующем примере показано, как использовать curl для вызова инструмента MCP search_files .

Запрос 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

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

Схема вывода

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

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

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

title

string

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

parentId

string

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

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

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

mimeType

string

MIME-тип файла.

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

_file_size can be only one of the following:

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 can be only one of the following:

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

Адрес электронной почты владельца файла.

Поле объединения _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 включительно.

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

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