Skip to main content
Glama
WhymustIhaveaname

lite-google-workspace-mcp

lite-google-workspace-mcp

Servidor MCP ligero para Gmail y Google Calendar. Cada cuenta de Google se ejecuta como un proceso independiente en su propio puerto.

Característica de seguridad importante: los envíos directos de Gmail requieren una lista allowed_recipients por cuenta. Si la lista falta o está vacía, todos los envíos se bloquean. La lista de permitidos se aplica solo a send_gmail_message; draft_gmail_message permanece sin restricciones para que los agentes puedan preparar borradores para revisión humana sin poder enviarlos.

Cómo funciona

Claude Code  --HTTP-->  lite-google-workspace-mcp (port 8001)  --Google API-->  account-A@gmail.com
             --HTTP-->  lite-google-workspace-mcp (port 8002)  --Google API-->  account-B@umd.edu
  • Un proceso por cuenta de Google, cada uno escuchando en un puerto separado

  • Tokens OAuth almacenados localmente en ~/.config/lite-google-workspace-mcp/tokens/<account>.json

  • La renovación de tokens se gestiona automáticamente mediante google-auth

  • 21 herramientas expuestas por cuenta: Gmail (búsqueda, lectura, envío, borrador, etiquetas, filtros) + Calendar (eventos, free/busy, OOO, tiempo de concentración)

Related MCP server: fastmcp-gsuite

Requisitos previos

  1. Un proyecto de GCP con la API de Gmail y la API de Google Calendar habilitadas

  2. Una credencial OAuth 2.0 (tipo de aplicación web) con URI de redirección http://localhost:8000/oauth2callback

  3. Descarga el JSON de credencial y guárdalo como ~/.config/lite-google-workspace-mcp/client_secret.json

Instalación

git clone https://github.com/WhymustIhaveaname/lite-google-workspace-mcp.git
cd lite-google-workspace-mcp
uv sync

Configuración inicial

1. Configurar puertos

Crea ~/.config/lite-google-workspace-mcp/config.toml:

[accounts.myaccount]
port = 8001

[accounts.work]
port = 8002
allowed_recipients = ["boss@company.com", "team@company.com"]
allowed_body_formats = ["html"]

El nombre de la cuenta es solo una etiqueta que eliges. Se asigna a un archivo de token y a un puerto.

send_gmail_message solo entregará a direcciones explícitamente listadas en allowed_recipients (verificado contra para/cc/bcc, sin distinción de mayúsculas y minúsculas). Si allowed_recipients se omite o está vacío, todos los envíos se bloquean. Un campo de destinatario que no se pueda analizar en direcciones se trata como no permitido en lugar de omitirse, de modo que los separadores exóticos no puedan colar una dirección más allá de la verificación. Los borradores nunca se entregan, por lo que draft_gmail_message no está restringido por esta lista.

Tanto send_gmail_message como draft_gmail_message solo aceptan formatos listados en allowed_body_formats. Si la opción se omite, el valor predeterminado es ["html"], por lo que los mensajes de texto plano se bloquean. Añade "plain" explícitamente solo si esa cuenta necesita crear o enviar correo de texto plano.

Ambas opciones deben ser arrays TOML de cadenas, y allowed_body_formats solo acepta "plain" y "html". Cualquier otra cosa aborta el inicio del servidor en lugar de bloquear silenciosamente todos los mensajes.

Si un adjunto no se puede leer o decodificar, no se envía nada y no se crea ningún borrador. El error nombra el adjunto que falla para que se pueda corregir o eliminar antes de reintentar.

2. Autorizar cuentas

uv run lite-google-workspace-mcp auth myaccount

Esto imprime una URL de OAuth y abre tu navegador. Inicia sesión con la cuenta de Google que quieras enlazar, concede permisos (puedes omitir algunos ámbitos si quieres) y el token se guarda localmente.

Repite para cada cuenta.

3. Iniciar el servidor

Manual:

uv run lite-google-workspace-mcp serve --account myaccount

Con systemd (recomendado):

cp contrib/lite-google-workspace-mcp@.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now lite-google-workspace-mcp@myaccount

4. Conectar con Claude Code

claude mcp add --scope user --transport http lite-gmail-myaccount http://localhost:8001/mcp

Reautorización

Si un token caduca o quieres cambiar los ámbitos concedidos:

# Stop the service first (auth uses port 8000 which must be free)
systemctl --user stop lite-google-workspace-mcp@myaccount

# Re-authorize
uv run lite-google-workspace-mcp auth myaccount

# Restart
systemctl --user start lite-google-workspace-mcp@myaccount

Tokens que caducan cada 7 días

Si la pantalla de consentimiento de OAuth tiene un tipo de usuario externo y un estado de publicación en Prueba, Google caduca cada token de actualización 7 días después del consentimiento (esto se aplica a cualquier ámbito más allá del perfil/correo básico). El servicio entonces falla al iniciar con invalid_grant: Token has been expired or revoked, y reautorizar solo restablece el reloj de 7 días.

La solución es publicar la aplicación en producción: consola de GCP > APIs y servicios > Pantalla de consentimiento de OAuth > Publicar aplicación. Los tokens de actualización de producción no caducan con un temporizador. Con ámbitos de Gmail restringidos verás una advertencia de «aplicación no verificada» hasta la verificación, lo cual es inofensivo para uso personal o autoalojado.

Herramientas

Gmail (14 herramientas)

Herramienta

Descripción

search_gmail_messages

Búsqueda por sintaxis de consulta de Gmail

get_gmail_message_content

Leer un solo mensaje

get_gmail_messages_content_batch

Leer varios mensajes

get_gmail_thread_content

Leer un hilo completo

get_gmail_threads_content_batch

Leer varios hilos

get_gmail_attachment_content

Descargar adjunto

send_gmail_message

Enviar (texto plano o HTML, con adjuntos)

draft_gmail_message

Crear un borrador

list_gmail_labels

Listar todas las etiquetas

manage_gmail_label

Crear/actualizar/eliminar etiquetas

list_gmail_filters

Listar todos los filtros

manage_gmail_filter

Crear/eliminar filtros

modify_gmail_message_labels

Añadir/quitar etiquetas en un mensaje

batch_modify_gmail_message_labels

Modificación masiva de etiquetas

Calendar (7 herramientas)

Herramienta

Descripción

list_calendars

Listar todos los calendarios

get_events

Obtener eventos por ID o rango de tiempo

manage_event

Crear/actualizar/eliminar/confirmar asistencia a eventos

manage_out_of_office

Crear/listar/actualizar/eliminar bloques OOO

manage_focus_time

Crear/listar/actualizar/eliminar tiempo de concentración

query_freebusy

Comprobar disponibilidad

create_calendar

Crear un nuevo calendario

Desarrollo

uv sync --extra dev
uv run pytest
uv run ruff check src/
F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server to interact with Google Gmail and Calendar APIs. Supports multiple accounts, email search and drafting, and calendar event management.
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    MCP server for interacting with Google Gmail and Calendar via natural language, supporting multiple accounts.
    35
    9
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Local MCP server for reading/sending email via Gmail and managing Google Calendar events, enabling an AI agent to handle email and calendar operations through natural language.
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Custom MCP server for Gmail integration, enabling email listing, reading, searching, and sending via natural language.

View all related MCP servers

Related MCP Connectors

  • Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.

  • Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.

  • Read, search, send, organize, draft and schedule email across your inboxes from any MCP client.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/WhymustIhaveaname/lite-google-workspace-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server