MCP Reference: drivemcp.googleapis.com

Сервер протокола контекста модели (MCP) выступает в качестве прокси-сервера между внешним сервисом, предоставляющим контекст, данные или возможности для приложения, использующего большие языковые модели (LLM) или искусственного интеллекта. Серверы MCP соединяют приложения ИИ с внешними системами, такими как базы данных и веб-сервисы, преобразуя их ответы в формат, понятный приложению ИИ.

Инструменты MCP

Инструмент MCP — это функция или исполняемый файл, который сервер MCP предоставляет приложению LLM или AI для выполнения действий в реальном мире.

Сервер MCP drivemcp.googleapis.com располагает следующими инструментами:

Инструменты MCP
создать_файл

Воспользуйтесь этим инструментом, чтобы создать или загрузить файл в Google Диск.

При загрузке файла его содержимое необходимо закодировать в формате Base64 в поле content , независимо от MIME-типа загружаемого файла.

Возвращает один объект File после успешного создания.

Следующие собственные MIME-типы Google Drive можно создать без указания содержимого:

  • application/vnd.google-apps.document
  • application/vnd.google-apps.spreadsheet
  • application/vnd.google-apps.presentation

По умолчанию для следующих MIME-типов будут выполнены следующие преобразования:

  • text/plain to application/vnd.google-apps.document
  • text/csv в application/vnd.google-apps.spreadsheet

Чтобы отключить преобразование MIME-типов, установленных сторонними сервисами, установите disable_conversion_to_google_type в значение true.

Папки можно создавать, установив MIME-тип на application/vnd.google-apps.folder .

download_file_content

Воспользуйтесь этим инструментом, чтобы загрузить содержимое файла в Google Диска в виде необработанных двоичных данных (байтов).

Если файл имеет собственный MIME-тип Google Drive, поле exportMimeType является обязательным и определяет формат загружаемого файла.

Если файл не найден, попробуйте использовать другие инструменты, например search_files чтобы найти запрашиваемый пользователем файл.

Если пользователю требуется представление содержимого его Google Диска на естественном языке, используйте инструмент read_file_content ( read_file_content должен быть меньше по размеру и проще для анализа).

get_file_metadata

Воспользуйтесь этим инструментом, чтобы получить общие метаданные о файле пользователя в Google Диске.

Если файл не найден, попробуйте использовать другие инструменты, например search_files чтобы найти запрашиваемый пользователем файл.

get_file_permissions Воспользуйтесь этим инструментом, чтобы просмотреть права доступа к файлу на Google Диска.
список_недавних_файлов

Воспользуйтесь этим инструментом, чтобы найти недавно использованные файлы для пользователя, указав порядок сортировки. Порядок сортировки по умолчанию — recency .

Поддерживаются следующие порядки сортировки:

  • recency : Самая последняя метка времени из полей даты и времени файла.
  • lastModified : Дата последнего изменения файла кем-либо.
  • lastModifiedByMe : Время последнего изменения файла пользователем.

Размер страницы по умолчанию — 10. Используйте next_page_token для постраничной навигации по результатам.

read_file_content

Воспользуйтесь этим инструментом, чтобы получить представление файла Google Диска на естественном языке.

Содержимое файла может быть неполным для очень больших файлов. Текстовое представление будет меняться со временем, поэтому не следует делать предположений о конкретном формате текста, возвращаемого этим инструментом.

Поддерживаемые MIME-типы:

  • application/vnd.google-apps.document
  • application/vnd.google-apps.presentation
  • application/vnd.google-apps.spreadsheet
  • application/pdf
  • application/msword
  • application/vnd.openxmlformats-officedocument.wordprocessingml.document
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • application/vnd.openxmlformats-officedocument.presentationml.presentation
  • application/vnd.oasis.opendocument.spreadsheet
  • application/vnd.oasis.opendocument.presentation
  • application/x-vnd.oasis.opendocument.text
  • image/png
  • image/jpeg
  • image/jpg

Если файл не найден, попробуйте использовать другие инструменты, например 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 для постраничной навигации по результатам. Пустой ответ означает, что результатов нет или больше нет результатов для возврата.

Получить технические характеристики инструмента MCP

Чтобы получить спецификации всех инструментов MCP на сервере MCP, используйте метод tools/list . В следующем примере показано, как использовать curl для вывода списка всех инструментов и их спецификаций, доступных в данный момент на сервере MCP.

Запрос Curl
curl --location 'https://drivemcp.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'