MewCP Google Drive MCP

Servidor MCP de Google Drive alojado, sin estado y multiinquilino que permite a los asistentes de IA acceder, organizar, buscar y gestionar archivos a través de Google Drive.

Documentación

Sube, busca y gestiona archivos de Google Drive — directamente desde tus flujos de trabajo de IA.

Un servidor de Model Context Protocol (MCP) que expone la API de Google Drive para listar, buscar, subir, descargar, compartir y organizar archivos y carpetas.

Resumen

El servidor MCP de Google Drive proporciona acceso programático completo a Google Drive a través de una interfaz sin estado y multiinquilino:

  • Lista, busca, sube y descarga archivos usando la sintaxis de consulta nativa de Drive
  • Crea y organiza carpetas, gestiona permisos de archivos y uso compartido
  • Lee el contenido de archivos de texto directamente sin descargarlos al disco

Perfecto para:

  • Automatizar la gestión de archivos y flujos de trabajo de documentos desde agentes de IA
  • Crear asistentes que puedan leer, organizar y compartir archivos de Drive
  • Integrar acciones de Google Drive en pipelines impulsados por LLM

Herramientas

list_files — Lista archivos en Google Drive

Lista archivos en Google Drive con filtrado opcional por carpeta principal, nombre o tipo.

Entradas:

- `folder_id` (string, optional) — Parent folder ID to filter results by
- `query` (string, optional) — Additional Drive query fragment e.g. `name contains 'report'`
- `page_size` (integer, optional) — Maximum number of results to return, capped at 1000. Default: `10`

Salida:

{
  "count": 3,
  "files": [
    {
      "id": "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs",
      "name": "report.pdf",
      "mimeType": "application/pdf",
      "size": "204800",
      "createdTime": "2024-01-15T10:00:00.000Z",
      "modifiedTime": "2024-03-20T14:30:00.000Z",
      "webViewLink": "https://drive.google.com/file/d/..."
    }
  ]
}
get_file_metadata — Obtén metadatos de un archivo específico por ID

Devuelve el objeto de metadatos completo para un solo archivo o carpeta.

Entradas:

- `file_id` (string, required) — Google Drive file ID

Salida:

{
  "id": "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs",
  "name": "report.pdf",
  "mimeType": "application/pdf",
  "size": "204800",
  "createdTime": "2024-01-15T10:00:00.000Z",
  "modifiedTime": "2024-03-20T14:30:00.000Z",
  "owners": [{ "displayName": "John Doe", "emailAddress": "john@example.com" }],
  "webViewLink": "https://drive.google.com/file/d/..."
}
download_file — Descarga un archivo de Google Drive al disco local

Descarga un archivo de Drive y lo escribe en una ruta local especificada.

Entradas:

- `file_id` (string, required) — Google Drive file ID
- `destination_path` (string, required) — Local filesystem path to save the file to

Salida:

{
  "message": "File downloaded successfully to: /path/to/file.pdf"
}
upload_file — Sube un archivo a Google Drive

Sube un archivo local a Google Drive con un nombre de destino, carpeta y tipo MIME opcionales.

Entradas:

- `file_path` (string, required) — Local filesystem path of the file to upload
- `name` (string, optional) — Destination filename in Drive. Defaults to the local filename
- `folder_id` (string, optional) — Parent folder ID in Drive to upload into
- `mime_type` (string, optional) — MIME type of the file e.g. `text/plain`, `application/pdf`

Salida:

{
  "message": "File uploaded successfully",
  "file": {
    "id": "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs",
    "name": "report.pdf",
    "webViewLink": "https://drive.google.com/file/d/..."
  }
}
create_folder — Crea una nueva carpeta en Google Drive

Crea una nueva carpeta, opcionalmente anidada dentro de una carpeta principal.

Entradas:

- `name` (string, required) — Folder name
- `parent_folder_id` (string, optional) — Parent folder ID to create the folder inside

Salida:

{
  "message": "Folder created successfully",
  "folder": {
    "id": "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs",
    "name": "Projects",
    "webViewLink": "https://drive.google.com/drive/folders/..."
  }
}
delete_file — Elimina un archivo o carpeta de Google Drive

Elimina permanentemente un archivo o carpeta. Esta acción no se puede deshacer.

Entradas:

- `file_id` (string, required) — Google Drive file or folder ID to delete

Salida:

{
  "message": "File/folder with ID 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs deleted successfully"
}
search_files — Busca archivos en Google Drive usando consultas avanzadas

Busca en Drive usando el lenguaje completo de expresiones de consulta de Drive y devuelve los metadatos de los archivos coincidentes.

Entradas:

