/ Directorio / Playground / google_workspace_mcp
● Comunidad taylorwilsdon ⚡ Instantáneo

google_workspace_mcp

por taylorwilsdon · taylorwilsdon/google_workspace_mcp

Un servidor MCP para Gmail, Drive, Calendar, Docs, Sheets, Slides, Chat, Forms, Tasks, Contacts, Apps Script — con carga de herramientas en tiers para mantener el contexto pequeño.

taylorwilsdon/google_workspace_mcp es un MCP en Python que envuelve las APIs de Google Workspace tras ~100 herramientas. OAuth 2.0 mediante tu propio proyecto de Google Cloud. Elige un tier de herramientas (core / extended / complete) para controlar cuántas herramientas aparecen en tu cliente MCP.

Por qué usarlo

Características clave

Demo en vivo

Cómo se ve en la práctica

google-workspace.replay ▶ listo
0/0

Instalar

Elige tu cliente

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "google-workspace": {
      "command": "uvx",
      "args": [
        "google_workspace_mcp"
      ],
      "_inferred": true
    }
  }
}

Abre Claude Desktop → Settings → Developer → Edit Config. Reinicia después de guardar.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "google-workspace": {
      "command": "uvx",
      "args": [
        "google_workspace_mcp"
      ],
      "_inferred": true
    }
  }
}

Cursor usa el mismo esquema mcpServers que Claude Desktop. La configuración del proyecto prevalece sobre la global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "google-workspace": {
      "command": "uvx",
      "args": [
        "google_workspace_mcp"
      ],
      "_inferred": true
    }
  }
}

Haz clic en el icono MCP Servers de la barra lateral de Cline y luego en "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "google-workspace": {
      "command": "uvx",
      "args": [
        "google_workspace_mcp"
      ],
      "_inferred": true
    }
  }
}

Mismo formato que Claude Desktop. Reinicia Windsurf para aplicar.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "google-workspace",
      "command": "uvx",
      "args": [
        "google_workspace_mcp"
      ]
    }
  ]
}

Continue usa un array de objetos de servidor en lugar de un mapa.

~/.config/zed/settings.json
{
  "context_servers": {
    "google-workspace": {
      "command": {
        "path": "uvx",
        "args": [
          "google_workspace_mcp"
        ]
      }
    }
  }
}

Añádelo a context_servers. Zed recarga en caliente al guardar.

claude mcp add google-workspace -- uvx google_workspace_mcp

Un solo comando. Verifica con claude mcp list. Quita con claude mcp remove.

Casos de uso

Usos del mundo real: google_workspace_mcp

Cómo reducir tu bandeja de entrada a cero con etiquetas y borradores con IA

👤 Profesionales del conocimiento, ejecutivos ⏱ ~20 min intermediate

Cuándo usarlo: Lunes por la mañana o después de vacaciones cuando tu bandeja es un caos.

Requisitos previos
  • Proyecto de Google Cloud con la API de Gmail habilitada — console.cloud.google.com > APIs > Gmail API > Enable
  • Credenciales OAuth 2.0 de Escritorio — Credentials > Create OAuth client > Desktop. Establece las variables de entorno GOOGLE_OAUTH_CLIENT_ID y _SECRET
Flujo
  1. Extrae la última semana de mensajes no leídos
    Busca en Gmail los mensajes no leídos de los últimos 7 días. Agrúpalos por categoría de remitente (equipo, externo, proveedor, boletín).✓ Copiado
    → Conteos agrupados + líneas de vista previa
  2. Etiqueta automáticamente y archiva boletines
    Para los boletines, etiquétalos como 'boletín' y archívalos.✓ Copiado
    → Conteo archivado, ids de thread
  3. Redacta respuestas para los 5 threads principales
    Para los 5 threads más importantes (solicitud de cliente, bloqueador, decisión necesaria), redacta una respuesta concisa. No envíes — solo redacta.✓ Copiado
    → 5 borradores visibles en Gmail

