Herramienta: search_files
Llama a esta herramienta para buscar archivos de Drive con una búsqueda estructurada.
El campo query requiere el uso de operadores de búsqueda de consultas.
Una cadena de consulta contiene las siguientes tres partes: query_term operator values, donde:
query_termes el término de búsqueda o el campo en el que se realizará la búsqueda.operatorespecifica la condición del término de búsqueda.valuesson los valores específicos que se usan para filtrar los resultados de la búsqueda.
Términos de búsqueda
En la siguiente tabla, se enumeran los términos de búsqueda válidos con sus descripciones:
| Término de búsqueda | Operadores válidos | Uso |
|---|---|---|
title |
contains, =, != |
Título del archivo. Encierra entre comillas simples ('). Escapa las comillas simples en las consultas con \', como 'Valentine\'s Day'. |
fullText |
contains |
Indica si coincide el title o el texto del contenido del archivo. Encierra entre comillas simples ('). Escapa las comillas simples en las consultas con \', como 'Valentine\'s Day'. |
mimeType |
contains, =, != |
Tipo MIME del archivo. Encierra entre comillas simples ('). Escapa las comillas simples en las consultas con \', como 'Valentine\'s Day'. |
modifiedTime |
<=, <, =, !=, > y >= |
Fecha de la última modificación del archivo. Formato RFC 3339, la zona horaria predeterminada es UTC, como 2012-06-04T12:00:00-08:00. Los campos de tipo date no son comparables. |
viewedByMeTime |
<=, <, =, !=, > y >= |
Fecha en la que el usuario vio un archivo por última vez. Formato RFC 3339, la zona horaria predeterminada es UTC, como 2012-06-04T12:00:00-08:00. Los campos de tipo date no son comparables. |
parentId |
=, != |
Indica si el elemento principal es igual al ID especificado. root se puede usar para especificar la "Mi unidad" del usuario que funciona como su jerarquía principal. |
owner |
=, != |
Es el usuario propietario del archivo. me se puede usar para especificar el usuario que realiza la solicitud. |
sharedWithMe |
=, != |
Son los archivos que se encuentran en la colección "Compartidos conmigo" del usuario. Todos los usuarios del archivo se encuentran en la Lista de control de acceso (LCA) del archivo. Puede ser true o false. |
createdTime |
<=, <, =, !=, > y >= |
Fecha en la que se creó el archivo. Usa el formato RFC 3339. La zona horaria predeterminada es UTC, como 2012-06-04T12:00:00-08:00. |
Operadores de consultas
En la siguiente tabla, se enumeran los operadores de búsqueda válidos:
| Operador | Uso |
|---|---|
contains |
El contenido de una cadena está presente en la otra. |
= |
El contenido de una cadena o un valor booleano es igual al otro. |
!= |
El contenido de una cadena o un valor booleano no es igual al otro. |
< |
Un valor es menor que otro. |
<= |
Un valor es menor o igual que otro. |
> |
Un valor es mayor que otro. |
>= |
Un valor es mayor o igual que otro. |
in |
Un elemento está contenido dentro de una colección. |
and |
Devuelve los elementos que coinciden con ambas búsquedas. |
or |
Devuelve los elementos que coinciden con cualquiera de las dos búsquedas. |
not |
Niega una búsqueda. |
has |
Una colección contiene un elemento que coincide con los parámetros. |
Estos son algunos ejemplos de búsquedas:
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 los archivos que pertenecen al usuario)
Utiliza next_page_token para paginar los resultados. Una respuesta vacía indica que no hay resultados o que no hay más resultados para mostrar.
En el siguiente ejemplo, se muestra cómo usar curl para invocar la herramienta de MCP search_files.
| Solicitud de 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
Es la solicitud para buscar archivos.
SearchFilesRequest
| Representación JSON |
|---|
{ "query": string, "pageToken": string "pageSize": integer "excludeContentSnippets": boolean } |
| Campos | |
|---|---|
query |
Es la búsqueda. |
Campo de unión
|
|
pageToken |
Es el token de página que se usará para la paginación. |
Campo de unión
|
|
pageSize |
Es la cantidad máxima de archivos que se devolverán en cada página. |
Campo de unión
|
|
excludeContentSnippets |
Si es verdadero, el fragmento de contenido se excluirá de la respuesta. |
Esquema de salida
Es la respuesta a la búsqueda de archivos.
SearchFilesResponse
| Representación JSON |
|---|
{
"files": [
{
object ( |
| Campos | |
|---|---|
files[] |
Solo salida. Es la lista de archivos. |
Campo de unión
|
|
nextPageToken |
Es el token de página siguiente. |
Archivo
| Representación 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 |
Es el ID del archivo que se recuperó. |
title |
Es el título del archivo. |
parentId |
Es el ID (opcional) del elemento superior del archivo. |
Campo de unión
|
|
mimeType |
Es el tipo MIME del archivo. |
Campo de unión
|
|
fileSize |
Tamaño del archivo en bytes. |
Campo de unión
|
|
description |
Es la descripción del archivo. |
Campo de unión
|
|
fileExtension |
Es la extensión original del archivo. Solo se completa para los archivos con contenido almacenado en Drive. |
Campo de unión
|
|
contentSnippet |
Es un fragmento generado sobre el contenido del archivo. |
Campo de unión
|
|
viewUrl |
Es la URL para ver el archivo. |
Campo de unión
|
|
sharedWithMeTime |
Fecha y hora en que se compartió el archivo con el solicitante. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
Campo de unión
|
|
createdTime |
Es la fecha y hora en que se creó el archivo. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
Campo de unión
|
|
modifiedTime |
Es la fecha y hora más reciente en la que se modificó el archivo. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
Campo de unión
|
|
viewedByMeTime |
Es la fecha y hora más recientes en que el solicitante vio el archivo. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
Campo de unión
|
|
owner |
Dirección de correo electrónico del propietario del archivo. |
Marca de tiempo
| Representación JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Representa los segundos de la hora UTC desde la época de Unix 1970-01-01T00:00:00Z. Debe estar entre -62135596800 y 253402300799 inclusive (lo que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z). |
nanos |
Fracciones no negativas de un segundo a una resolución de nanosegundos. Este campo es la parte de la duración en nanosegundos, no una alternativa a los segundos. Los valores de segundos negativos con fracciones deben tener valores nanos no negativos que se cuentan hacia adelante en el tiempo. Debe ser un valor entre 0 y 999,999,999, inclusive. |
Anotaciones de herramientas
Sugerencia destructiva: ❌ | Sugerencia idempotente: ✅ | Sugerencia de solo lectura: ✅ | Sugerencia de mundo abierto: ❌