MCP Tools Reference: drivemcp.googleapis.com

Ferramenta: search_files

Pesquise arquivos do Drive usando uma consulta estruturada (sintaxe: query_term operator values). Combine cláusulas com and, or, not e parênteses. Os valores de string precisam estar entre aspas simples. Use o escape \' para as aspas incorporadas.

Termos e operadores de consulta:

  • title (ops: contains, =, !=) — título do arquivo
  • fullText (ops: contains) — título ou corpo do texto
  • mimeType (ops: contains, =, !=) — tipo MIME
  • modifiedTime, viewedByMeTime, createdTime (ops: <=, <, =, !=, >, >=). Use UTC RFC 3339, por exemplo, 2012-06-04T12:00:00-08:00. Tipos de data não comparáveis.
  • parentId (ops: =, !=). Use 'root' para o "Meu Drive" do usuário.
  • owner (ops: =, !=). Use 'me' para o usuário solicitante.
  • sharedWithMe (ops: =, !=). Valores: true ou false.

Outros operadores: and, or, not.

Exemplos:

  • title contains 'hello' and title contains 'goodbye'
  • modifiedTime > '2024-01-01T00:00:00Z' and (mimeType contains 'image/' or mimeType contains 'video/')
  • parentId = '1234567'
  • fullText contains 'hello'
  • owner = 'test@example.org'
  • sharedWithMe = true
  • owner = 'me' (para arquivos de propriedade do usuário)

Use next_page_token para paginar. Uma resposta vazia significa que não há mais resultados.

O exemplo a seguir demonstra como usar curl para invocar a ferramenta search_files 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": "search_files",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Esquema de entrada

Solicitação para pesquisar arquivos.

SearchFilesRequest

Representação JSON
{
  "query": string,

  "pageToken": string

  "pageSize": integer

  "excludeContentSnippets": boolean
}
Campos
query

string

A consulta de pesquisa.

Campo de união _page_token.

_page_token pode ser apenas de um dos tipos a seguir:

pageToken

string

O token de página a ser usado para paginação.

Campo de união _page_size.

_page_size pode ser apenas de um dos tipos a seguir:

pageSize

integer

O número máximo de arquivos a serem retornados em cada página.

Campo de união _exclude_content_snippets.

_exclude_content_snippets pode ser apenas de um dos tipos a seguir:

excludeContentSnippets

boolean

Se for "true", o snippet de conteúdo será excluído da resposta.

Esquema de saída

Resposta à pesquisa de arquivos.

SearchFilesResponse

Representação JSON
{
  "files": [
    {
      object (File)
    }
  ],

  "nextPageToken": string
}
Campos
files[]

object (File)

Apenas saída. A lista de arquivos.

Campo de união _next_page_token.

_next_page_token pode ser apenas de um dos tipos a seguir:

nextPageToken

string

O token da próxima página.

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
  • https://www.googleapis.com/auth/drive.meet.readonly
  • https://www.googleapis.com/auth/drive.metadata
  • https://www.googleapis.com/auth/drive.metadata.readonly
  • https://www.googleapis.com/auth/drive.photos.readonly
  • https://www.googleapis.com/auth/drive.readonly