freshcrate
Skin:/
Home > MCP Servers > google-workspace-mcp

google-workspace-mcp

A Model Context Protocol (MCP) server that provides authenticated access to Google Workspace APIs, offering integrated Authentication, Gmail, Calendar, and Drive functionality

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

A Model Context Protocol (MCP) server that provides authenticated access to Google Workspace APIs, offering integrated Authentication, Gmail, Calendar, and Drive functionality

README

Google Workspace MCP Server

Give AI agents full access to Google Workspace โ€” Gmail, Calendar, Drive, and more โ€” through a single MCP server that handles multi-account credential routing, response formatting for AI consumption, and contextual guidance.

Built on Google's official Workspace CLI (gws), which means API coverage grows as Google does. The server uses a manifest-driven factory that turns declarative YAML into fully functional MCP tools โ€” adding a new Google API operation is a config change, not a code change.

Why This MCP Server

For users: One install gives your AI agent real, authenticated access to your Google accounts. Search email, check your calendar, manage Drive files, chain multi-step workflows โ€” all through natural conversation.

For teams: Multi-account support means your agent can work across personal and work accounts simultaneously, with per-account credential isolation and XDG-compliant storage.

For developers: The factory architecture means coverage expands fast. Google's Workspace CLI already supports 15+ services and hundreds of API operations. The manifest curates which ones are exposed, patches add domain-specific formatting, and the defaults handle everything else.

What's Available

5 tools, 32+ operations across 3 core services:

Tool Operations What It Does
manage_email search, read, send, reply, replyAll, forward, triage, trash, untrash, modify, labels, threads, getThread Full Gmail โ€” search, read, compose, thread management, label management
manage_calendar list, agenda, get, create, quickAdd, update, delete, calendars, freebusy Calendar CRUD, natural language event creation, availability checks
manage_drive search, get, upload, download, copy, delete, export, listPermissions, share, unshare File management, Google Docs export, sharing and permissions
manage_accounts list, authenticate, remove, status, refresh, scopes Multi-account lifecycle โ€” add accounts, manage credentials and scopes
queue_operations โ€” Chain operations sequentially with $N.field result references

Every response includes next-steps guidance โ€” the agent always knows what it can do next.

How It Works

                          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
MCP Client โ”€โ”€stdioโ”€โ”€โ–ถ     โ”‚  manifest.yaml           โ”‚
                          โ”‚  (52 operations declared) โ”‚
                          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                   โ”‚
                          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                          โ”‚  Factory Generator       โ”‚
                          โ”‚  schemas + handlers      โ”‚
                          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                   โ”‚
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ–ผ              โ–ผ              โ–ผ
              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
              โ”‚  Gmail   โ”‚  โ”‚ Calendar โ”‚  โ”‚  Drive   โ”‚
              โ”‚  Patch   โ”‚  โ”‚  Patch   โ”‚  โ”‚  Patch   โ”‚
              โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜
                   โ”‚             โ”‚             โ”‚
                   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                          โ–ผ             โ–ผ
                    Account Router โ”€โ”€โ–ถ gws CLI โ”€โ”€โ–ถ Google APIs

The factory reads a YAML manifest and generates MCP tool schemas and request handlers at startup. Patches add domain-specific behavior where needed โ€” Gmail search hydration, calendar formatting, Drive file type detection. Operations without patches get sensible defaults automatically.

The underlying engine is Google's @googleworkspace/cli โ€” a Rust binary that wraps the full Google Workspace API surface. The MCP server curates which operations to expose and shapes the responses for AI consumption.

Install

MCPB Bundle (Claude Desktop and other MCP clients)

Download the .mcpb bundle for your platform from the latest release:

Platform File
macOS (Apple Silicon) google-workspace-mcp-darwin-arm64.mcpb
macOS (Intel) google-workspace-mcp-darwin-x64.mcpb
Linux x64 google-workspace-mcp-linux-x64.mcpb
Linux ARM64 google-workspace-mcp-linux-arm64.mcpb
Windows x64 google-workspace-mcp-windows-x64.mcpb

