MCP Tools Reference: drivemcp.googleapis.com

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.document
  • application/vnd.google-apps.spreadsheet
  • application/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

string

O título do arquivo.

mimeType

string

OBSOLETO. NÃO USE!! Defina content_mime_type.

contentMimeType

string

O tipo MIME do conteúdo que está sendo enviado. Obrigatório quando qualquer tipo de conteúdo é fornecido.

content

string

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

string

Opcional. O conteúdo codificado em base64 para upload. É um erro definir isso e text_content.

textContent

string

Opcional. O conteúdo de texto (UTF-8) a ser enviado. É um erro definir este campo e "base64_content".

parentId

string

O ID principal do arquivo.

disableConversionToGoogleType

boolean

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

string

O ID do arquivo buscado.

title

string

O título do arquivo.

parentId

string

O ID (opcional) do pai do arquivo.

Campo de união _mime_type.

_mime_type pode ser apenas de um dos tipos a seguir:

mimeType

string

O tipo MIME do arquivo.

Campo de união _file_size.

_file_size pode ser apenas de um dos tipos a seguir:

fileSize

string (int64 format)

O tamanho do arquivo em bytes.

Campo de união _description.

_description pode ser apenas de um dos tipos a seguir:

description

string

A descrição do arquivo.

Campo de união _file_extension.

_file_extension pode ser apenas de um dos tipos a seguir:

fileExtension

string

A extensão do arquivo original. Esse campo só é preenchido para arquivos com conteúdo armazenado no Drive.

Campo de união _content_snippet.

_content_snippet pode ser apenas de um dos tipos a seguir:

contentSnippet

string

Snippet gerado sobre o conteúdo do arquivo.

Campo de união _view_url.

_view_url pode ser apenas de um dos tipos a seguir:

viewUrl

string

O URL para visualizar o arquivo.

Campo de união _shared_with_me_time.

_shared_with_me_time pode ser apenas de um dos tipos a seguir:

sharedWithMeTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

Campo de união _created_time.

_created_time pode ser apenas de um dos tipos a seguir:

createdTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

Campo de união _modified_time.

_modified_time pode ser apenas de um dos tipos a seguir:

modifiedTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

Campo de união _viewed_by_me_time.

_viewed_by_me_time pode ser apenas de um dos tipos a seguir:

viewedByMeTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

Campo de união _owner.

_owner pode ser apenas de um dos tipos a seguir:

owner

string

O endereço de e-mail do proprietário do arquivo.

Campo de união _can_add_children.

_can_add_children pode ser apenas de um dos tipos a seguir:

canAddChildren

boolean

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

string (int64 format)

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

integer

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/drive
  • https://www.googleapis.com/auth/drive.appdata
  • https://www.googleapis.com/auth/drive.file