Инструмент: 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/plaintoapplication/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 | Название файла. |
mimeType | УСТАРЕВШАЯ ИНФОРМАЦИЯ. НЕ ИСПОЛЬЗОВАТЬ!! Вместо этого установите content_mime_type. |
contentMimeType | MIME-тип загружаемого контента. Обязательно, если предоставляется любой тип контента. |
content | Содержимое файла, закодированное в base64. Поле content всегда должно быть закодировано в base64 независимо от MIME-типа файла. УСТАРЕВШЕЕ РЕШЕНИЕ. Используйте base64_content или text_content вместо него. |
base64Content | Необязательно. Содержимое в кодировке base64 для загрузки. Установка этого параметра и параметра text_content приведет к ошибке. |
textContent | Необязательно. Текстовое содержимое (UTF-8) для загрузки. Установка этого параметра и параметра base64_content приведет к ошибке. |
parentId | Идентификатор родительского файла. |
disableConversionToGoogleType | Установите значение 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 | Идентификатор полученного файла. |
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 | Адрес электронной почты владельца файла. |
Поле объединения | |
canAddChildren | Указывает, может ли запрашивающий добавлять дочерние элементы в эту папку. Для элементов, не являющихся папками, этот параметр всегда имеет значение false. |
Отметка времени
| 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 включительно. |
Аннотации инструментов
Подсказка о разрушительном эффекте: ❌ | Подсказка об идемпотентности: ❌ | Подсказка только для чтения: ❌ | Подсказка об открытом мире: ✅