In Claude Desktop, drag the .mcpb file into the app โ€” it will prompt you for your Google OAuth credentials, then you're ready to go. Other MCP clients that support .mcpb extensions can install it the same way. The bundle includes everything: the server, the gws binary, and all dependencies.

Claude Code / npm

npm install @aaronsb/google-workspace-mcp

Or run directly:

npx @aaronsb/google-workspace-mcp

Prerequisites

  1. Node.js 18+

  2. Google Cloud OAuth credentials โ€” create at console.cloud.google.com/apis/credentials:

    • Create an OAuth 2.0 Client ID (Desktop application)
    • Enable the APIs you want (Gmail, Calendar, Drive, Sheets, etc.)
  3. Set environment variables:

    export GOOGLE_CLIENT_ID="your-client-id"
    export GOOGLE_CLIENT_SECRET="your-client-secret"

MCP Client Configuration

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "google-workspace": {
      "command": "npx",
      "args": ["@aaronsb/google-workspace-mcp"],
      "env": {
        "GOOGLE_CLIENT_ID": "your-client-id",
        "GOOGLE_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

Claude Code

Add to .mcp.json:

{
  "mcpServers": {
    "google-workspace": {
      "command": "npx",
      "args": ["@aaronsb/google-workspace-mcp"],
      "env": {
        "GOOGLE_CLIENT_ID": "your-client-id",
        "GOOGLE_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

Usage

Add an account (opens browser for OAuth):

manage_accounts { "operation": "authenticate" }

Then use any tool with your account email:

manage_email    { "operation": "triage", "email": "you@gmail.com" }
manage_calendar { "operation": "agenda", "email": "you@gmail.com" }
manage_drive    { "operation": "search", "email": "you@gmail.com", "query": "quarterly report" }

Multi-Step Workflows

Chain operations with result references โ€” the output of one step feeds the next:

{
  "operations": [
    { "tool": "manage_email", "args": { "operation": "search", "email": "you@gmail.com", "query": "from:boss subject:review" }},
    { "tool": "manage_email", "args": { "operation": "read", "email": "you@gmail.com", "messageId": "$0.messageId" }}
  ]
}

Expanding Coverage

The server discovers operations from the gws CLI, which already supports 15+ Google services (Sheets, Docs, Tasks, People, Chat, and more). Adding coverage is a manifest edit:

make manifest-discover   # Find all 287+ available operations
make manifest-lint       # Validate the curated manifest
make test                # Verify everything works

New operations get default formatting automatically. Add a patch only when you need domain-specific presentation.

Data Storage

Follows XDG Base Directory Specification:

Data Location
Account registry ~/.config/google-workspace-mcp/accounts.json
Credentials ~/.local/share/google-workspace-mcp/credentials/

Credentials are per-account files with standard OAuth tokens. No secrets are stored in the project directory.

License

MIT

Release History

VersionChangesUrgencyDate
v4.0.1# v4.0.1 Bug fixes. Every one of these was found by *running* the tools against a real account rather than by reading the code, and **not one of them raised an error** โ€” each reported success while doing the wrong thing. ## Mail **Thread listings had no senders and no subjects.** `manage_email getThread` rendered every message in a thread like this: ``` **** โ€” Add full device config for QC Earbudsโ€ฆ ``` Gmail's `metadataHeaders` is a *repeated* query parameter โ€” it must be sent once per valuMedium7/12/2026
v3.0.0## What's Changed * docs(readme): add badges by @aaronsb in https://github.com/aaronsb/google-workspace-mcp/pull/125 * docs: API coverage page + README refresh by @aaronsb in https://github.com/aaronsb/google-workspace-mcp/pull/126 * feat(gmail): support send from aliases by @Lubrsy706 in https://github.com/aaronsb/google-workspace-mcp/pull/128 * chore(deps): patch critical sanitize-html XSS, clear production vulnerabilities by @aaronsb in https://github.com/aaronsb/google-workspace-mcp/pull/135High7/12/2026
v2.7.1**Full Changelog**: https://github.com/aaronsb/google-workspace-mcp/compare/v2.7.0...v2.7.1High5/11/2026
v2.6.1## What's Changed * fix(mcpb): anchor .mcpbignore, add post-pack bundle verification by @aaronsb in https://github.com/aaronsb/google-workspace-mcp/pull/109 **Full Changelog**: https://github.com/aaronsb/google-workspace-mcp/compare/v2.6.0...v2.6.1High4/16/2026
v2.6.0## What's Changed * fix(calendar): freebusy, agenda params, calendarId context (#98) by @aaronsb in https://github.com/aaronsb/google-workspace-mcp/pull/99 * fix(drive): create parent directories before export/download write by @aaronsb in https://github.com/aaronsb/google-workspace-mcp/pull/101 * fix(sheets): surface values + expand manage_sheets to 13 ops (#90) by @aaronsb in https://github.com/aaronsb/google-workspace-mcp/pull/103 * docs(adr): ADR-303 + ADR-304 for factory follow-ups by @aaroHigh4/16/2026
v2.5.2**Full Changelog**: https://github.com/aaronsb/google-workspace-mcp/compare/v2.5.1...v2.5.2High4/8/2026
v2.5.1**Full Changelog**: https://github.com/aaronsb/google-workspace-mcp/compare/v2.5.0...v2.5.1Medium4/8/2026
v2.5.0## What's Changed * fix(executor): add cwd option to GwsOptions by @aaronsb in https://github.com/aaronsb/google-workspace-mcp/pull/93 * fix(oauth): Windows browser open ENOENT by @aaronsb in https://github.com/aaronsb/google-workspace-mcp/pull/94 * feat(calendar): add calendarId parameter to calendar operations by @deklov in https://github.com/aaronsb/google-workspace-mcp/pull/88 * feat(drive): add Shared Drive support by @aaronsb in https://github.com/aaronsb/google-workspace-mcp/pull/95 * feaMedium4/8/2026
v2.2.0## What's Changed * feat(workspace): nested directories, move, and mkdir by @aaronsb in https://github.com/aaronsb/google-workspace-mcp/pull/80 **Full Changelog**: https://github.com/aaronsb/google-workspace-mcp/compare/v2.1.0...v2.2.0Medium3/27/2026
v2.1.0## What's Changed * feat(scratchpad): service-agnostic content authoring buffer (ADR-301) by @aaronsb in https://github.com/aaronsb/google-workspace-mcp/pull/78 **Full Changelog**: https://github.com/aaronsb/google-workspace-mcp/compare/v2.0.0...v2.1.0Medium3/27/2026
v2.0.0## What's new ### Email body extraction - `read` and `getThread` now return the **full message body** decoded from MIME payload, not just Gmail's ~200 char snippet - Large emails (>~50KB) show snippet with token estimate to protect LLM context windows ### Error diagnostics - Empty search results now distinguish "no matches" from suspicious API responses (auth/scope issues) - Agent-friendly error messages tell the calling LLM to stop retrying and surface the fix to the user ### gws binary resoMedium3/25/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

MediaWiki-MCP-ServerModel Context Protocol (MCP) Server to connect your AI with any MediaWikiv0.14.0
spaceship-mcp๐Ÿš€ Manage domains, DNS, contacts, and listings with spaceship-mcp, a community-built MCP server for the Spaceship API.main@2026-07-19
coolify-mcpMCP server for Coolify โ€” 38 optimized tools for managing self-hosted PaaS through AI assistantsv2.14.1
notebooklm-mcpMCP server for Google NotebookLM โ€” 32 tools for notebooks, sources, research, and studio content generationv0.3.1
pdf-reader-mcp๐Ÿ“„ Production-ready MCP server for PDF processing - 5-10x faster with parallel processing and 94%+ test coveragev4.0.0

More in MCP Servers

supersetCode Editor for the AI Agents Era - Run an army of Claude Code, Codex, etc. on your machine
kreuzbergA polyglot document intelligence framework with a Rust core. Extract text, metadata, images, and structured information from PDFs, Office documents, images, and 91+ formats. Available for Rust, Python
ai-engineering-from-scratchLearn it. Build it. Ship it for others.
CodeGraphContextAn MCP server plus a CLI tool that indexes local code into a graph database to provide context to AI assistants.