Ferramenta: create_file
Chame essa ferramenta para criar ou fazer upload de um arquivo no Google Drive.
Se você estiver enviando conteúdo, prefira "text_content" para conteúdo de texto. Para conteúdo que não é UTF8, use o campo "base64_content" e codifique os dados em base64 para definir esse campo.
Retorna um único objeto "File" após a criação.
Os seguintes tipos MIME próprios do Google podem ser criados sem fornecer conteúdo:
application/vnd.google-apps.documentapplication/vnd.google-apps.spreadsheetapplication/vnd.google-apps.presentation
Para criar pastas, defina o tipo MIME como application/vnd.google-apps.folder.
Ao enviar conteúdo, o campo content_mime_type é obrigatório e precisa corresponder ao tipo de conteúdo que está sendo enviado.
Por padrão, o conteúdo compatível será convertido em tipos MIME próprios do Google.
Para desativar as conversões de tipos MIME primários, defina disable_conversion_to_google_type como "true".
O exemplo a seguir demonstra como usar curl para invocar a ferramenta create_file MCP.
| Solicitação 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
Solicitação para fazer upload de um arquivo.
CreateFileRequest
| Representação JSON |
|---|
{ "title": string, "mimeType": string, "contentMimeType": string, "content": string, "base64Content": string, "textContent": string, "parentId": string, "disableConversionToGoogleType": boolean } |
| Campos | |
|---|---|
title |
O título do arquivo. |
mimeType |
OBSOLETO. NÃO USE!! Defina content_mime_type. |
contentMimeType |
O tipo MIME do conteúdo que está sendo enviado. Obrigatório quando qualquer tipo de conteúdo é fornecido. |
content |
O conteúdo do arquivo codificado como base64. O campo "content" precisa sempre ser codificado em base64, independente do tipo MIME do arquivo. OBSOLETO. Use base64_content ou text_content. |
base64Content |
Opcional. O conteúdo codificado em base64 para upload. É um erro definir isso e text_content. |
textContent |
Opcional. O conteúdo de texto (UTF-8) a ser enviado. É um erro definir este campo e "base64_content". |
parentId |
O ID principal do arquivo. |
disableConversionToGoogleType |
Defina como "true" para manter o tipo MIME de conteúdo transmitido e não converter para um tipo do Google. Por exemplo, sem isso, um tipo MIME de conteúdo text/plain será convertido em application/vnd.google-apps.document. Não tem efeito para tipos que não têm um equivalente do Google. |
Esquema de saída
Um recurso de arquivo.
Arquivo
| Representação 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 |
O ID do arquivo buscado. |
title |
O título do arquivo. |
parentId |
O ID (opcional) do pai do arquivo. |
Campo de união
|
|
mimeType |
O tipo MIME do arquivo. |
Campo de união
|
|
fileSize |
O tamanho do arquivo em bytes. |
Campo de união
|
|
description |
A descrição do arquivo. |
Campo de união
|
|
fileExtension |
A extensão do arquivo original. Esse campo só é preenchido para arquivos com conteúdo armazenado no Drive. |
Campo de união
|
|
contentSnippet |
Snippet gerado sobre o conteúdo do arquivo. |
Campo de união
|
|
viewUrl |
O URL para visualizar o arquivo. |
Campo de união
|
|
sharedWithMeTime |
A hora em que o arquivo foi compartilhado com o solicitante. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
Campo de união
|
|
createdTime |
A hora em que o arquivo foi criado. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
Campo de união
|
|
modifiedTime |
A hora mais recente em que o arquivo foi modificado. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
Campo de união
|
|
viewedByMeTime |
A última vez em que o arquivo foi acessado pelo solicitante. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
Campo de união
|
|
owner |
O endereço de e-mail do proprietário do arquivo. |
Campo de união
|
|
canAddChildren |
Se o solicitante pode adicionar filhos a esta pasta. Isso é sempre falso para tipos que não são pastas. |
Carimbo de data/hora
| Representação JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Representa os segundos do horário UTC desde a época Unix 1970-01-01T00:00:00Z. Precisa estar entre -62135596800 e 253402300799 (o que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z). |
nanos |
Frações não negativas de um segundo com resolução de nanossegundos. Esse campo é a parte de nanossegundos da duração, não uma alternativa aos segundos. Os valores de segundos negativos com frações ainda precisam ter valores em nanossegundos não negativos que representam períodos posteriores. O valor precisa ser de 0 a 999.999.999 (inclusive). |
Anotações de ferramentas
Dica destrutiva: ❌ | Dica idempotente: ❌ | Dica somente leitura: ❌ | Dica de mundo aberto: ✅
Escopos de autorização
Requer um dos seguintes escopos do OAuth:
https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.appdatahttps://www.googleapis.com/auth/drive.file