Servidor MCP de Google Calendar
Este es un servidor de Protocolo de Contexto de Modelo (MCP) que se integra con Google Calendar. Permite a los LLM leer, crear y gestionar eventos de calendario mediante una interfaz estandarizada.
Características
Lista de calendarios disponibles
Enumerar eventos de un calendario
Crear nuevos eventos de calendario
Actualizar eventos existentes
Eliminar eventos
Procesar eventos a partir de capturas de pantalla e imágenes
Requisitos
Node.js 16 o superior
TypeScript 5.3 o superior
Un proyecto de Google Cloud con la API de Calendario habilitada
Credenciales de OAuth 2.0 (ID de cliente y secreto de cliente)
Estructura del proyecto
Configuración de Google Cloud
Vaya a la consola de Google Cloud
Crea un nuevo proyecto o selecciona uno existente.
Habilite la API de Google Calendar para su proyecto. Asegúrese de seleccionar el proyecto correcto en la barra superior antes de habilitar la API.
Crear credenciales OAuth 2.0:
Ir a Credenciales
Haga clic en "Crear credenciales" > "ID de cliente OAuth".
Seleccione "Datos del usuario" para el tipo de datos a los que accederá la aplicación.
Añade el nombre de tu aplicación y tu información de contacto
Agregue los siguientes alcances (opcional):
https://www.googleapis.com/auth/calendar.events
Seleccione "Aplicación de escritorio" como tipo de aplicación
Agregue su dirección de correo electrónico como usuario de prueba en la pantalla de consentimiento de OAuth
Nota: El usuario de prueba tardará unos minutos en añadirse. El consentimiento de OAuth no le permitirá continuar hasta que se haya propagado.
Instalación
Clonar el repositorio
Instalar dependencias:
npm installConstruya el código TypeScript:
npm run buildDescargue sus credenciales de Google OAuth desde Google Cloud Console (en "Credenciales") y cambie el nombre del archivo a
gcp-oauth.keys.jsony colóquelo en el directorio raíz del proyecto.
Scripts disponibles
npm run build: compila el código TypeScriptnpm run build:watch: compila TypeScript en modo de vigilancia para desarrollonpm run dev: inicia el servidor en modo de desarrollo usando ts-nodenpm run auth: inicia el servidor de autenticación para el flujo de Google OAuth
Autenticación
El servidor admite flujos de autenticación tanto automáticos como manuales:
Autenticación automática (recomendada)
Coloque sus credenciales de Google OAuth en un archivo llamado
gcp-oauth.keys.jsonen el directorio raíz del proyecto.Inicie el servidor MCP:
npm startSi no se encuentran tokens de autenticación válidos, el servidor automáticamente:
Iniciar un servidor de autenticación (en los puertos 3000-3004)
Abra una ventana del navegador para el flujo OAuth
Guarde los tokens de forma segura una vez autenticados
Apagar el servidor de autenticación
Continuar con el funcionamiento normal del servidor MCP
El servidor administra automáticamente la actualización del token y la re-autenticación cuando sea necesario:
Los tokens se actualizan automáticamente antes de su vencimiento.
Si la actualización falla, los mensajes de error claros lo guiarán a través de la reautenticación
Los archivos de token se almacenan de forma segura con permisos restringidos
Autenticación manual
Para usuarios avanzados o para solucionar problemas, puede ejecutar manualmente el flujo de autenticación:
Esto hará lo siguiente:
Iniciar el servidor de autenticación
Abra una ventana del navegador para el flujo OAuth
Guarde los tokens y salga
Notas de seguridad
Las credenciales de OAuth se almacenan en
gcp-oauth.keys.jsonLos tokens de autenticación se almacenan en
.gcp-saved-tokens.jsoncon 600 permisosLos tokens se actualizan automáticamente en segundo plano.
La integridad del token se valida antes de cada llamada a la API
El servidor de autenticación se apaga automáticamente después de una autenticación exitosa
Nunca envíe credenciales OAuth ni archivos de token al control de versiones
Uso
El servidor expone las siguientes herramientas:
list-calendars: Lista todos los calendarios disponibleslist-events: enumera eventos de un calendariocreate-event: Crea un nuevo evento de calendarioupdate-event: Actualizar un evento de calendario existentedelete-event: Eliminar un evento del calendario
Uso con Claude Desktop
Agregue esta configuración a su archivo de configuración de Claude Desktop. Por ejemplo
/Users/<user>/Library/Application Support/Claude/claude_desktop_config.json:{ "mcpServers": { "google-calendar": { "command": "node", "args": ["path/to/build/index.js"] } } }Reiniciar Claude Desktop
Ejemplo de uso
Además de las capacidades normales que esperaría de una integración de calendario, también puede hacer cosas realmente dinámicas como agregar eventos desde capturas de pantalla e imágenes y mucho más.
Agregar eventos desde capturas de pantalla e imágenes:
Add this event to my calendar based on the attached screenshot.Formatos de imagen admitidos: PNG, JPEG, GIF Las imágenes pueden contener detalles del evento, como fecha, hora, ubicación y descripción.
Comprobar asistencia:
Which events tomorrow have attendees who have not accepted the invitation?Coordinar automáticamente eventos:
Here's some available that was provided to me by someone I am interviewing. Take a look at the available times and create an event for me to interview them that is free on my work calendar.Proporcione su propia disponibilidad:
Please provide availability looking at both my personal and work calendar for this upcoming week. Choose times that work well for normal working hours on the East Coast. Meeting time is 1 hour
Desarrollo
Solución de problemas
Problemas comunes y soluciones:
El token OAuth caduca después de una semana (7 días)
Las aplicaciones que están en modo de prueba, en lugar de producción, deberán pasar por el flujo OAuth nuevamente después de una semana.
Errores de token OAuth
Asegúrese de que su
gcp-oauth.keys.jsontenga el formato correctoIntente eliminar
.gcp-saved-tokens.jsony volver a autenticarse
Errores de compilación de TypeScript
Asegúrese de que todas las dependencias estén instaladas:
npm installComprueba que tu versión de Node.js coincida con los requisitos previos
Limpiar el directorio de compilación:
rm -rf build/
Problemas de procesamiento de imágenes
Verifique que el formato de imagen sea compatible
Asegúrese de que la imagen contenga texto claro y legible.
Notas de seguridad
El servidor se ejecuta localmente y requiere autenticación OAuth
Las credenciales de OAuth deben almacenarse en
gcp-oauth.keys.jsonen la raíz del proyectoLos tokens de autenticación se almacenan en
.gcp-saved-tokens.jsoncon permisos de archivo restringidosLos tokens se actualizan automáticamente cuando caducan
Nunca envíe sus credenciales OAuth ni sus archivos de token al control de versiones
Para uso en producción, haga que Google verifique su aplicación OAuth
Licencia
Instituto Tecnológico de Massachusetts (MIT)
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.
Permite a los LLM leer, crear y administrar eventos de Google Calendar a través de una interfaz estandarizada, que incluye funciones como enumerar calendarios, administrar eventos y procesar información del calendario a partir de capturas de pantalla e imágenes.
Related MCP Servers
- -security-license-qualityLets LLMs read and manage Google Calendar events.Last updated -582742MIT License
- -security-license-qualityEnables comprehensive calendar management with capabilities to create, list, update, and delete events through a Model Context Protocol server integrated with Google Calendar.Last updated -143MIT License
- -security-license-qualityEnables AI assistants to manage Google Calendar through natural language interactions with features like creating, updating, and deleting events, searching calendars, and supporting natural language date/time inputs.Last updated -22MIT License
- -security-license-qualityEnables programmatic management of Google Calendar events through natural language interactions, supporting creation, reading, updating, and deletion of events with features for recurring events, attendees, and reminders.Last updated -2