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.
Muestra un solo objeto File cuando se crea correctamente.
Los siguientes tipos MIME propios de Google Drive se pueden crear sin proporcionar contenido:
application/vnd.google-apps.documentapplication/vnd.google-apps.spreadsheetapplication/vnd.google-apps.presentation
De forma predeterminada, se realizarán las siguientes conversiones para los siguientes tipos MIME:
text/plainaapplication/vnd.google-apps.documenttext/csvaapplication/vnd.google-apps.spreadsheet
Para inhabilitar las conversiones de tipos MIME propios, establece disable_conversion_to_google_type en true.
Las carpetas se pueden crear si se establece el tipo MIME en application/vnd.google-apps.folder.
Cuando se sube contenido, el campo content_mime_type es obligatorio y debe coincidir con el tipo de contenido que se sube.
En el siguiente ejemplo, se muestra cómo usar curl para invocar la herramienta MCP create_file.
| Solicitud 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 }' |
Esquema de entrada
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 |
Es el título del archivo. |
mimeType |
OBSOLETO. NO USAR En su lugar, establece content_mime_type. |
contentMimeType |
Es el tipo MIME del contenido que se sube. Es obligatorio cuando se proporciona cualquier tipo de contenido. |
content |
Es el contenido del archivo codificado como base64. El campo de contenido siempre debe estar codificado en base64, independientemente del tipo MIME del archivo. OBSOLETO. En su lugar, usa base64_content o text_content. |
base64Content |
Es opcional. Es el contenido codificado en base64 que se subirá. Es un error establecer este campo y text_content. |
textContent |
Es opcional. Es el contenido de texto (UTF-8) que se subirá. Es un error establecer este campo y base64_content. |
parentId |
Es el ID superior del archivo. |
disableConversionToGoogleType |
Establécelo en true para conservar el tipo MIME de contenido que se pasó y no convertirlo a un tipo de Google. Por ejemplo, sin esto, un tipo MIME de contenido text/plain se convertirá en application/vnd.google-apps.document. No tiene ningún efecto en los tipos que no tienen un equivalente de Google. |
Esquema de salida
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 |
Es el ID del archivo que se recuperó. |
title |
Es el título del archivo. |
parentId |
Es el ID (opcional) del superior del archivo. |
Campo de unión
|
|
mimeType |
Es el tipo MIME del archivo. |
Campo de unión
|
|
fileSize |
Es el tamaño en bytes del archivo. |
Campo de unión
|
|
description |
Es la descripción del archivo. |
Campo de unión
|
|
fileExtension |
Es la extensión de archivo original del archivo. Solo se propaga para los archivos con contenido almacenado en Drive. |
Campo de unión
|
|
contentSnippet |
Es un fragmento generado sobre el contenido del archivo. |
Campo de unión
|
|
viewUrl |
Es la URL para ver el archivo. |
Campo de unión
|
|
sharedWithMeTime |
Es la hora en la 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: |
Campo de unión
|
|
createdTime |
Es la hora en la 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: |
Campo de unión
|
|
modifiedTime |
Es la 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: |
Campo de unión
|
|
viewedByMeTime |
Es la hora más reciente en la 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: |
Campo de unión
|
|
owner |
Es la dirección de correo electrónico del propietario del archivo. |
Campo de unión
|
|
canAddChildren |
Indica si el solicitante puede agregar elementos secundarios a esta carpeta. Esto siempre es falso para los tipos que no son de carpeta. |
Marca de tiempo
| Representación JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Representa los segundos de la hora UTC desde la época de Unix 1970-01-01T00:00:00Z. Debe estar entre -62135596800 y 253402300799 inclusive (que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z). |
nanos |
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 de 0 a 999,999,999 inclusive. |
Anotaciones de herramientas
Sugerencia destructiva: ❌ | Sugerencia idempotente: ❌ | Sugerencia de solo lectura: ❌ | Sugerencia de mundo abierto: ✅