MCP Reference: drivemcp.googleapis.com

Este es un servidor de MCP que proporciona la API de Drive. El servidor proporciona herramientas para que los desarrolladores creen aplicaciones de LLM sobre Drive.

Un servidor de Protocolo de contexto del modelo (MCP) actúa como proxy entre un servicio externo que proporciona contexto, datos o capacidades a un modelo de lenguaje grande (LLM) o una aplicación de IA. Los servidores de MCP conectan aplicaciones de IA a sistemas externos, como bases de datos y servicios web, y traducen sus respuestas a un formato que la aplicación de IA puede comprender.

Configuración del servidor

Debes configurar el servidor de MCP de Drive antes de usarlo. Para obtener más información sobre el uso de servidores de MCP remotos de Google y Google Cloud, consulta Descripción general de los servidores de MCP de Google Cloud.

Extremos del servidor

Un extremo de servicio de MCP es la dirección de red y la interfaz de comunicación (por lo general, una URL) del servidor de MCP que usa una aplicación de IA (el host para el cliente de MCP) para establecer una conexión segura y estandarizada. Es el punto de contacto para que el LLM solicite contexto, llame a una herramienta o acceda a un recurso. Los extremos de MCP de Google pueden ser globales o regionales.

El servidor de MCP de la API de Drive tiene el siguiente extremo de MCP global:

  • https://drivemcp.googleapis.com/mcp/v1

Herramientas de MCP

Una herramienta de MCP es una función o capacidad ejecutable que un servidor de MCP expone a un LLM o una aplicación de IA para realizar una acción en el mundo real.

Herramientas

El servidor de MCP drivemcp.googleapis.com tiene las siguientes herramientas:

Herramientas de MCP
create_file

Llama a esta herramienta para crear o subir un archivo a Google Drive.

Si subes un archivo, el contenido debe estar codificado en base64 en el campo content, independientemente del tipo MIME del archivo que se suba.

Muestra un solo objeto File cuando se crea correctamente.

Los siguientes tipos MIME propios de Google Drive se pueden crear sin proporcionar contenido:

  • application/vnd.google-apps.document
  • application/vnd.google-apps.spreadsheet
  • application/vnd.google-apps.presentation

De forma predeterminada, se realizarán las siguientes conversiones para los siguientes tipos MIME:

  • text/plain a application/vnd.google-apps.document
  • text/csv a application/vnd.google-apps.spreadsheet

Para inhabilitar las conversiones de tipos MIME propios, establece disable_conversion_to_google_type en true.

Las carpetas se pueden crear si se establece el tipo MIME en application/vnd.google-apps.folder.

download_file_content

Llama a esta herramienta para descargar el contenido de un archivo de Drive como datos binarios sin procesar (bytes).

Si el archivo es un tipo MIME propio de Google Drive, el campo exportMimeType es obligatorio y determinará el formato del archivo descargado.

Si no se encuentra el archivo, intenta usar otras herramientas, como search_files, para encontrar el archivo que solicita el usuario.

Si el usuario desea una representación en lenguaje natural de su contenido de Drive, usa la herramienta read_file_content (read_file_content debe ser más pequeña y fácil de analizar).

get_file_metadata

Llama a esta herramienta para encontrar metadatos generales sobre el archivo de Drive de un usuario.

Si no se encuentra el archivo, intenta usar otras herramientas, como search_files, para encontrar el archivo que solicita el usuario.

get_file_permissions Llama a esta herramienta para enumerar los permisos de un archivo de Drive.
list_recent_files

Llama a esta herramienta para encontrar archivos recientes de un usuario que especificó un orden de clasificación. El orden de clasificación predeterminado es recency.

Los órdenes de clasificación admitidos son los siguientes:

  • recency: Es la marca de tiempo más reciente de los campos de fecha y hora del archivo.
  • lastModified: Es la última vez que alguien modificó el archivo.
  • lastModifiedByMe: Es la última vez que el usuario modificó el archivo.

El tamaño de página predeterminado es 10. Utiliza next_page_token para paginar los resultados.

read_file_content

Llama a esta herramienta para recuperar una representación en lenguaje natural de un archivo de Drive.

El contenido del archivo puede estar incompleto para archivos muy grandes. La representación de texto cambiará con el tiempo, por lo que no hagas suposiciones sobre el formato particular del texto que muestra esta herramienta.

Tipos MIME admitidos:

  • application/vnd.google-apps.document
  • application/vnd.google-apps.presentation
  • application/vnd.google-apps.spreadsheet
  • application/pdf
  • application/msword
  • application/vnd.openxmlformats-officedocument.wordprocessingml.document
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • application/vnd.openxmlformats-officedocument.presentationml.presentation
  • application/vnd.oasis.opendocument.spreadsheet
  • application/vnd.oasis.opendocument.presentation
  • application/x-vnd.oasis.opendocument.text
  • image/png
  • image/jpeg
  • image/jpg

Si no se encuentra el archivo, intenta usar otras herramientas, como search_files, para encontrar el archivo que solicita el usuario con palabras clave.

search_files

Llama a esta herramienta para buscar archivos de Drive con una consulta 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_term es el término o campo de consulta en el que se buscará.
  • operator especifica la condición del término de consulta.
  • values son los valores específicos que se usarán 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 el title o el texto del contenido del archivo coinciden. Encierra entre comillas simples ('). Escapa las comillas simples en las consultas con \', como 'Valentine\'s Day'.
mimeType contains, =, != Tipo de MIME del archivo. Encierra entre comillas simples ('). Escapa las comillas simples en las consultas con \', como 'Valentine\'s Day'.
modifiedTime <=, <, =, !=, >, >= 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 <=, <, =, !=, >, >= Fecha en 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 superior es igual al ID especificado. Se puede usar root para especificar la sección "Mi unidad" del usuario que funciona como su jerarquía principal.
owner =, != Usuario propietario del archivo. Se puede usar me para especificar el usuario que realiza la solicitud.
sharedWithMe =, != Archivos que se encuentran en la colección "Compartidos conmigo" del usuario. Todos los usuarios de archivos están en la lista de control de acceso (ACL) del archivo. Puede ser true o false.
createdTime <=, <, =, !=, >, >= Fecha en 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 consultas 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 Muestra los elementos que coinciden con ambas consultas.
or Muestra los elementos que coinciden con cualquiera de las consultas.
not Niega una consulta de búsqueda.
has Una colección contiene un elemento que coincide con los parámetros.

Algunos ejemplos de consultas incluyen los siguientes:

  • 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 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.

Obtén especificaciones de herramientas de MCP

Para obtener las especificaciones de las herramientas de MCP para todas las herramientas de un servidor de MCP, usa el método tools/list. En el siguiente ejemplo, se muestra cómo usar curl para enumerar todas las herramientas y sus especificaciones disponibles actualmente en el servidor de MCP.

Solicitud curl
curl --location 'https://drivemcp.googleapis.com/mcp/v1' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'