MCP Tools Reference: drivemcp.googleapis.com

Ferramenta: search_files

Chame essa ferramenta para pesquisar arquivos do Drive usando uma consulta estruturada.

O campo query exige o uso de operadores de pesquisa de consulta.

Uma string de consulta contém as três partes a seguir: query_term operator values, em que:

  • query_term é o termo ou campo de consulta a ser pesquisado.
  • operator especifica a condição do termo de consulta.
  • values são os valores específicos a serem usados para filtrar os resultados da pesquisa.

Termos de consulta

A tabela a seguir lista termos de consulta válidos com as respectivas descrições:

Termo de consulta Operadores válidos Uso
title contains, =, != Título do arquivo. Coloque entre aspas simples ('). Use o caractere de escape \' em consultas com aspas simples, como 'Valentine\'s Day'.
fullText contains Se o title ou o texto no conteúdo do arquivo correspondem. Coloque entre aspas simples ('). Use o caractere de escape \' em consultas com aspas simples, como 'Valentine\'s Day'.
mimeType contains, =, != Tipo MIME do arquivo. Coloque entre aspas simples ('). Use o caractere de escape \' em consultas com aspas simples, como 'Valentine\'s Day'.
modifiedTime <=, <, =, !=, >, >= Data da última modificação do arquivo. Formato RFC 3339, o fuso horário padrão é UTC, como 2012-06-04T12:00:00-08:00. Campos do tipo date não são comparáveis.
viewedByMeTime <=, <, =, !=, >, >= Data em que o usuário acessou um arquivo pela última vez. Formato RFC 3339, o fuso horário padrão é UTC, como 2012-06-04T12:00:00-08:00. Campos do tipo date não são comparáveis.
parentId =, != Se o pai é igual ao ID especificado. root pode ser usado para especificar o "Meu Drive" do usuário, que funciona como a hierarquia principal.
owner =, != Usuário que é o proprietário do arquivo. me pode ser usado para especificar o usuário que está fazendo a solicitação.
sharedWithMe =, != Arquivos na coleção "Compartilhados comigo" do usuário. Todos os usuários de arquivos estão na lista de controle de acesso (ACL) do arquivo. Pode ser true ou false.
createdTime <=, <, =, !=, >, >= Data em que o arquivo foi criado. Use o formato RFC 3339. O fuso horário padrão é UTC, como 2012-06-04T12:00:00-08:00.

Operadores de consulta

A tabela a seguir lista os operadores de consulta válidos:

Operador Uso
contains O conteúdo de uma string está presente na outra.
= O conteúdo de uma string ou booleano é igual ao outro.
!= O conteúdo de uma string ou booleano não é igual ao outro.
< Um valor é menor que outro.
<= Um valor é menor ou igual a outro.
> Um valor é maior que outro.
>= Um valor é maior ou igual a outro.
in Um elemento está contido em uma coleção.
and Retorna itens que correspondem às duas consultas.
or Retorna itens que correspondem a qualquer uma das consultas.
not Nega uma consulta de pesquisa.
has Uma coleção contém um elemento que corresponde aos parâmetros.

Alguns exemplos de consultas:

  • 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 os resultados. Uma resposta vazia indica que não há resultados ou não há mais resultados para retornar.

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' \
--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 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 verdadeiro, 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
}
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. Isso 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 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.

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

Anotações de ferramentas

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