Ferramenta: create_file
Chame essa ferramenta para criar ou fazer upload de um arquivo no Google Drive.
Se você estiver fazendo upload de um arquivo, o conteúdo precisará ser codificado em base64 no campo content, independentemente do tipo MIME do arquivo que está sendo enviado.
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.
O exemplo a seguir demonstra como usar curl para invocar a ferramenta MCP create_file.
| Solicitação de curl |
|---|
curl --location 'https://drivemcp.googleapis.com/mcp' \ --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 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, "content": string, "parentId": string, "disableConversionToGoogleType": boolean } |
| Campos | |
|---|---|
title |
O título do arquivo. |
mimeType |
O tipo MIME do arquivo a ser enviado. |
content |
O conteúdo do arquivo codificado como base64. O campo de conteúdo sempre precisa ser codificado em base64, independentemente do tipo MIME do arquivo. |
parentId |
O ID principal do arquivo. |
disableConversionToGoogleType |
Se for verdadeiro, o arquivo não será convertido para um tipo do Google. Não tem efeito para tipos MIME 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 } |
| 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 em bytes do arquivo. |
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. |
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: ✅