MCP Tools Reference: drivemcp.googleapis.com

Herramienta: create_file

Llama a esta herramienta para crear o subir un archivo a Google Drive.

Si subes contenido, prefiere "text_content" para el contenido de texto. Para el contenido que no sea UTF-8, usa el campo "base64_content" y codifica los datos en Base64 para establecerlos en ese campo.

Devuelve un solo objeto File cuando se crea correctamente.

Se pueden crear los siguientes tipos MIME de origen de Google sin proporcionar contenido:

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

Para crear carpetas, establece el tipo MIME en application/vnd.google-apps.folder.

Cuando subas contenido, el campo content_mime_type es obligatorio y debe coincidir con el tipo de contenido que se sube.

De forma predeterminada, el contenido compatible se convertirá a los tipos de MIME de origen de Google.

Para inhabilitar las conversiones de tipos de MIME propios, establece disable_conversion_to_google_type como verdadero.

En el siguiente ejemplo, se muestra cómo usar curl para invocar la herramienta de MCP create_file.

Solicitud de Curl
curl --location 'https://drivemcp.googleapis.com/mcp/v1' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--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
}'
                

Esquema de entrada

Es una solicitud para subir un archivo.

CreateFileRequest

Representación JSON
{
  "title": string,
  "mimeType": string,
  "contentMimeType": string,
  "content": string,
  "base64Content": string,
  "textContent": string,
  "parentId": string,
  "disableConversionToGoogleType": boolean
}
Campos
title

string

Es el título del archivo.

mimeType

string

OBSOLETO. NO USAR En su lugar, establece content_mime_type.

contentMimeType

string

Es el tipo de MIME del contenido que se sube. Se requiere cuando se proporciona cualquier tipo de contenido.

content

string

Contenido del archivo codificado como base64. El campo de contenido siempre debe estar codificado en base64, independientemente del tipo de MIME del archivo. OBSOLETO. En su lugar, usa base64_content o text_content.

base64Content

string

Opcional. Es el contenido codificado en Base64 que se subirá. Es un error establecer este parámetro y text_content.

textContent

string

Opcional. Es el contenido de texto (UTF-8) que se subirá. Es un error establecer este campo y base64_content.

parentId

string

Es el ID del archivo principal.

disableConversionToGoogleType

boolean

Se establece en verdadero para conservar el tipo de MIME del contenido que se pasó y no convertirlo en un tipo de Google. Por ejemplo, sin esto, un tipo de MIME de contenido text/plain se convertirá en un application/vnd.google-apps.document. No tiene efecto en los tipos que no tienen un equivalente de Google.

Esquema de salida

Es un recurso de archivo.

Archivo

Representación 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
}
Campos
id

string

Es el ID del archivo que se recuperó.

title

string

Es el título del archivo.

parentId

string

Es el ID (opcional) del elemento superior del archivo.

Campo de unión _mime_type.

_mime_type puede ser una de las siguientes opciones:

mimeType

string

Es el tipo MIME del archivo.

Campo de unión _file_size.

_file_size puede ser una de las siguientes opciones:

fileSize

string (int64 format)

Tamaño del archivo en bytes.

Campo de unión _description.

_description puede ser una de las siguientes opciones:

description

string

Es la descripción del archivo.

Campo de unión _file_extension.

_file_extension puede ser una de las siguientes opciones:

fileExtension

string

Es la extensión original del archivo. Este campo solo se completa para los archivos con contenido almacenado en Drive.

Campo de unión _content_snippet.

_content_snippet puede ser una de las siguientes opciones:

contentSnippet

string

Es un fragmento generado sobre el contenido del archivo.

Campo de unión _view_url.

_view_url puede ser una de las siguientes opciones:

viewUrl

string

Es la URL para ver el archivo.

Campo de unión _shared_with_me_time.

_shared_with_me_time puede ser una de las siguientes opciones:

sharedWithMeTime

string (Timestamp format)

Fecha y hora en que se compartió el archivo con el solicitante.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

Campo de unión _created_time.

_created_time puede ser una de las siguientes opciones:

createdTime

string (Timestamp format)

Es la fecha y hora en que se creó el archivo.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

Campo de unión _modified_time.

_modified_time puede ser una de las siguientes opciones:

modifiedTime

string (Timestamp format)

Es la fecha y hora más reciente en la que se modificó el archivo.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

Campo de unión _viewed_by_me_time.

_viewed_by_me_time puede ser una de las siguientes opciones:

viewedByMeTime

string (Timestamp format)

Es la fecha y hora más recientes en que el solicitante vio el archivo.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

Campo de unión _owner.

_owner puede ser una de las siguientes opciones:

owner

string

Dirección de correo electrónico del propietario del archivo.

Campo de unión _can_add_children.

_can_add_children puede ser una de las siguientes opciones:

canAddChildren

boolean

Indica si el solicitante puede agregar elementos secundarios a esta carpeta. Siempre es falso para los tipos que no son carpetas.

Marca de tiempo

Representación JSON
{
  "seconds": string,
  "nanos": integer
}
Campos
seconds

string (int64 format)

Representa los segundos de la hora UTC desde la época de Unix 1970-01-01T00:00:00Z. Debe estar entre -62135596800 y 253402300799 inclusive (lo que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z).

nanos

integer

Fracciones no negativas de un segundo a una resolución de nanosegundos. Este campo es la parte de nanosegundos de la duración, no una alternativa a los segundos. Los valores de segundos negativos con fracciones deben tener valores nanos no negativos que se cuentan hacia adelante en el tiempo. Debe ser un valor entre 0 y 999,999,999, inclusive.

Anotaciones de herramientas

Sugerencia destructiva: ❌ | Sugerencia idempotente: ❌ | Sugerencia de solo lectura: ❌ | Sugerencia de mundo abierto: ✅

Alcances de la autorización

Se necesita uno de los siguientes alcances de OAuth:

  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.appdata
  • https://www.googleapis.com/auth/drive.file