Ferramenta: create_file
Chame essa ferramenta para criar ou fazer upload de um arquivo para o Google Drive.
Se você estiver fazendo upload de conteúdo, prefira "text_content" para conteúdo de texto. Para conteúdos não UTF-8, use o campo "base64_content" e codifique os dados em base64 para definir esse campo.
Retorna um único objeto de arquivo após a criação.
Os seguintes tipos MIME primários do Google Drive podem ser criados sem fornecer conteúdo:
application/vnd.google-apps.documentapplication/vnd.google-apps.spreadsheetapplication/vnd.google-apps.presentation
Por padrão, as seguintes conversões serão feitas para os seguintes tipos MIME:
text/plainparaapplication/vnd.google-apps.documenttext/csvparaapplication/vnd.google-apps.spreadsheet
Para desativar as conversões de tipos MIME primários, defina disable_conversion_to_google_type como verdadeiro.
As pastas podem ser criadas definindo o tipo MIME como application/vnd.google-apps.folder.
Ao fazer upload de conteúdo, o campo content_mime_type é obrigatório e precisa corresponder ao tipo de conteúdo que está sendo enviado.
O exemplo a seguir demonstra como usar curl para invocar a ferramenta MCP create_file.
| Solicitação 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
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 USAR!! 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 de conteúdo precisa sempre ser codificado em base64, independentemente 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 esse campo e text_content. |
textContent |
Opcional. O conteúdo de texto (UTF-8) para upload. É um erro definir esse campo e base64_content. |
parentId |
O ID principal do arquivo. |
disableConversionToGoogleType |
Defina como verdadeiro 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 original do arquivo. 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 |
O horário 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 |
O horário 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 |
O horário 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 |
O horário mais recente em que o arquivo foi visualizado 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 |
Indica se o solicitante pode adicionar filhos a essa pasta. Esse valor é sempre falso para tipos que não são de pasta. |
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 (inclusive), 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. Precisa estar entre 0 e 999.999.999 (inclusive). |
Anotações de ferramentas
Dica destrutiva: ❌ | Dica idempotente: ❌ | Dica somente leitura: ❌ | Dica de mundo aberto: ✅