MCP Tools Reference: drivemcp.googleapis.com

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

Por padrão, as seguintes conversões serão feitas para os seguintes tipos MIME:

  • text/plain para application/vnd.google-apps.document
  • text/csv para application/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

string

O título do arquivo.

mimeType

string

OBSOLETO. NÃO USAR!! 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 de conteúdo precisa sempre ser codificado em base64, independentemente 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 esse campo e text_content.

textContent

string

Opcional. O conteúdo de texto (UTF-8) para upload. É um erro definir esse campo e base64_content.

parentId

string

O ID principal do arquivo.

disableConversionToGoogleType

boolean

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

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 original do arquivo. 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)

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: "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)

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: "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)

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: "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)

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: "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

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

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 (inclusive), 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. Precisa estar entre 0 e 999.999.999 (inclusive).

Anotações de ferramentas

Dica destrutiva: ❌ | Dica idempotente: ❌ | Dica somente leitura: ❌ | Dica de mundo aberto: ✅