Resultado: Bandeja de entrada con menos de 20 mensajes, borradores listos para revisar + enviar.

Errores comunes
  • La IA envía respuestas en lugar de redactarlas — Siempre di 'solo redacta' en el prompt; deshabilita send_gmail_message para sesiones no confiables
Combinar con: notion

Cómo prepararte para cada reunión de mañana desde tu calendario

👤 Cualquiera con reuniones atrás de atrás ⏱ ~15 min beginner

Cuándo usarlo: Fin de día antes de un día saturado.

Flujo
  1. Lista los eventos de mañana
    Obtén mis eventos de calendario para mañana. Para cada uno, muestra los asistentes y el título de la reunión.✓ Copiado
    → Cronología de eventos
  2. Para cada reunión, encuentra el doc vinculado y emails recientes
    Para cada reunión con un link de agenda, abre el doc y haz un resumen. Para cada asistente, muestra el último thread de email con ellos.✓ Copiado
    → Resumen por reunión
  3. Volcalo en un doc
    Crea un Doc 'Prep 2026-04-15' con una sección por reunión.✓ Copiado
    → URL del Doc retornada

Resultado: Un único doc de preparación que puedas revisar mientras tomas café.

Errores comunes
  • Los emails de asistentes externos contienen datos personales — van a tu proveedor de LLM — Reduce solo a nombres en los prompts si te importa
Combinar con: notion

Cómo convertir una Google Sheet en una fuente de datos de lectura/escritura para agentes

👤 Personas de Ops ejecutando procesos de negocio en Sheets ⏱ ~15 min intermediate

Cuándo usarlo: No quieres migrar a una BD real todavía pero quieres que la IA responda preguntas + registre eventos.

Flujo
  1. Describe el diseño de la sheet
    Lee la pestaña 'Orders' en la spreadsheet 1AbC... — cuéntame el esquema.✓ Copiado
    → Lista de columnas con tipos
  2. Responde una pregunta
    Usando read_sheet_values, ¿cuántos pedidos en marzo fueron mayores a $1000?✓ Copiado
    → Respuesta numérica + celdas consultadas
  3. Añade una fila
    Añade una nueva fila: fecha de hoy, cliente=acme, monto=1200, estado=pendiente.✓ Copiado
    → Índice de fila añadida

Resultado: Analytics ad-hoc + registro sin salir del chat.

Errores comunes
  • Las fórmulas se recalculan en la escritura y pueden sobrescribir celdas que te importan — Usa append_table_rows, no escrituras de rango, al añadir datos
Combinar con: filesystem

Cómo generar un Google Doc a partir de una plantilla markdown

👤 Cualquiera que genere propuestas, reportes o docs con plantilla ⏱ ~10 min beginner

Cuándo usarlo: Quieres salida de Docs con formato (tablas, encabezados) sin aprender la API de Google.

Flujo
  1. Redacta en markdown
    Escribe una propuesta de cliente para ACME basada en [brief]. Salida en markdown.✓ Copiado
    → Borrador en markdown
  2. Convierte a Doc
    Crea un nuevo Google Doc titulado 'ACME Proposal 2026-04' con ese contenido. Usa create_doc y después batch_update_doc para preservar el formato.✓ Copiado
    → URL del Doc

Resultado: Un Doc correctamente formateado que puedas compartir.

Errores comunes
  • create_doc solo toma texto plano — el formato necesita una batch_update posterior — Siempre usa el flujo de dos pasos para docs con formato

Combinaciones

Combínalo con otros MCPs para multiplicar por 10

google-workspace + notion

Refleja los docs de preparación de reuniones en Notion para visibilidad del equipo

Para cada reunión hoy, copia la agenda del Google Doc a una nueva página de Notion bajo 'Meeting Notes' con la fecha como título.✓ Copiado
google-workspace + filesystem

Exporta una carpeta de Drive a disco local como copia de seguridad

