🤔¿Qué es esto?
mcp-google-sheets
es un servidor MCP basado en Python que actúa como puente entre cualquier cliente compatible con MCP (como Claude Desktop) y la API de Hojas de Cálculo de Google. Permite interactuar con Hojas de Cálculo de Google mediante un conjunto definido de herramientas, lo que posibilita potentes flujos de trabajo de automatización y manipulación de datos basados en IA.
🚀 Inicio rápido (Usando uvx
)
Básicamente, el servidor se ejecuta en una línea: uvx mcp-google-sheets
.
Este comando descargará automáticamente el código más reciente si es necesario y lo ejecutará. Sin embargo, configurar Google Cloud requiere varios pasos; lea los pasos a continuación.
- ☁️ Requisito previo: configuración de Google Cloud
- Primero debes configurar las credenciales de Google Cloud Platform y habilitar las API necesarias. Recomendamos encarecidamente usar una cuenta de servicio .
- ➡️ Vaya a la guía de configuración detallada de Google Cloud Platform a continuación.
- 🐍Instalar
uv
uvx
forma parte deuv
, un instalador y solucionador rápido de paquetes de Python. Instálalo si aún no lo has hecho:Siga las instrucciones en la salida del instalador para agregaruv
a su PATH si es necesario.
- 🔑 Establecer variables de entorno esenciales (se recomienda una cuenta de servicio)
- Debes indicarle al servidor cómo autenticarse. Configura estas variables en tu terminal:
- (Linux/macOS)
- (Comando de Windows)
- (Windows PowerShell)
- ➡️ Consulte Autenticación detallada y variables de entorno para otras opciones (OAuth,
CREDENTIALS_CONFIG
).
- 🏃 ¡Ejecuta el servidor!
uvx
descargará y ejecutará automáticamente la última versión demcp-google-sheets
:- El servidor se iniciará e imprimirá registros indicando que está listo.
- 🔌 Conecte su cliente MCP
- Configure su cliente (por ejemplo, Claude Desktop) para conectarse al servidor en ejecución.
- Dependiendo del cliente que uses, es posible que no necesites el paso 4, ya que el cliente puede iniciar el servidor automáticamente. Sin embargo, es recomendable probar el paso 4 de todas formas para asegurarte de que todo esté configurado correctamente.
- ➡️ Consulte Uso con Claude Desktop para ver ejemplos.
¡Listo! Empieza a enviar comandos a través de tu cliente MCP.
✨ Características principales
- Integración perfecta: se conecta directamente a las API de Google Drive y Google Sheets.
- Herramientas integrales: Ofrece una amplia gama de operaciones (CRUD, listado, procesamiento por lotes, uso compartido, formato, etc.).
- Autenticación flexible: admite cuentas de servicio (recomendado) , OAuth 2.0 e inyección directa de credenciales a través de variables de entorno.
- Implementación fácil: Ejecútelo instantáneamente con
uvx
(sensación de instalación cero) o clone para desarrollo usandouv
. - Listo para IA: diseñado para usarse con clientes compatibles con MCP, lo que permite la interacción con hojas de cálculo en lenguaje natural.
🛠️ Herramientas y recursos disponibles
Este servidor expone las siguientes herramientas para interactuar con Hojas de cálculo de Google:
(Los parámetros de entrada suelen ser cadenas a menos que se especifique lo contrario)
list_spreadsheets
: enumera las hojas de cálculo en la carpeta de Drive configurada (cuenta de servicio) o a la que puede acceder el usuario (OAuth).- Devuelve: Lista de objetos
[{id: string, title: string}]
- Devuelve: Lista de objetos
create_spreadsheet
: crea una nueva hoja de cálculo.title
(cadena): el título deseado.- Devuelve: Objeto con información de la hoja de cálculo, incluido
spreadsheetId
.
get_sheet_data
: lee datos de un rango en una hoja.spreadsheet_id
(cadena)sheet
(cadena): Nombre de la hoja.range
(cadena opcional): notación A1 (p. ej.,'A1:C10'
,'Sheet1!B2:D'
). Si se omite, se lee toda la hoja.- Devuelve: matriz 2D de valores de celda.
update_cells
: Escribe datos en un rango específico. Sobrescribe los datos existentes.spreadsheet_id
(cadena)sheet
(cadena)range
(cadena): notación A1.data
(matriz 2D): Valores a escribir.- Devuelve: Actualizar el objeto de resultado.
batch_update_cells
: actualiza múltiples rangos en una llamada API.spreadsheet_id
(cadena)sheet
(cadena)ranges
(objeto): Diccionario que asigna cadenas de rango (notación A1) a matrices 2D de valores{ "A1:B2": [[1, 2], [3, 4]], "D5": [["Hello"]] }
.- Devuelve: Objeto de resultado de actualización por lotes.
add_rows
: agrega filas al final de una hoja (después de la última fila con datos).spreadsheet_id
(cadena)sheet
(cadena)data
(matriz 2D): filas para agregar.- Devuelve: Actualizar el objeto de resultado.
list_sheets
: enumera todos los nombres de hojas dentro de una hoja de cálculo.spreadsheet_id
(cadena)- Devuelve: Lista de cadenas de nombres de hojas
["Sheet1", "Sheet2"]
.
create_sheet
: agrega una nueva hoja (pestaña) a una hoja de cálculo.spreadsheet_id
(cadena)title
(cadena): nombre de la nueva hoja.- Devuelve: Nuevo objeto de propiedades de hoja.
get_multiple_sheet_data
: obtiene datos de múltiples rangos en hojas de cálculo potencialmente diferentes en una sola llamada.queries
(matriz de objetos): cada objeto necesitaspreadsheet_id
,sheet
yrange
.[{spreadsheet_id: 'abc', sheet: 'Sheet1', range: 'A1:B2'}, ...]
.- Devuelve: Lista de objetos, cada uno de los cuales contiene los parámetros de consulta y
data
obtenidos o unerror
.
get_multiple_spreadsheet_summary
: obtiene títulos, nombres de hojas, encabezados y las primeras filas de varias hojas de cálculo.spreadsheet_ids
(matriz de cadenas)rows_to_fetch
(entero opcional, predeterminado 5): cuántas filas (incluido el encabezado) se previsualizarán.- Devuelve: Lista de objetos de resumen para cada hoja de cálculo.
share_spreadsheet
: comparte una hoja de cálculo con usuarios, correos electrónicos y roles específicos.spreadsheet_id
(cadena)recipients
(matriz de objetos):[{email_address: 'user@example.com', role: 'writer'}, ...]
. Roles:reader
,commenter
,writer
.send_notification
(booleano opcional, predeterminado Verdadero): envía notificaciones por correo electrónico.- Devuelve: Diccionario con listas de
successes
yfailures
.
add_columns
: Agrega columnas a una hoja. (Verificar los parámetros si están implementados)copy_sheet
: Duplica una hoja dentro de una hoja de cálculo. (Verificar los parámetros si están implementados)rename_sheet
: Renombra una hoja existente. (Verificar los parámetros si están implementados)
Recursos del MCP:
spreadsheet://{spreadsheet_id}/info
: obtiene metadatos básicos sobre una hoja de cálculo de Google.- Devuelve: cadena JSON con información de la hoja de cálculo.
Configuración de Google Cloud Platform (detallada)
Esta configuración es necesaria antes de ejecutar el servidor.
- Crear o seleccionar un proyecto de GCP: vaya a la consola de Google Cloud .
- Habilitar API: Vaya a "API y Servicios" -> "Biblioteca". Busque y habilite:
Google Sheets API
Google Drive API
- Configurar credenciales: debe elegir uno de los métodos de autenticación a continuación (se recomienda una cuenta de servicio).
🔑 Autenticación y variables de entorno (detalladas)
El servidor necesita credenciales para acceder a las API de Google. Elija un método:
Método A: Cuenta de servicio (recomendado para servidores/automatización) ✅
- ¿Por qué? Sin interfaz gráfica (no requiere navegador), seguro, ideal para entornos de servidor. No caduca fácilmente.
- Pasos:
- Crear una cuenta de servicio: en GCP Console -> "IAM y administrador" -> "Cuentas de servicio".
- Haz clic en "+ CREAR CUENTA DE SERVICIO". Asígnale un nombre (p. ej.,
mcp-sheets-service
). - Otorgar roles: agregue el rol
Editor
para un acceso amplio, o roles más granulares (comoroles/drive.file
y roles específicos de Hojas de cálculo) para permisos más estrictos. - Haz clic en "Listo". Busca la cuenta y haz clic en Acciones (⋮) -> "Administrar claves".
- Haga clic en "AGREGAR CLAVE" -> "Crear nueva clave" -> JSON -> "CREAR".
- Descargue y almacene de forma segura el archivo de clave JSON.
- Haz clic en "+ CREAR CUENTA DE SERVICIO". Asígnale un nombre (p. ej.,
- Crear y compartir una carpeta de Google Drive:
- En Google Drive , cree una carpeta (por ejemplo, "Hojas administradas por AI").
- Anote el ID de la carpeta de la URL:
https://drive.google.com/drive/folders/THIS_IS_THE_FOLDER_ID
. - Haga clic derecho en la carpeta -> "Compartir" -> "Compartir".
- Ingrese el correo electrónico de la cuenta de servicio (del archivo JSON
client_email
). - Otorgar acceso al editor . Desmarcar la opción "Notificar". Hacer clic en "Compartir".
- Establecer variables de entorno:
SERVICE_ACCOUNT_PATH
: Ruta completa al archivo de clave JSON descargado.DRIVE_FOLDER_ID
: El ID de la carpeta compartida de Google Drive. (Consulta la Guía rápida para ver ejemplos específicos del sistema operativo).
- Crear una cuenta de servicio: en GCP Console -> "IAM y administrador" -> "Cuentas de servicio".
Método B: OAuth 2.0 (Interactivo/Uso personal) 🧑💻
- ¿Por qué? Para uso personal o desarrollo local donde se permite el inicio de sesión interactivo mediante navegador.
- Pasos:
- Configurar la pantalla de consentimiento de OAuth: En GCP Console -> "APIs y servicios" -> "Pantalla de consentimiento de OAuth". Seleccione "Externo", complete la información requerida, agregue ámbitos (
.../auth/spreadsheets
,.../auth/drive
) y agregue usuarios de prueba si es necesario. - Crear ID de cliente de OAuth: En la consola de GCP -> "API y servicios" -> "Credenciales". "+ CREAR CREDENCIALES" -> "ID de cliente de OAuth" -> Tipo: Aplicación de escritorio . Nombre: "CREAR". Descargue el archivo JSON .
- Establecer variables de entorno:
CREDENTIALS_PATH
: Ruta al archivo JSON de credenciales de OAuth descargado (predeterminado:credentials.json
).TOKEN_PATH
: Ruta donde se almacena el token de actualización del usuario tras el primer inicio de sesión (predeterminado:token.json
). Debe tener permisos de escritura.
- Configurar la pantalla de consentimiento de OAuth: En GCP Console -> "APIs y servicios" -> "Pantalla de consentimiento de OAuth". Seleccione "Externo", complete la información requerida, agregue ámbitos (
Método C: Inyección directa de credenciales (avanzado) 🔒
- ¿Por qué? Útil en entornos como Docker, Kubernetes o CI/CD, donde la gestión de archivos es compleja, pero las variables de entorno son fáciles y seguras. Evita el acceso al sistema de archivos.
- ¿Cómo? En lugar de proporcionar una ruta al archivo de credenciales, se proporciona el contenido del archivo, codificado en Base64, directamente en una variable de entorno.
- Pasos:
- Obtén el archivo JSON de tus credenciales (ya sea la clave de la cuenta de servicio o el archivo de ID de cliente de OAuth). Lo llamaremos
your_credentials.json
. - Generar la cadena Base64:
- (Linux/macOS):
base64 -w 0 your_credentials.json
- (Windows PowerShell):
- (Precaución): Evite pegar credenciales confidenciales en codificadores en línea que no sean confiables.
- (Linux/macOS):
- Establecer la variable de entorno:
CREDENTIALS_CONFIG
: Establezca esta variable en la cadena Base64 completa que acaba de generar.
- Obtén el archivo JSON de tus credenciales (ya sea la clave de la cuenta de servicio o el archivo de ID de cliente de OAuth). Lo llamaremos
Prioridad y resumen de autenticación
El servidor comprueba las credenciales en este orden:
CREDENTIALS_CONFIG
(contenido Base64)SERVICE_ACCOUNT_PATH
(Ruta a la cuenta de servicio JSON)CREDENTIALS_PATH
(Ruta a OAuth JSON): activa un flujo interactivo si el token falta o ha expirado.
Resumen de variables ambientales:
Variable | Método(s) | Descripción | Por defecto |
---|---|---|---|
SERVICE_ACCOUNT_PATH | Cuenta de servicio | Ruta al archivo de clave JSON de la cuenta de servicio. | - |
DRIVE_FOLDER_ID | Cuenta de servicio | ID de la carpeta de Google Drive compartida con la cuenta de servicio. | - |
CREDENTIALS_PATH | OAuth 2.0 | Ruta al archivo JSON de ID de cliente de OAuth 2.0. | credentials.json |
TOKEN_PATH | OAuth 2.0 | Ruta para almacenar el token OAuth generado. | token.json |
CREDENTIALS_CONFIG | Cuenta de servicio / OAuth 2.0 | Cadena JSON codificada en Base64 con contenido de credenciales. | - |
⚙️ Ejecución del servidor (detallado)
Método 1: Uso de uvx
(recomendado para usuarios)
Como se muestra en la Guía de inicio rápido , esta es la forma más sencilla. Configure las variables de entorno y luego ejecute:
uvx
se encarga de obtener y ejecutar el paquete temporalmente.
Método 2: Para el desarrollo (clonación del repositorio)
Si desea modificar el código:
- Clonar:
git clone https://github.com/yourusername/mcp-google-sheets.git && cd mcp-google-sheets
(Usar URL real) - Establecer variables de entorno: como se describe arriba.
- Ejecutar usando
uv
: (Utiliza el código local)
🔌 Uso con Claude Desktop
Agregue la configuración del servidor a claude_desktop_config.json
en mcpServers
. Seleccione el bloque que coincida con su configuración:
(Es posible que un navegador se abra para iniciar sesión en Google la primera vez)
💬 Ejemplos de indicaciones para Claude
Una vez conectado, pruebe indicaciones como:
- "Enumerar todas las hojas de cálculo a las que tengo acceso" (o "en mi carpeta Hojas de cálculo administradas por AI")
- Cree una nueva hoja de cálculo titulada "Informe de ventas trimestral del tercer trimestre de 2024".
- En la hoja de cálculo 'Informe de ventas trimestral', obtenga los datos del rango A1 a E10 de la Hoja 1.
- "Agregue una nueva hoja llamada 'Resumen' a la hoja de cálculo con ID
1aBcDeFgHiJkLmNoPqRsTuVwXyZ
." - "En mi hoja de cálculo 'Tareas del proyecto', Hoja 'Tareas', actualice la celda B2 a 'En progreso'."
- "Añada estas filas a la hoja 'Registro' en la hoja de cálculo
XYZ
:[['2024-07-31', 'Task A Completed'], ['2024-08-01', 'Task B Started']]
" - Obtenga un resumen de las hojas de cálculo 'Datos de ventas' y 'Recuento de inventario'.
- Comparte la hoja de cálculo "Calendario de vacaciones del equipo" con
team@example.com
como lector ymanager@example.com
como escritor. No envíes notificaciones.
🤝 Contribuyendo
¡Se agradecen las contribuciones! Abre un problema para comentar errores o solicitudes de funcionalidad. Se agradecen las solicitudes de incorporación de cambios.
📄 Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
🙏 Créditos
- Creado con FastMCP .
- Inspirado por kazz187/mcp-google-spreadsheet .
- Utiliza bibliotecas de cliente Python de la API de Google.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Un servidor de protocolo de contexto de modelo que se integra con Google Drive y Google Sheets, lo que permite a los usuarios crear, leer, actualizar y administrar hojas de cálculo mediante comandos de lenguaje natural.
- 🚀 Inicio rápido (Usando uvx )
- ✨ Características principales
- 🛠️ Herramientas y recursos disponibles
- Configuración de Google Cloud Platform (detallada)
- 🔑 Autenticación y variables de entorno (detalladas)
- ⚙️ Ejecución del servidor (detallado)
- 🔌 Uso con Claude Desktop
- 💬 Ejemplos de indicaciones para Claude
- 🤝 Contribuyendo
- 📄 Licencia
- 🙏 Créditos
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server that connects to Google Cloud services, allowing users to query logs, interact with Spanner databases, and analyze Cloud Monitoring metrics through natural language interaction.Last updated -162TypeScript
- -securityAlicense-qualityA Model Context Protocol server that provides seamless integration with Google Workspace, allowing operations with Google Drive, Docs, and Sheets through secure OAuth2 authentication.Last updated -PythonMIT License
- AsecurityFlicenseAqualityProvides a Model Context Protocol (MCP) server that enables LLMs to directly access and interact with Google Spreadsheet data.Last updated -21TypeScript
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI agents to interact with Google Workspace services including Drive, Docs, and Sheets through natural language commands.Last updated -8PythonMIT License
Appeared in Searches
- Google Drive and MCP (possible topics: integration, management, or related tools)
- Excel Spreadsheet Software or Related Resources
- Using Google to Send Emails and Update Calendar
- A platform for managing events and scheduling using Google Calendar
- Setting up productivity and collaboration tools like Google Sheets, Docs, Airtable, Slack, and more