Google Drive MCP Server

Se integra con Google Drive, permitiendo a los modelos de IA buscar, listar y leer archivos.

Documentación

Servidor MCP de Google Drive

Un potente servidor de Protocolo de Contexto de Modelo (MCP) que proporciona una integración perfecta con Google Drive, permitiendo a los modelos de IA buscar, listar y leer archivos de Google Drive.

🚀 Características

Herramientas

1. gdrive_search

Busca archivos en tu Google Drive con potentes capacidades de búsqueda de texto completo.

  • Entrada:
    {
      "query": "string (your search query)"
    }
    
  • Salida: Lista de archivos con:
    • Nombre del archivo
    • Tipo MIME
    • ID del archivo
    • Última hora de modificación
    • Tamaño del archivo

2. gdrive_read_file

Lee el contenido de los archivos directamente usando un ID de archivo de Google Drive.

  • Entrada:
    {
      "file_id": "string (Google Drive file ID)"
    }
    
  • Salida: Contenido del archivo con conversión de formato apropiada

Manejo Automático de Formatos de Archivo

El servidor maneja inteligentemente diferentes tipos de archivos de Google Workspace:

  • 📝 Documentos de Google → Markdown
  • 📊 Hojas de cálculo de Google → CSV
  • 📊 Presentaciones de Google → Texto plano
  • 🎨 Dibujos de Google → PNG
  • 📄 Archivos de texto/JSON → Texto UTF-8
  • 📦 Otros archivos → Codificado en Base64

🛠️ Primeros Pasos

Requisitos Previos

  • Node.js (v16 o superior)
  • npm o yarn
  • Un Proyecto de Google Cloud
  • Una cuenta de Google Workspace o cuenta personal de Google

Configuración Detallada de Google Cloud

  1. Crear un Proyecto de Google Cloud

    • Visita la Consola de Google Cloud
    • Haz clic en "Nuevo Proyecto"
    • Ingresa un nombre para el proyecto (por ejemplo, "MCP GDrive Server")
    • Haz clic en "Crear"
    • Espera a que se cree el proyecto y selecciónalo
  2. Habilitar la API de Google Drive

    • Ve a la Biblioteca de API
    • Busca "Google Drive API"
    • Haz clic en "Google Drive API"
    • Haz clic en "Habilitar"
    • Espera a que la API se habilite
  3. Configurar la Pantalla de Consentimiento de OAuth

    • Navega a Pantalla de consentimiento de OAuth
    • Selecciona el Tipo de Usuario:
      • "Interno" si estás usando Google Workspace
      • "Externo" para cuentas personales de Google
    • Haz clic en "Crear"
    • Completa los campos obligatorios:
      • Nombre de la aplicación: "MCP GDrive Server"
      • Correo electrónico de soporte al usuario: tu correo
      • Correo electrónico de contacto del desarrollador: tu correo
    • Haz clic en "Guardar y Continuar"
    • En la página de "Alcances":
      • Haz clic en "Agregar o Quitar Alcances"
      • Agrega https://www.googleapis.com/auth/drive.readonly
      • Haz clic en "Actualizar"
    • Haz clic en "Guardar y Continuar"
    • Revisa el resumen y haz clic en "Volver al Panel"
  4. Crear ID de Cliente OAuth

    • Ve a Credenciales
    • Haz clic en "Crear Credenciales" en la parte superior
    • Selecciona "ID de cliente OAuth"
    • Elige el tipo de aplicación: "Aplicación de escritorio"
    • Nombre: "MCP GDrive Server Desktop Client"
    • Haz clic en "Crear"
    • En la ventana emergente:
      • Haz clic en "Descargar JSON"
      • Guarda el archivo
      • Haz clic en "Aceptar"
  5. Configurar Credenciales en el Proyecto

    # Create credentials directory
    mkdir credentials
    
    # Move and rename the downloaded JSON file
    mv path/to/downloaded/client_secret_*.json credentials/gcp-oauth.keys.json
    

Instalación

# Clone the repository
git clone https://github.com/felores/gdrive-mcp-server.git
cd gdrive-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

Autenticación

  1. Crea un directorio de credenciales y coloca tus claves OAuth:

    mkdir credentials
    # Move your downloaded OAuth JSON file to the credentials directory as gcp-oauth.keys.json
    
  2. Ejecuta el comando de autenticación:

    node dist/index.js auth
    
  3. Completa el flujo de OAuth en tu navegador

  4. Las credenciales se guardarán en credentials/.gdrive-server-credentials.json

🔧 Uso

Como Herramienta de Línea de Comandos

# Start the server
node dist/index.js

Integración con Aplicación de Escritorio

Agrega esta configuración a la configuración del servidor de tu aplicación:

{
  "mcpServers": {
    "gdrive": {
      "command": "node",
      "args": ["path/to/gdrive-mcp-server/dist/index.js"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "path/to/gdrive-mcp-server/credentials/gcp-oauth.keys.json",
        "MCP_GDRIVE_CREDENTIALS": "path/to/gdrive-mcp-server/credentials/.gdrive-server-credentials.json"
      }
    }
  }
}

Reemplaza path/to/gdrive-mcp-server con la ruta real a tu directorio de instalación.

Ejemplo de Uso

  1. Buscar archivos:

    // Search for documents containing "quarterly report"
    const result = await gdrive_search({ query: "quarterly report" });
    
  2. Leer contenido de archivos:

    // Read a specific file using its ID
    const contents = await gdrive_read_file({ file_id: "your-file-id" });
    

🔒 Seguridad

  • Todas las credenciales sensibles se almacenan en el directorio credentials
  • Las credenciales y tokens de OAuth están excluidos del control de versiones
  • Acceso de solo lectura a Google Drive
  • Flujo de autenticación seguro con OAuth 2.0

🤝 Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviar una Solicitud de Extracción (Pull Request).

📝 Licencia

Este servidor MCP está licenciado bajo la Licencia MIT. Consulta el archivo LICENCIA para más detalles.

🔍 Solución de Problemas

Si encuentras problemas:

  1. Verifica la configuración de tu Proyecto de Google Cloud
  2. Asegúrate de que todos los alcances OAuth requeridos estén habilitados
  3. Comprueba que las credenciales estén colocadas correctamente en el directorio credentials
  4. Verifica los permisos de archivos y derechos de acceso en Google Drive

📚 Recursos Adicionales