Descarga cada archivo en la carpeta de Drive 'Client Contracts 2025' a /backups/drive/contracts-2025/.✓ Copiado
google-workspace + github

Cruza referencias de issues de GitHub con standups del calendario

Antes de mi standup de las 10am, lista los issues abiertos de GitHub asignados a mí y adjunta el resumen a la descripción del evento de standup de hoy.✓ Copiado

Herramientas

Lo que expone este MCP

HerramientaEntradasCuándo llamarCoste
search_gmail_messages query: str, max_results?: int Encuentra mensajes por remitente, asunto, fecha 1 llamada a la API de Gmail
draft_gmail_message to, subject, body, thread_id? Prefiere draft sobre send para flujos con IA 1 llamada a la API
send_gmail_message to, subject, body Solo cuando el usuario explícitamente pide enviar 1 llamada a la API (irreversible)
get_events calendar_id?, time_min, time_max Extrae eventos en una ventana 1 llamada a la API de Calendar
manage_event action, event_id?, summary?, attendees?, time? Crea/actualiza/elimina eventos 1 llamada a la API
read_sheet_values spreadsheet_id, range Lee un rango de celdas 1 llamada a la API de Sheets
append_table_rows spreadsheet_id, table_id, rows Añade de forma segura sin sobrescribir fórmulas 1 llamada a la API de Sheets
create_doc title, content? Comienza un nuevo doc 1 llamada a la API de Docs
batch_update_doc doc_id, requests[] Aplica formato después de create_doc 1 llamada a la API de Docs (en lote)
search_drive_files query, max_results? Localiza un archivo por nombre/propietario 1 llamada a la API de Drive

Coste y límites

Lo que cuesta ejecutarlo

Cuota de API
Gmail: 250 unidades de cuota/usuario/seg. Sheets: 300 lecturas/min/usuario. Drive: 1000 consultas/100s/usuario.
Tokens por llamada
La lista de herramientas en tier 'complete' es enorme (~100 herramientas); usa tier 'core' para mantenerlo económico
Monetario
Gratuito con una cuenta de Google
Consejo
Ejecuta con --tool-tier core e cambia a extended solo cuando realmente necesites Slides/Forms/Script.

Seguridad

Permisos, secretos, alcance

Ámbitos mínimos: Solo otorga los scopes para los servicios que realmente usas (p. ej., gmail.readonly, calendar.readonly)
Almacenamiento de credenciales: GOOGLE_OAUTH_CLIENT_ID/_SECRET en env; refresh tokens persistidos en disco
Salida de datos: Los contenidos de tu doc/email van a través del servidor MCP a tu proveedor de LLM elegido
No conceder nunca: gmail.send si no necesitas enviar drive (completo) si drive.file es suficiente scopes de admin

Resolución de problemas

Errores comunes y soluciones

invalid_grant / token ha expirado o fue revocado

Elimina el archivo de token en caché y re-ejecuta el flujo de autenticación.

Verificar: ls ~/.config/google_workspace_mcp/tokens
403 permisos insuficientes

Re-consiente con el scope necesario — el token almacenado aún no lo tiene.

API no habilitada

Habilita la API específica (p. ej., Docs API) en Google Cloud Console para tu proyecto.

Cuota excedida para el usuario

Gmail y Sheets tienen límites por minuto. Agrupa lecturas; retrocede con reintento exponencial.

Alternativas

google_workspace_mcp vs otros

AlternativaCuándo usarlaContrapartida
MCP oficial de Gmail (Anthropic remoto)Quieres OAuth alojado por Anthropic sin configuraciónSolo Gmail; sin Drive/Docs/Sheets
MCP de ZapierYa pagas por Zapier y quieres cero configuraciónCuesta dinero por llamada; latencia más alta

Más

Recursos

📖 Lee el README oficial en GitHub

🐙 Ver issues abiertas

🔍 Ver todos los 400+ servidores MCP y Skills