MCP Google Workspace
Un servidor MCP completo para gestionar servicios de Google Workspace como Calendar, Contacts y Gmail mediante autenticación OAuth2.
Documentación
MCP Google Workspace
El ÚNICO servidor MCP integral para Google Workspace que permite a Claude, Cursor, Windsurf y otros sistemas de IA gestionar completamente Google Calendar, Contactos y Gmail - ¡leer, crear, actualizar, eliminar y organizar en los tres servicios!
Integración completa de Google Workspace para Claude Desktop y otros agentes de IA que utilizan el Protocolo de Contexto de Modelo (MCP). Este servidor proporciona capacidades integrales de gestión para Calendar, Contactos y Gmail con autenticación OAuth2.
¿Por qué este servidor MCP?
Otros servidores MCP de calendario solo proporcionan acceso de solo lectura. Este es el único servidor MCP que brinda a sistemas de IA como Claude, Cursor y Windsurf la capacidad de:
Gestión de Calendario
- ✅ Crear nuevos eventos de calendario
- ✅ Actualizar eventos existentes (incluidos eventos recurrentes)
- ✅ Eliminar eventos
- ✅ Gestionar múltiples calendarios
- ✅ Verificar disponibilidad en todos los calendarios
Gestión de Contactos
- ✅ Listar y buscar contactos
- ✅ Crear nuevos contactos con todos los detalles
- ✅ Actualizar contactos existentes
- ✅ Eliminar contactos
- ✅ Gestionar detalles de contacto (correos electrónicos, teléfonos, direcciones, organizaciones)
Gestión de Gmail (¡NUEVO!)
- ✅ Buscar y listar correos electrónicos con consultas potentes
- ✅ Leer contenido completo de correos con archivos adjuntos
- ✅ Enviar nuevos correos y respuestas
- ✅ Organizar con etiquetas y carpetas
- ✅ Actualizar estado del correo (leído/no leído, destacado, importante)
- ✅ Crear y gestionar borradores
- ✅ Operaciones por lotes para gestión masiva de correos
Características
Características del Calendario
- Soporte Multi-Calendario: Listar eventos de múltiples calendarios simultáneamente
- Gestión de Eventos: Crear, actualizar (incluidas notificaciones), eliminar y buscar eventos de calendario
- Eventos Recurrentes: Ámbitos de modificación avanzados para eventos recurrentes (instancia única, todas las instancias o solo instancias futuras)
- Gestión de Calendarios: Listar calendarios y sus propiedades
- Consultas de Disponibilidad: Verificar disponibilidad en todos los calendarios
Características de Contactos
- Búsqueda de Contactos: Buscar contactos por nombre, correo electrónico u otros criterios
- Detalles Completos de Contacto: Gestionar nombres, correos electrónicos, números de teléfono, direcciones, organizaciones y notas
- Operaciones por Lotes: Listar contactos con soporte de paginación
- Selección de Campos: Elegir qué campos de contacto recuperar para respuestas optimizadas
Características de Gmail (¡NUEVO!)
- Búsqueda Avanzada: Usar los potentes operadores de búsqueda de Gmail
- Gestión de Correos: Leer, enviar, responder, reenviar y eliminar correos
- Organización con Etiquetas: Crear y gestionar etiquetas/carpetas
- Gestión de Borradores: Crear, actualizar y enviar borradores
- Operaciones por Lotes: Actualizar múltiples correos a la vez
- Soporte de Hilos: Manejar conversaciones de correo
- Información de Adjuntos: Ver detalles de archivos adjuntos (nombres, tamaños, tipos)
Autenticación
- Autenticación OAuth2: Autenticación segura con renovación automática de tokens
- Permisos Unificados: Un único flujo de autenticación para acceso a Calendar, Contactos y Gmail
Instalación
Mediante npx (Recomendado)
npx mcp-google
Mediante npm
npm install -g mcp-google
Configuración
1. Crear Credenciales OAuth de Google
- Vaya a Google Cloud Console
- Cree un nuevo proyecto o seleccione uno existente
- Habilite estas API:
- Configure la pantalla de consentimiento OAuth:
- Vaya a "APIs y servicios" > "Pantalla de consentimiento de OAuth"
- Elija el tipo de usuario "Externo"
- Complete los campos obligatorios (nombre de la aplicación, correo de soporte, etc.)
- Agregue su correo electrónico como usuario de prueba (requerido mientras esté en modo de prueba)
- Cree las credenciales OAuth 2.0:
- Vaya a "APIs y servicios" > "Credenciales"
- Haga clic en "Crear credenciales" > "ID de cliente de OAuth"
- Elija "Aplicación de escritorio" como tipo de aplicación
- Asigne un nombre a su cliente OAuth (por ejemplo, "Cliente MCP de Calendario")
- Descargue el archivo JSON de credenciales
2. Configurar Claude Desktop
Agregue esto a su archivo de configuración de Claude Desktop:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Opción A: Variables de Entorno Directas (¡La más simple - No se necesita archivo JSON!)
{
"mcpServers": {
"google-workspace": {
"command": "npx",
"args": ["-y", "mcp-google"],
"env": {
"GOOGLE_CLIENT_ID": "YOUR_CLIENT_ID.apps.googleusercontent.com",
"GOOGLE_CLIENT_SECRET": "YOUR_CLIENT_SECRET"
}
}
}
}
Opción B: Usar el Archivo de Credenciales de Google Descargado
{
"mcpServers": {
"google-workspace": {
"command": "npx",
"args": ["-y", "mcp-google"],
"env": {
"GOOGLE_OAUTH_CREDENTIALS": "/path/to/downloaded/credentials.json"
}
}
}
}
Simplemente use la ruta del archivo donde guardó el archivo JSON descargado de Google Cloud Console.
3. Autenticarse
- Reinicie Claude Desktop
- El servidor MCP abrirá una ventana del navegador para la autenticación
- Inicie sesión con su cuenta de Google y conceda permisos de Calendar, Contactos Y Gmail
- Los tokens se guardarán de forma segura para uso futuro
Nota: Si está actualizando desde una versión anterior, deberá volver a autenticarse para conceder los nuevos permisos de Gmail.
Variables de Entorno
GOOGLE_OAUTH_CREDENTIALS: Ruta al archivo JSON de credenciales OAuthGOOGLE_CALENDAR_MCP_TOKEN_PATH: Ruta personalizada para el almacenamiento de tokens (opcional)NODE_ENV: Establecer en "production" para uso en producción
Herramientas Disponibles
Herramientas de Calendario
list-calendars
Listar todos los calendarios accesibles con sus propiedades.
list-events
Listar eventos de uno o más calendarios con opciones de filtrado.
create-event
Crear un nuevo evento de calendario con soporte para:
- Eventos únicos o recurrentes
- Asistentes y notificaciones
- Colores personalizados
- Zonas horarias
update-event
Actualizar eventos existentes, incluyendo:
- Modificación de instancias individuales de eventos recurrentes
- Cambio de detalles del evento
- Gestión de asistentes
delete-event
Eliminar eventos de calendarios.
search-events
Buscar eventos en todos los calendarios mediante consultas de texto.
get-freebusy
Consultar información de disponibilidad en múltiples calendarios.
list-colors
Listar los colores disponibles para eventos de calendario.
Herramientas de Contactos
list-contacts
Listar y buscar contactos con soporte de paginación.
get-contact
Obtener información detallada sobre un contacto específico.
create-contact
Crear nuevos contactos con:
- Nombres y apodos
- Múltiples direcciones de correo electrónico
- Números de teléfono
- Direcciones físicas
- Organizaciones y títulos de trabajo
- Notas y biografías
update-contact
Actualizar información de contactos existentes con actualizaciones específicas por campo.
delete-contact
Eliminar contactos de Google Contacts.
Herramientas de Gmail (¡NUEVO!)
list-emails
Buscar y listar correos electrónicos con potentes consultas de Gmail.
get-email
Leer el contenido completo del correo, incluidos el cuerpo y los archivos adjuntos.
send-email
Enviar nuevos correos o respuestas con soporte HTML.
update-email
Modificar propiedades del correo (etiquetas, estado de lectura, destacado, archivo).
delete-email
Mover correos a la papelera o eliminarlos permanentemente.
create-draft
Crear borradores de correo para editar más tarde.
update-draft
Editar borradores de correo existentes.
send-draft
Enviar un borrador guardado.
list-labels
Listar todas las etiquetas/carpetas de Gmail.
create-label
Crear nuevas etiquetas para organizar correos.
update-label
Modificar propiedades y colores de etiquetas.
delete-label
Eliminar etiquetas de Gmail.
batch-update-emails
Realizar operaciones masivas en múltiples correos.
Ejemplos de Uso
Ejemplos de Calendario
Verificar disponibilidad
What times am I free tomorrow between 9am and 5pm?
Crear un evento
Create a meeting called "Team Standup" tomorrow at 10am for 30 minutes
Buscar eventos
Find all events this week that mention "project review"
Actualizar eventos recurrentes
Change all future instances of my weekly team meeting to 2pm
Ejemplos de Contactos
Listar contactos
Show me all my contacts with email addresses
Crear un contacto
Create a contact for John Doe, email: john@example.com, phone: 555-1234
Buscar contactos
Find contacts who work at Google
Actualizar contacto
Update Jane Smith's phone number to 555-5678
Ejemplos de Gmail
Buscar correos
Show me all unread emails from this week
Enviar correo
Send an email to john@example.com with subject "Meeting Tomorrow" and body "Let's meet at 2pm"
Organizar bandeja de entrada
Mark all newsletters as read and archive them
Gestionar etiquetas
Create a label called "Important Projects" and apply it to all emails from my manager
Operaciones por lotes
Move all emails older than 30 days to trash
Solución de Problemas
Problemas de Autenticación
- Asegúrese de que la URI de redirección coincida exactamente:
http://localhost:3000/oauth2callback - Verifique que tanto Calendar API como People API estén habilitadas en Google Cloud Console
- Confirme que las credenciales OAuth sean de tipo "Aplicación de escritorio"
- Si está actualizando desde una versión solo de calendario, vuelva a ejecutar la autenticación para conceder permisos de contactos
Expiración de Tokens
- Los tokens se renuevan automáticamente
- Si los problemas persisten, elimine el archivo de token y vuelva a autenticarse
Errores de Permisos
- Asegúrese de haber concedido todos los permisos solicitados de Calendar, Contactos y Gmail
- Verifique que la cuenta de Google tenga acceso a los recursos a los que intenta acceder
- Asegúrese de que todas las API requeridas estén habilitadas en su proyecto de Google Cloud:
- Google Calendar API
- Google People API
- Gmail API
Seguridad
- Los tokens OAuth se almacenan con permisos restringidos (0600)
- Los secretos de cliente nunca deben enviarse al control de versiones
- Use variables de entorno para configuración sensible
Desarrollo
# Install dependencies
npm install
# Build
npm run build
# Run locally
npm start
Equipo
Desarrollado por Boris Djordjevic y el equipo de 199 Longevity.
Construido sobre el google-calendar-mcp original de nspady.
Licencia
MIT
Contribuciones
¡Las contribuciones son bienvenidas! Abra un issue o envíe un pull request en GitHub.
Registro de Cambios
v1.1.3
- Se corrigió la validación de zona horaria para admitir milisegundos en marcas de tiempo ISO
- Ahora es compatible con el formato
Date.toISOString()de JavaScript (por ejemplo,2024-01-01T00:00:00.000Z) - Se mejoró la expresión regular de validación de fecha y hora para manejar ambos formatos, con y sin milisegundos
v1.1.2
- Se mejoró el flujo de autenticación con una página de destino clara e informativa
- Los usuarios ahora ven exactamente qué permisos tendrá Claude antes de conectarse
- Interfaz profesional que identifica claramente esto como autenticación de Google Calendar
- Se agregó una nota de seguridad indicando que las credenciales nunca se almacenan
v1.1.1
- Documentación mejorada para resaltar las capacidades únicas de gestión completa de calendario
- Se agregó la sección "¿Por qué este servidor MCP?" enfatizando las funciones de crear/actualizar/eliminar
- Se actualizó la descripción del paquete y las palabras clave para una mejor visibilidad
v1.1.0
- Configuración simplificada: Se agregó soporte para variables de entorno directas (¡no se necesita archivo JSON!)
- Los usuarios ahora pueden usar
GOOGLE_CLIENT_IDyGOOGLE_CLIENT_SECRETdirectamente en la configuración de Claude - Se actualizó el README con instrucciones más claras para la configuración OAuth de aplicaciones de escritorio
- Se eliminaron los pasos innecesarios de configuración de URI de redirección
v1.0.1
- Se agregó lógica de reintento automático para errores de red
- Se mejoró el manejo de errores para problemas de cierre de conexión
- Recuperación silenciosa cuando los eventos se crean a pesar de errores de conexión
v1.0.0
- Lanzamiento inicial con autenticación OAuth2 mejorada
- Herramientas integrales de gestión de calendario
- Soporte multi-calendario
- Consultas de disponibilidad