Google Drive

Interactúa con las APIs de Google Drive, Sheets y Docs.

Documentación

Servidor de Google Drive

Este servidor MCP se integra con Google Drive para permitir listar, leer y buscar archivos, así como la capacidad de leer y escribir en Google Sheets.

Este proyecto incluye código desarrollado originalmente por Anthropic, PBC, bajo la Licencia MIT de este repositorio.

Componentes

Herramientas

  • gdrive_search

    • Descripción: Buscar archivos en Google Drive.
    • Entrada:
      • query (string): Consulta de búsqueda.
      • pageToken (string, opcional): Token para la siguiente página de resultados.
      • pageSize (number, opcional): Número de resultados por página (máx. 100).
    • Salida: Devuelve los nombres de archivo y tipos MIME de los archivos coincidentes.
  • gdrive_read_file

    • Descripción: Leer el contenido de un archivo de Google Drive.
    • Entrada:
      • fileId (string): ID del archivo a leer.
    • Salida: Devuelve el contenido del archivo especificado.
  • gsheets_read

    • Descripción: Leer datos de una hoja de cálculo de Google con opciones flexibles para rangos y formato.
    • Entrada:
      • spreadsheetId (string): El ID de la hoja de cálculo a leer.
      • ranges (array of strings, opcional): Matriz opcional de rangos en notación A1 (p. ej., ['Sheet1!A1:B10']). Si no se proporciona, lee toda la hoja.
      • sheetId (number, opcional): ID de hoja específico a leer. Si no se proporciona con rangos, lee la primera hoja.
    • Salida: Devuelve los datos especificados de la hoja de cálculo.
  • gsheets_update_cell

    • Descripción: Actualizar el valor de una celda en una hoja de cálculo de Google.
    • Entrada:
      • fileId (string): ID de la hoja de cálculo.
      • range (string): Rango de celdas en notación A1 (p. ej., 'Sheet1!A1').
      • value (string): Nuevo valor de celda.
    • Salida: Confirma el valor actualizado en la celda especificada.

Recursos

El servidor proporciona acceso a los archivos de Google Drive:

  • Archivos (gdrive:///<file_id>)
    • Soporta todos los tipos de archivo
    • Los archivos de Google Workspace se exportan automáticamente:
      • Docs → Markdown
      • Sheets → CSV
      • Presentations → Texto sin formato
      • Drawings → PNG
    • Otros archivos se proporcionan en su formato nativo.

Primeros pasos

  1. Crear un nuevo proyecto de Google Cloud
  2. Habilitar la API de Google Drive
  3. Configurar una pantalla de consentimiento de OAuth ("internal" es suficiente para pruebas)
  4. Agregar los alcances de OAuth https://www.googleapis.com/auth/drive.readonly, https://www.googleapis.com/auth/spreadsheets
  5. Para permitir la interacción con hojas de cálculo y documentos, también necesitarás habilitar la API de Google Sheets y la API de Google Docs en la sección "API y servicios habilitados" de tu espacio de trabajo.
  6. Crear un ID de cliente de OAuth para el tipo de aplicación "Desktop App"
  7. Descarga el archivo JSON de las claves OAuth de tu cliente.
  8. Cambia el nombre del archivo de claves a gcp-oauth.keys.json y colócalo en la ruta que especifiques con GDRIVE_CREDS_DIR (es decir, /Users/username/.config/mcp-gdrive)
  9. Anota tu ID de cliente de OAuth y tu secreto de cliente. Deben proporcionarse como variables de entorno junto con tu directorio de configuración.
  10. También necesitarás configurar un archivo .env dentro del proyecto con los siguientes campos. Puedes encontrar el ID de cliente y el secreto de cliente en la sección "Credenciales" de la consola de Google Cloud.
GDRIVE_CREDS_DIR=/path/to/config/directory
CLIENT_ID=<CLIENT_ID>
CLIENT_SECRET=<CLIENT_SECRET>

Asegúrate de compilar el servidor con npm run build o npm run watch.

Autenticación

A continuación, deberás ejecutar node ./dist/index.js para iniciar el paso de autenticación.

Se te pedirá que te autentiques con tu navegador. Debes autenticarte con una cuenta de la misma organización que tu proyecto de Google Cloud.

Tu token de OAuth se guarda en el directorio especificado por la variable de entorno GDRIVE_CREDS_DIR.

Authentication Prompt

Uso con la aplicación de escritorio

Para integrar este servidor con la aplicación de escritorio, agrega lo siguiente a la configuración del servidor de tu aplicación:

{
  "mcpServers": {
    "gdrive": {
      "command": "npx",
      "args": ["-y", "@isaacphi/mcp-gdrive"],
      "env": {
        "CLIENT_ID": "<CLIENT_ID>",
        "CLIENT_SECRET": "<CLIENT_SECRET>",
        "GDRIVE_CREDS_DIR": "/path/to/config/directory"
      }
    }
  }
}

Licencia

Este servidor MCP está licenciado bajo la Licencia MIT. Esto significa que eres libre de usar, modificar y distribuir el software, sujeto a los términos y condiciones de la Licencia MIT. Para más detalles, consulta el archivo LICENSE en el repositorio del proyecto.