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.operatorespecifica a condição do termo de consulta.valuessã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 = trueowner = '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 |
A consulta de pesquisa. |
Campo de união
|
|
pageToken |
O token de página a ser usado para paginação. |
Campo de união
|
|
pageSize |
O número máximo de arquivos a serem retornados em cada página. |
Campo de união
|
|
excludeContentSnippets |
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 ( |
| Campos | |
|---|---|
files[] |
Apenas saída. A lista de arquivos. |
Campo de união
|
|
nextPageToken |
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 |
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 do arquivo em bytes. |
Campo de união
|
|
description |
A descrição do arquivo. |
Campo de união
|
|
fileExtension |
A extensão original do arquivo. Isso 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 |
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: |
Campo de união
|
|
createdTime |
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: |
Campo de união
|
|
modifiedTime |
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: |
Campo de união
|
|
viewedByMeTime |
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: |
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 (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. 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: ❌