/ Directorio / Playground / mcp-google-sheets
● Comunidad xing5 ⚡ Instantáneo

mcp-google-sheets

por xing5 · xing5/mcp-google-sheets

Otorga a Claude acceso de lectura/escritura a Google Sheets — 19 herramientas que cubren celdas, filas, hojas, gráficos, fórmulas y búsqueda entre hojas.

mcp-google-sheets envuelve las APIs de Sheets + Drive en ~19 herramientas MCP. Cubre creación de hojas de cálculo, actualizaciones por lotes de celdas, adición de gráficos, búsqueda entre múltiples archivos y compartición. Autenticación mediante cuenta de servicio de Google (recomendada para entornos sin interfaz) u OAuth 2.0.

Por qué usarlo

Características clave

Demo en vivo

Cómo se ve en la práctica

google-sheets.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-sheets": {
      "command": "uvx",
      "args": [
        "mcp-google-sheets"
      ],
      "_inferred": true
    }
  }
}

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

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "google-sheets": {
      "command": "uvx",
      "args": [
        "mcp-google-sheets"
      ],
      "_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-sheets": {
      "command": "uvx",
      "args": [
        "mcp-google-sheets"
      ],
      "_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-sheets": {
      "command": "uvx",
      "args": [
        "mcp-google-sheets"
      ],
      "_inferred": true
    }
  }
}

Mismo formato que Claude Desktop. Reinicia Windsurf para aplicar.

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

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

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

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

claude mcp add google-sheets -- uvx mcp-google-sheets

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

Casos de uso

Usos del mundo real: mcp-google-sheets

Añadir métricas diarias a una hoja de Google desde cualquier fuente de datos

👤 Ingenieros de Ops / crecimiento ⏱ ~20 min intermediate

Cuándo usarlo: Quieres un panel de control ligero en Sheets alimentado por cualquier cosa que el agente pueda alcanzar (Sentry, Stripe, una BD).

Requisitos previos
  • Cuenta de servicio de Google con las APIs de Sheets + Drive habilitadas — console.cloud.google.com → crea SA → descarga JSON → configura SERVICE_ACCOUNT_PATH
  • Hoja de cálculo compartida con el correo de la SA — IU de Sheets → Compartir → añade [email protected] como Editor
Flujo
  1. Identifica la hoja de destino
    Usa mcp-google-sheets para encontrar la hoja de cálculo titulada 'Daily KPIs'. Devuelve su ID.✓ Copiado
    → ID de la hoja de cálculo
  2. Añade la fila de hoy
    Añade una fila a la hoja 'summary' con columnas [date, signups, mrr, errors]. Usa los valores de hoy de [tu fuente].✓ Copiado
    → add_rows confirma que la fila se añadió al final
  3. Actualiza un gráfico si es necesario
    Verifica que el gráfico de últimos 30 días haya captado la nueva fila; si no, actualízalo.✓ Copiado
    → El gráfico muestra los datos de hoy

Resultado: Un panel de control de Sheets en vivo actualizado sin abrir el archivo.

Errores comunes
  • Límite de velocidad (429) después de muchas actualizaciones de una sola celda — Usa batch_update_cells — una llamada puede modificar cientos de celdas
  • La cuenta de servicio no ve la hoja — Debes compartir explícitamente la hoja con su correo — las SAs no tienen acceso implícito
Combinar con: sentry · postgres

Desduplicar entradas en múltiples hojas de Google

👤 Ops de datos, administradores de CRM ⏱ ~25 min intermediate

Cuándo usarlo: Los miembros del equipo mantienen hojas separadas y necesitas una única lista consolidada y limpia.

Flujo
  1. Enumera las hojas de origen
    Lista todas las hojas de cálculo en mi carpeta 'Leads 2026' de Drive con list_spreadsheets.✓ Copiado
    → Lista de 5-20 hojas
  2. Extrae todas las filas a memoria
    Usa get_multiple_sheet_data para extraer la pestaña 'Leads' de cada una. Combina por correo.✓ Copiado
    → Conjunto de datos fusionado con conteo de duplicados
  3. Escribe la hoja consolidada
    Crea una nueva hoja de cálculo 'Leads 2026 - Consolidated' con filas desduplicadas ordenadas por último contacto.✓ Copiado
    → Hoja de destino limpia

Resultado: Una hoja canónica; originales sin tocar para auditoría.

Genera un informe de Sheets con fórmulas, no valores congelados

👤 Analistas de finanzas ⏱ ~30 min advanced

Cuándo usarlo: Quieres que la hoja se recalcule cuando se actualicen las pestañas de origen.

Flujo
  1. Crea la estructura
    Crea una hoja 'Q1 Report' con pestañas [summary, by_region, by_product].✓ Copiado
    → Hoja + pestañas creadas
  2. Inyecta fórmulas que hagan referencia al origen
    En summary!B2, escribe =SUMIFS('source'!C:C, 'source'!A:A, ">=2026-01-01"). Usa batch_update con valores de fórmula.✓ Copiado
    → Celdas que se calculan en vivo

