google-workspace-mcp
google-workspace-mcp
Un proyecto para construir cinco servidores MCP remotos independientes para Google Workspace: Gmail, Google Calendar, Google Drive, Google Sheets y Google Docs.
Estado: pre-alfa. Los servidores MCP aún no están operativos. El repositorio contiene actualmente el andamiaje del paquete, cinco puntos de entrada provisionales, el núcleo de estado OAuth descendente y la configuración inmutable por servicio.
Estado actual
Implementado:
un paquete de Python con cinco puntos de entrada de consola;
estado OAuth descendente respaldado por SQLite;
registro de cliente OAuth y PKCE;
vinculación de tokens a un
resourcecanónico;rotación de tokens de actualización, detección de reproducción y revocación de familia;
metadatos de propiedad de estado inmutables para el servicio y el recurso;
configuración inmutable por servicio con validación estricta de puerto y TTL de token.
Los cinco puntos de entrada de consola son provisionales y salen con un mensaje de que el servicio no está construido. El transporte HTTP/MCP, la integración con la API de Google, las herramientas de servicio y la configuración de despliegue aún no están implementados.
Related MCP server: google-workspace-mcp-advanced
Servicios planificados
La tabla describe el alcance objetivo. Estas capacidades aún no están disponibles.
Servicio | Capacidades objetivo |
| buscar y leer mensajes e hilos, etiquetas, adjuntos, borradores, enviar y responder |
| calendarios, búsqueda y recuperación de eventos, disponibilidad, creación y actualización de eventos |
| búsqueda de archivos, metadatos, contenido de carpetas, descarga y exportación |
| metadatos de hojas de cálculo, lecturas y escrituras de rangos, operaciones por lotes |
| creación de documentos, recuperación de estructura y texto, inserción y reemplazo |
En la arquitectura objetivo, cada servicio se ejecuta como un proceso separado con su propio endpoint MCP, registro de herramientas, ámbitos OAuth de Google, credenciales de Google y estado OAuth descendente.
Arquitectura de autorización objetivo
El diseño utiliza dos capas independientes:
Cliente a servicio. El cliente MCP utiliza OAuth 2.1 con PKCE. Cada token de acceso está vinculado a un resource, y los tokens de actualización rotan con detección de reproducción.
Servicio a Google. Cada servicio utiliza credenciales de Google separadas y los ámbitos OAuth mínimos requeridos. Los tokens de actualización de Google nunca se devuelven a los clientes MCP.
Solo existe hoy el núcleo de estado para la primera capa. Los endpoints HTTP y la segunda capa de autorización no están implementados.
Tecnología
Requisitos previos de desarrollo
Git
Python 3.14
uv
Se requerirá un proyecto de Google Cloud y un cliente OAuth después de que se implemente la integración con la API de Google. La versión actual no los utiliza.
Configuración de desarrollo
git clone https://github.com/hawkxdev/google-workspace-mcp.git
cd google-workspace-mcp
uv sync --devNo es necesario activar el entorno virtual. Ejecuta los comandos a través de uv run.
Comprobaciones
uv run --no-sync pytest -q
uv run --no-sync ruff check .
uv run --no-sync ruff format --check .
uv run --no-sync mypy srcLa bandera --no-sync es necesaria al comprobar la versión de dependencia instalada. Un uv run simple puede resincronizar el entorno desde el archivo de bloqueo.
Estructura
Ruta | Propósito |
| ciclo de vida del estado OAuth descendente |
| configuración de entorno inmutable por servicio |
| cinco puntos de entrada provisionales |
| regresiones del núcleo OAuth y de los puntos de entrada del paquete |
| metadatos del paquete, dependencias y configuración de herramientas |
| procedencia del código adaptado |
Contribuciones
El proyecto está en desarrollo temprano. Antes de realizar un cambio sustancial, abre un issue describiendo el comportamiento propuesto. Los cambios no deben fusionar los cinco servicios en un solo proceso, compartir credenciales entre servicios ni introducir una omisión de OAuth.
Procedencia
El proyecto adapta el núcleo OAuth 2.1 de jimprosser/obsidian-web-mcp bajo la Licencia MIT. Consulta NOTICE para más detalles.
El núcleo OAuth 2.1 descendente se basa en la revisión 7e6a52d791a50e3bd533df1060217973ab5be1c8. Incluye correcciones adicionales para los ciclos de vida de cliente y token, rotación de tokens de actualización, detección de reproducción y canonicalización de resource.
La funcionalidad de almacenamiento de Obsidian y sincronización de Git del proyecto original no fue copiada.
Este proyecto utiliza mcp>=2,<3. El paquete mcp.server.fastmcp eliminado en MCP 2.0 no es necesario; la composición futura utilizará mcp.server.mcpserver.
Autor
Licencia
MIT, consulta LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server with managed OAuth for 15+ toolkits: Google Workspace, Fitbit, Oura, Kalshi, etc.
Permissioned access to Gmail, Drive and Calendar via the user's own Google account
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Streamable HTTP MCP server for Google Calendar and Sheets with OAuth login.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for Google Workspace APIs - Docs, Sheets, Drive, Gmail, and Calendar. Enables reading, creating, and editing Google Docs and Sheets, managing comments, reading emails, and viewing calendar events.3414 npm17MIT
- AlicenseBqualityDmaintenanceProduction-ready MCP server for Google Workspace providing broad coverage across Gmail, Drive, Calendar, Docs, Sheets, and more, with safe-by-default write operations and markdown-to-Google-Docs support.100MIT
- AlicenseCqualityAmaintenanceA multi-account Google Workspace MCP server that drives Gmail, Google Calendar, and Google Drive across any number of Google accounts in parallel from one server.422MIT
- FlicenseBqualityDmaintenanceMCP server providing full access to Google Workspace services (Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Tasks, Contacts) using OAuth authentication.1001-