Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

Google Workspace MCP Server

de conorbronsdonversión 0.4.1i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.conorbronsdon/gws-mcp-server

Instalar

Resumen

Descripción del creador (original en inglés)

67 curated MCP tools for Google Workspace: Gmail, Calendar, Drive, Sheets, Docs, Slides, Tasks.

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Chat y correo

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

Necesitas

  • npmNode.js instalado (para el comando npx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "gws": {
      "command": "npx",
      "args": [
        "-y",
        "gws-mcp-server",
        "--services",
        "drive,sheets,calendar,docs,slides,gmail,tasks"
      ]
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add gws -- npx -y gws-mcp-server --services 'drive,sheets,calendar,docs,slides,gmail,tasks'

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "gws": {
      "command": "npx",
      "args": [
        "-y",
        "gws-mcp-server",
        "--services",
        "drive,sheets,calendar,docs,slides,gmail,tasks"
      ]
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "gws": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "gws-mcp-server",
        "--services",
        "drive,sheets,calendar,docs,slides,gmail,tasks"
      ]
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub conorbronsdon, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Chat y correoi

  • Más estrellas que el 0% de los otros 1786 servidores de esta categoría
  • Publicado en el registro más recientemente que el 37% de los otros 1786 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 1786 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro Google Workspace MCP Server?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (0.4.1) llegó al registro hace 44 días.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Vexa, emailmd, MCP WhatsApp Cloud

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Vexa

de Vexa-ai

Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.

Se ejecuta en la nube★ 2949Apache-2.0Actualizado hace 2 meses
Instalar

emailmd

de anypost

Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.

Computadora o nube★ 1385MITActualizado hace 32 días
Instalar

MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API

Se ejecuta en tu computadora★ 277MITActualizado hace 5 meses
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

gws-mcp-server

Maintenance mode. This project is stable and receives security fixes. New features aren't planned, but issues and pull requests are still welcome.

Google Workspace for AI agents: Gmail, Calendar, Drive, Sheets, Docs, Slides, Tasks, and Contacts as a curated set of 67 Model Context Protocol tools, built on the official Google Workspace CLI (gws).


Why?

The gws CLI had a built-in MCP server that was removed in v0.8.0 because it exposed 200-400 tools — causing context window bloat in MCP clients. This server takes a curated approach: you choose which Google services to expose, and only a focused set of high-value, narrowly scoped operations are registered as tools. Every tool declares all four MCP annotation hints — readOnlyHint, destructiveHint, idempotentHint, openWorldHint — so clients can reason about side effects, know which writes are safe to retry, and surface clearer consent prompts. This is the permissions leg of trust infrastructure for agents: a deliberately narrow tool surface, side effects declared on every tool, and no freestanding send tool — the only outbound email an agent can trigger is calendar invite/update notifications, opt-in via sendUpdates and off by default.

Prerequisites

  • Node.js 18+
  • gws CLI installed and authenticated (npm install -g @googleworkspace/cli && gws auth login)
Grant fewer scopes than the default

This server exposes no freestanding send tool — gmail_drafts_create explicitly does not send, and the only outbound email an agent can trigger is calendar invite/update notifications via sendUpdates, which is enum-validated and defaults to none. The token gws auth login mints is broader than that.

gws auth login opens a scope picker listing nine scopes. The default grant is seven: full read-write drive, spreadsheets, gmail.modify (Google documents it as "Read, compose, and send emails"), calendar, documents, presentations, and tasks — the same seven you get running non-interactively as DEFAULT_SCOPES.

The other two rows are Cloud Pub/Sub and Cloud Platform, and neither is part of the default grant — gws auth login --help describes --full as "Request all scopes incl. pubsub + cloud-platform."

Which rows start *checked* has not been verified against a live picker — the seven above are the documented default grant, not an observation of the TUI. Read the checkboxes before pressing Enter rather than trusting this paragraph.

So the token on disk can send mail and rewrite Drive even though nothing here will. Deselect what you do not need in the picker, or:

gws auth login --readonly    # read-only across services

-s gmail limits the picker to Gmail, per the flag's own help text ("Comma-separated service names to limit scope picker"). It cannot pull in cloud-platform or pubsub, because those two are reachable only through --full. It also replaces any credential you already have rather than adding to it. To add a service to an existing login, use gws-mcp-server auth login.

On Linux there is no keyring, and the encryption key is a file next to the data it encrypts. gws enables the keyring crate's native backends only for macOS and Windows; on every other platform the dependency is declared with no backend feature, so the store falls through to writing .encryption_key into ~/.config/gws/. That file is not a backup of a key held elsewhere — it is the key, and the credential store's own doc comment says it is never deleted. Setting GOOGLE_WORKSPACE_CLI_KEYRING_BACKEND=file changes nothing there because that is already the only path. On macOS and Windows the key file is removed once the OS keyring holds the key. If you run this headless on Linux, treat `~/.config/gws/` as a password file: anyone who can read the directory has the credentials.

Contacts needs a scope outside the default grant

The people_* tools need the contacts scope, which the default gws auth login (and the seven-scope grant described above) does not request.

Add Contacts with `gws-mcp-server auth login -s people`, not `gws auth login -s people`. gws's own filtered login replaces the saved credential with only the filtered scopes, so it drops Drive, Gmail, Calendar and everything else you had granted (#68, tracked upstream in googleworkspace/cli#673). This server's auth login does incremental authorization instead:

gws-mcp-server auth login -s people              # keep existing scopes, add contacts

gws-mcp-server auth login -s people --dry-run # print the gws command first

It reads the scopes the saved credential holds from gws auth status, adds the requested services' scopes, and runs gws auth login --scopes . You consent once in the browser, and afterwards it re-reads gws auth status and exits non-zero if any scope you asked for (old or new) wasn't granted, for example because a box was unticked on Google's consent screen. gws saves whatever the consent screen granted, so an unticked box does remove that scope from the saved credential. Before the browser opens, and again if anything is missing afterwards, the command prints the gws auth login --scopes "..." command that re-requests the complete list. It needs a client configured for gws auth login already, and it exits without changing anything if the credential already covers the services.

FlagEffect
--services, -s Services whose scopes to add (required)
--readonlyAdd each service's read-only scope (skipped when the read-write scope is already held)
--dry-runPrint the gws auth login command without running it
--replaceThe old behaviour: replace the credential with only the requested scopes
--gws-path gws binary, same as the server flag

gws auth status discovers scopes live (refresh-token exchange plus Google's token-info lookup), so the scopes field can be missing when that fails. When a saved credential exists but its scopes can't be read, auth login refuses rather than guessing; fix the status lookup and retry. If you really mean to start over with only the requested scopes, pass --replace. With no saved credential at all it is a first login and requests just the services you name.

If you prefer to run gws directly, pass the complete list yourself. For a credential that used exactly the default seven scopes described above:

gws auth login --scopes "https://www.googleapis.com/auth/drive,https://www.googleapis.com/auth/spreadsheets,https://www.googleapis.com/auth/gmail.modify,https://www.googleapis.com/auth/calendar,https://www.googleapis.com/auth/documents,https://www.googleapis.com/auth/presentations,https://www.googleapis.com/auth/tasks,https://www.googleapis.com/auth/contacts"

The People API must also be enabled on your own GCP project — a one-time step separate from OAuth, since a new scope grant doesn't enable a new API by itself:

gcloud services enable people.googleapis.com --project=<your-project-id>

Without both steps, people_* tools fail: a missing scope surfaces as a 401/403 from Google, and a disabled API surfaces as a distinct 403 naming the API and a console link to enable it.

Quick start

# Install

npm install -g gws-mcp-server

Or run from source

git clone https://github.com/conorbronsdon/gws-mcp-server.git cd gws-mcp-server npm install && npm run build

Configuration

Claude Code (.mcp.json)
{

"mcpServers": { "google-workspace": { "command": "npx", "args": [ "gws-mcp-server", "--services", "drive,sheets,calendar,docs,slides,gmail,tasks" ] } } }

Contacts is opt-in because it needs additional authentication and API setup. After completing the Contacts prerequisites, append people to the service list:

"args": ["gws-mcp-server", "--services", "drive,calendar,people"]
Claude Desktop (claude_desktop_config.json)
{

"mcpServers": { "google-workspace": { "command": "npx", "args": [ "gws-mcp-server", "--services", "drive,sheets,calendar" ] } } }

Options

FlagDescriptionDefault
--services, -sComma-separated list of services to exposeCore services; people is opt-in
--gws-pathPath to the gws binaryGWS_BINARY or gws
--read-onlyRegister only the read-only toolsoff

On Windows, npm's gws.cmd is resolved to its JavaScript entry point and run with Node. --gws-path or GWS_BINARY may also point directly to a JavaScript entry point or .exe.

--read-only

--read-only registers 26 tools instead of the default 61. Every tool that writes to Google is left unregistered, so it never appears in tools/list and there is nothing for an agent to call — including gmail_drafts_create, which is a write even though it never sends. drive_files_download stays, since it reads. Explicitly adding people raises those counts to 29 read-only tools out of 67 total.

gws-mcp-server --read-only

gws-mcp-server --read-only --services drive,calendar # combines with -s

This constrains the agent, not the credential. The token on disk keeps whatever scopes it was granted, and anything else on the machine can still use it. gws auth login --readonly is what narrows the token; the two are complementary. For an MCP server the agent is the threat model, but that is the limit of the claim.

Trimming context cost

Every registered tool rides along in each conversation. The default registry is roughly 46 KB of tools/list payload (~11.8K tokens); opting into people raises the full registry to roughly 52 KB (~13.2K tokens). The two flags above compose, and dropping whole services you don't use is the cheapest context win there is:

gws-mcp-server --services calendar                       # calendar assistant: 6 tools

gws-mcp-server --services drive,docs # document work, nothing else gws-mcp-server --read-only --services drive,docs,sheets # research setup: reads only

In .mcp.json or claude_desktop_config.json, the same trimming is just editing the args array:

"args": ["gws-mcp-server", "--services", "drive,calendar"]

A service's tool count (headers below) tracks its context cost: dropping drive (24 tools) saves the most, docs (3 tools) the least. There is no per-tool exclude flag today — if service granularity is too coarse for your setup, open an issue describing the split you need.

#

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx