MCP Tools Reference: drivemcp.googleapis.com

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

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

При загрузке контента отдавайте предпочтение полю "text_content" для текстового содержимого. Для контента, не в формате UTF8, используйте поле "base64_content" и закодируйте данные в base64, чтобы задать их в этом поле.

Возвращает один объект 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 .

При загрузке контента поле content_mime_type является обязательным и должно соответствовать типу загружаемого контента.

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

Запрос 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": "create_file",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Схема ввода

Запрос на загрузку файла.

CreateFileRequest

JSON-представление
{
  "title": string,
  "mimeType": string,
  "contentMimeType": string,
  "content": string,
  "base64Content": string,
  "textContent": string,
  "parentId": string,
  "disableConversionToGoogleType": boolean
}
Поля
title

string

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

mimeType

string

УСТАРЕВШАЯ ИНФОРМАЦИЯ. НЕ ИСПОЛЬЗОВАТЬ!! Вместо этого установите content_mime_type.

contentMimeType

string

MIME-тип загружаемого контента. Обязательно, если предоставляется любой тип контента.

content

string

Содержимое файла, закодированное в base64. Поле content всегда должно быть закодировано в base64 независимо от MIME-типа файла. УСТАРЕВШЕЕ РЕШЕНИЕ. Используйте base64_content или text_content вместо него.

base64Content

string

Необязательно. Содержимое в кодировке base64 для загрузки. Установка этого параметра и параметра text_content приведет к ошибке.

textContent

string

Необязательно. Текстовое содержимое (UTF-8) для загрузки. Установка этого параметра и параметра base64_content приведет к ошибке.

parentId

string

Идентификатор родительского файла.

disableConversionToGoogleType

boolean

Установите значение true, чтобы сохранить переданный MIME-тип содержимого и не преобразовывать его в тип Google. Например, без этого MIME-тип содержимого text/plain будет преобразован в application/vnd.google-apps.document. Не оказывает никакого эффекта на типы, не имеющие эквивалента в Google.

Схема вывода

Файловый ресурс.

Файл

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 может принимать только одно из следующих значений:

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

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

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

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

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