Resultado: Un informe que se actualiza automáticamente — cambia los datos de origen y los números cambian.

Importa un CSV y enriquece cada fila con columnas generadas por IA

👤 Especialistas en marketing y operaciones de ventas ⏱ ~30 min intermediate

Cuándo usarlo: Tienes una lista de URLs/empresas y quieres descripciones o clasificaciones generadas por IA por fila.

Flujo
  1. Importa CSV
    Crea una hoja de cálculo a partir de este CSV: [pega]. Llámala 'Leads Enriched'.✓ Copiado
    → Hoja con N filas
  2. Añade y rellena columnas derivadas
    Añade columnas 'industry' y 'one_line_pitch'. Para cada fila, derívalas de la url/empresa y escríbelas de nuevo mediante batch_update_cells.✓ Copiado
    → Dos nuevas columnas rellenadas

Resultado: Lista enriquecida lista para contactos.

Combinar con: firecrawl

Combinaciones

Combínalo con otros MCPs para multiplicar por 10

google-sheets + sentry

Porcentaje diario de sesiones sin errores registrado en una hoja de KPI

Cada día, extrae el porcentaje de sesiones sin errores de Sentry y añade una fila a mi hoja 'Daily KPIs'.✓ Copiado
google-sheets + firecrawl

Rastra páginas de competidores semanalmente, escribe precios en una hoja

Ejecuta firecrawl_extract en estas 5 páginas de precios de competidores y escribe cada plan como una fila en 'Competitor Pricing'.✓ Copiado
google-sheets + postgres

Exporta una consulta diaria de BD a Sheets para compañeros no técnicos

SELECT * FROM signups WHERE day = CURRENT_DATE; escribe en la pestaña 'Signups' en mi hoja de operaciones.✓ Copiado

Herramientas

Lo que expone este MCP

HerramientaEntradasCuándo llamarCoste
list_spreadsheets folder_id? Descubre hojas en una carpeta 1 llamada a Drive API
create_spreadsheet title: str, sheets?: str[] Documento nuevo 1 llamada API
get_sheet_data spreadsheetId, sheet, range? Lee un rango 1 llamada API
update_cells spreadsheetId, range, values Escrituras pequeñas 1 llamada API
batch_update_cells spreadsheetId, updates Cualquier escritura >10 celdas — evita límites de velocidad 1 llamada API
add_rows spreadsheetId, sheet, rows Solo añadir como registro 1 llamada API
add_chart spreadsheetId, sheet, chart_spec Visualiza un rango 1 llamada API
share_spreadsheet spreadsheetId, email, role Otorga acceso de colaboración 1 llamada a Drive
search_spreadsheets query: str Encuentra un valor en muchos archivos N llamadas API

Coste y límites

Lo que cuesta ejecutarlo

Cuota de API
API de Sheets: 300 lecturas + 300 escrituras req/min/proyecto, 60/usuario. API de Drive: 1k req/100s/usuario
Tokens por llamada
100–5000 dependiendo del tamaño del rango
Monetario
Gratuito dentro de las cuotas predeterminadas de Google
Consejo
Agrupa escrituras agresivamente — batch_update_cells es una llamada API sin importar cuántas celdas

Seguridad

Permisos, secretos, alcance

Ámbitos mínimos: https://www.googleapis.com/auth/spreadsheets https://www.googleapis.com/auth/drive.file
Almacenamiento de credenciales: JSON de cuenta de servicio en SERVICE_ACCOUNT_PATH, o tokens OAuth en TOKEN_PATH
Salida de datos: sheets.googleapis.com, drive.googleapis.com
No conceder nunca: https://www.googleapis.com/auth/drive (completo)

Resolución de problemas

Errores comunes y soluciones

403 El llamador no tiene permiso

Comparte la hoja con el correo de la cuenta de servicio (client_email en el JSON)

Verificar: Abre la hoja → Compartir → confirma que la SA está listada
429 Cuota excedida

Usa batch_update en lugar de muchas actualizaciones individuales; el límite de la API de Sheets es por minuto

Notación de rango A1 inválida

El rango necesita el nombre de la hoja: 'Sheet1!A1:C10', no 'A1:C10'

gcloud auth funciona pero mcp no

Configura SERVICE_ACCOUNT_PATH explícitamente para evitar ambigüedad

Verificar: echo $SERVICE_ACCOUNT_PATH

Alternativas

mcp-google-sheets vs otros

AlternativaCuándo usarlaContrapartida
Zapier MCPYa pagas por Zapier y quieres enrutamiento sin códigoPrecios por tarea; menos control directo
Notion MCP (databases)Prefieres la UX de base de datos de Notion y no necesitas fórmulasSin motor de fórmulas

Más

Recursos

📖 Lee el README oficial en GitHub

🐙 Ver issues abiertas

🔍 Ver todos los 400+ servidores MCP y Skills