Una pasarela basada en el protocolo MCP que permite a los LLMs interactuar con los servicios de Google Workspace de forma segura y en tiempo real
El servidor Google Workspace MCP, desarrollado por Taylor Wilsdon, es una solución open source de alto rendimiento que actúa como puente entre los modelos de lenguaje (LLMs) y los servicios de Google Workspace (Calendar, Gmail, Drive y Docs), utilizando el Model Context Protocol (MCP) como estándar de integración.
Este servidor está diseñado para que asistentes de inteligencia artificial, agentes autónomos o herramientas basadas en chat puedan consultar, crear y modificar datos reales del usuario (correos, eventos, documentos…) de forma segura, eficiente y extensible.
🔧 Funcionalidades destacadas
- Autenticación OAuth 2.0: gestión segura del flujo de autorización y tokens
- Google Calendar: lectura y creación de eventos, soporte para eventos de día completo o con hora específica
- Google Drive: búsqueda, lectura y escritura de archivos (incluye soporte para formatos .docx y .xlsx)
- Gmail: búsqueda de mensajes, lectura, redacción y envío de correos electrónicos
- Google Docs: creación, lectura y listado de documentos
- Transporte HTTP streamable + SSE: compatible con entornos de escritorio y clientes MCP remotos
- Integración con mcpo y OpenAPI: perfecto para herramientas como Open WebUI
- Diseño extensible y modular
- Gestión de sesiones segura y multicliente
🔄 ¿Para qué sirve?
Este servidor es ideal para:
- Asistentes IA personales que gestionan correos, calendarios o documentos
- Agentes LLM empresariales que generan informes o preparan contenido usando Google Docs o Drive
- Copilotos y herramientas IA que requieren acceso en tiempo real a datos personales o corporativos
- Proyectos de automatización integrados con chatops o UIs personalizadas
⚙️ Guía rápida de instalación
Requisitos
- Python 3.11+
- uv (gestor de entornos y paquetes)
- Proyecto en Google Cloud con credenciales OAuth 2.0
- APIs habilitadas: Gmail, Calendar, Drive, Docs
Instalación
git clone https://github.com/taylorwilsdon/google_workspace_mcp.git
cd google_workspace_mcp
uv venv
source .venv/bin/activate
uv pip install -e .
Lenguaje del código: PHP (php)
Coloca tu archivo client_secret.json
en el directorio raíz y nunca lo subas al repositorio.
Ejecución del servidor
export OAUTHLIB_INSECURE_TRANSPORT=1 # Para desarrollo local
uv run main.py
Lenguaje del código: PHP (php)
El servidor estará disponible en http://localhost:8000
.
🌐 Exposición con OpenAPI (mcpo + Open WebUI)
Archivo config.json
de ejemplo:
{
"mcpServers": {
"google_workspace": {
"type": "streamablehttp",
"url": "http://localhost:8000/mcp"
}
}
}
Lenguaje del código: JSON / JSON con comentarios (json)
Lanza el proxy mcpo
:
mcpo --port 8001 --config config.json --api-key "clave-secreta"
Lenguaje del código: JavaScript (javascript)
- OpenAPI disponible en:
http://localhost:8001/docs
- Integrable como herramienta en Open WebUI (sección Tools > Add Tool)
📑 Herramientas disponibles por servicio
📅 Google Calendar
list_calendars
: listar calendariosget_events
: obtener eventos futuroscreate_event
: crear evento nuevomodify_event
: actualizar eventodelete_event
: eliminar evento
📧 Gmail
search_gmail_messages
: buscar correos con sintaxis avanzadaget_gmail_message_content
: leer contenido de un mensajesend_gmail_message
: enviar correodraft_gmail_message
: guardar borrador
📁 Google Drive
search_drive_files
: buscar archivos por nombre o tipoget_drive_file_content
: leer contenido de archivocreate_drive_file
: crear nuevo archivolist_drive_items
: listar carpetas y documentos
📄 Google Docs
search_docs
: buscar documentosget_doc_content
: leer texto de un documentocreate_doc
: crear documento nuevo
Todos los comandos soportan autenticación vía sesión (session_id) o mediante el correo electrónico del usuario (user_google_email
). Si no hay credenciales disponibles, el servidor devolverá una URL de autorización para completar el flujo OAuth.
🔐 Consideraciones de seguridad
- Nunca subas
client_secret.json
ni archivos con tokens a Git - El servidor gestiona sesiones con tokens OAuth de forma local y segura
- Usa HTTPS en producción y limita el uso de
OAUTHLIB_INSECURE_TRANSPORT
solo para desarrollo - Protege los endpoints de
mcpo
con claves API y/o un proxy inverso (Nginx, Caddy…)
🧩 ¿Quieres extenderlo?
- Define nuevas herramientas asincrónicas en módulos específicos
- Usa
@server.tool("nombre")
para registrar - Autentica con
get_credentials(...)
- Importa las herramientas en
main.py
- Declara los
scopes
específicos por herramienta
Repositorio GitHub: github.com/taylorwilsdon/google_workspace_mcp
Licencia: MIT
Conclusión: Si estás construyendo asistentes inteligentes, agentes LLM o integraciones personalizadas con Google Workspace, Google Workspace MCP Server es una solución lista para producción, segura y completamente extensible, creada pensando en desarrolladores y sysadmins.