- `query` (string, required) — Drive query expression e.g. `name contains 'report'`, `mimeType='application/pdf'`
- `page_size` (integer, optional) — Maximum number of results to return, capped at 1000. Default: `10`

Salida:

{
  "count": 2,
  "files": [
    {
      "id": "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs",
      "name": "Q1 Report.pdf",
      "mimeType": "application/pdf",
      "webViewLink": "https://drive.google.com/file/d/..."
    }
  ]
}
share_file — Comparte un archivo con un usuario o hazlo accesible públicamente

Otorga un permiso sobre un archivo, ya sea a un usuario específico o a cualquier persona con el enlace.

Entradas:

- `file_id` (string, required) — Google Drive file ID
- `email` (string, optional) — Recipient email address when sharing with a specific user
- `role` (string, optional) — Permission role. Values: `reader`, `commenter`, `writer`. Default: `reader`
- `share_type` (string, optional) — Permission type. Values: `user`, `group`, `domain`, `anyone`. Defaults to `user` if email is provided, otherwise `anyone`

Salida:

{
  "message": "File shared successfully",
  "permission_id": "anyoneWithLink",
  "webViewLink": "https://drive.google.com/file/d/.../view",
  "webContentLink": "https://drive.google.com/uc?id=..."
}
get_file_content — Obtén el contenido de un archivo de texto de Google Drive

Lee y devuelve el contenido de texto decodificado de un archivo directamente, sin guardarlo en el disco.

Entradas:

- `file_id` (string, required) — Google Drive file ID

Salida:

"The full decoded text content of the file as a string."

Referencia de Parámetros de la API

Parámetros comunes
  • file_id — Identificador único de archivo o carpeta de Google Drive. Obténlo de list_files, search_files o cualquier respuesta de archivo.
  • folder_id — ID de una carpeta de Drive. Usa list_files o search_files con mimeType='application/vnd.google-apps.folder' para encontrar IDs de carpetas.
  • page_size — Limita el número de elementos devueltos. Siempre limitado a 1000.
Formatos de recursos

Sintaxis de consulta de Drive (parámetro query):

name contains 'report'                          — Files with "report" in name
name = 'budget.xlsx'                            — Exact filename match
mimeType = 'application/pdf'                    — Files of a specific MIME type
mimeType = 'application/vnd.google-apps.folder' — Folders only
'folder_id' in parents                          — Files inside a specific folder
modifiedTime > '2024-01-01T00:00:00'            — Files modified after a date
fullText contains 'quarterly'                   — Files containing text (Docs/Sheets only)

Roles de permiso:

reader     — View only
commenter  — View and comment
writer     — View, comment, and edit

Solución de problemas

Encabezados faltantes o no válidos
  • Causa: Clave de API no proporcionada en los encabezados de la solicitud o formato incorrecto
  • Solución:
    1. Verifica que los encabezados Authorization: Bearer YOUR_API_KEY y X-Mewcp-Credential-Id: CREDENTIAL-ID estén presentes
    2. Comprueba que la clave de API esté activa en tu cuenta de MewCP
Créditos insuficientes
  • Causa: Las llamadas a la API han superado tus límites de solicitud
  • Solución:
    1. Revisa el uso de créditos en tu panel de Curious Layer
    2. Actualiza a un plan de pago o agrega créditos para límites más altos
    3. Contacta al soporte para ajustes de crédito
Credencial no conectada
  • Causa: No hay una credencial de Google Drive vinculada a tu cuenta
  • Solución:
    1. Ve a Credenciales en tu panel de MewCP
    2. Conecta tu cuenta de Google mediante OAuth
    3. Reintenta la solicitud con el encabezado X-Mewcp-Credential-Id correcto
Carga útil de solicitud malformada
  • Causa: El payload JSON no es válido o le faltan campos obligatorios
  • Solución:
    1. Valida la sintaxis JSON antes de enviar
    2. Asegúrate de que todos los parámetros de herramienta requeridos estén incluidos
    3. Comprueba que los tipos de parámetros coincidan con los valores esperados
Servidor no encontrado
  • Causa: Nombre de servidor incorrecto en el endpoint de la API
  • Solución:
    1. Verifica el formato del endpoint: {server-name}/mcp/{tool-name}
    2. Usa el nombre de servidor correcto de la documentación
    3. Revisa los servidores disponibles en tu cuenta de Curious Layer
Error de la API de Google Drive
  • Causa: La API de Google Drive aguas arriba devolvió un error
  • Solución:
    1. Consulta el estado del servicio de Google en Página de estado de Google Workspace
    2. Verifica que tu credencial tenga los permisos de Drive requeridos
    3. Revisa el mensaje de error para obtener detalles específicos

Recursos