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.5.1## What's Changed * ci: harden the publish pipeline โ€” shared gates, idempotent fallback by @aaronsb in https://github.com/aaronsb/google-workspace-mcp/pull/193 **Full Changelog**: https://github.com/aaronsb/google-workspace-mcp/compare/v4.5.0...v4.5.1High8/31/2026
v4.5.0## What's Changed * fix(registry): say where the source is, and what this thing is called by @aaronsb in https://github.com/aaronsb/google-workspace-mcp/pull/179 * chore: security audit โ€” patch vulnerable deps, modernize dev toolchain, pin typescript by @yabdi in https://github.com/aaronsb/google-workspace-mcp/pull/187 * feat(calendar): support all-day events on create and update by @yabdi in https://github.com/aaronsb/google-workspace-mcp/pull/188 * feat(drive): createFolder, listFolder, tree, Medium8/22/2026
v4.2.1## What's Changed * fix(release): reconcile the GitHub release CI already made, and stop globbing the bundle by @aaronsb in https://github.com/aaronsb/google-workspace-mcp/pull/162 * fix(manifest): say each param once โ€” and make the claims true by @aaronsb in https://github.com/aaronsb/google-workspace-mcp/pull/164 **Full Changelog**: https://github.com/aaronsb/google-workspace-mcp/compare/v4.2.0...v4.2.1High8/17/2026
v4.1.0Two bugs, both of which failed silently โ€” one burned a CPU core forever, the other quietly returned part of your document and called it the whole thing. ## Heads up: the server now exits when its client goes away This is why 4.1.0 is a minor bump rather than a patch. A stdio MCP server is spawned by a client and is useful only to that client, so one that outlives its client now terminates itself. If you supervise this process expecting it to stay resident after its parent is gone, it no longerHigh7/30/2026
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

coolify-mcpMCP server for Coolify โ€” 38 optimized tools for managing self-hosted PaaS through AI assistantsv3.0.0
spaceship-mcp๐Ÿš€ Manage domains, DNS, contacts, and listings with spaceship-mcp, a community-built MCP server for the Spaceship API.main@2026-09-04
MediaWiki-MCP-ServerModel Context Protocol (MCP) Server to connect your AI with any MediaWikiv0.17.0
notebooklm-mcpMCP server for Google NotebookLM โ€” 32 tools for notebooks, sources, research, and studio content generationv0.3.1
difyProduction-ready platform for agentic workflow development.1.17.1

More in MCP Servers

difyProduction-ready platform for agentic workflow development.
tabularisA lightweight, cross-platform database client for developers. Supports MySQL, PostgreSQL and SQLite. Hackable with plugins. Built for speed, security, and aesthetics.
ai-agents-from-zero ๐Ÿš€ 2026 ๆœ€็ณป็ปŸ็š„ AI Agent ้€ŸๆˆๆŒ‡ๅ—๏ฝœๆ™บ่ƒฝไฝ“ๅฎžๆˆ˜ๆ•™็จ‹ ยท ๅฎŒๆ•ดๅญฆไน ่ทฏๅพ„ + ๅฎžๆˆ˜้กน็›ฎ + ้ข่ฏ•้ข˜ๅบ“ ยท ๅฏนๆ ‡ๅคงๆจกๅž‹ๅบ”็”จๅผ€ๅ‘ๅทฅ็จ‹ๅธˆๅฒ—ไฝ ยท ่ฆ†็›–LangChain / LangGraph / Coze / Dify / MCP / skills / LLM / RAG / ๆ็คบ่ฏ ยท ไผไธš็บง้ƒจ็ฝฒไธŽๅพฎ่ฐƒ ยท ไปŽ0ๅˆฐไผไธš็บง่ฝๅœฐ + ไปŽๅญฆไน ๅˆฐไธŠ็บฟ้กน็›ฎ + ้ข่ฏ•ๅ‡†ๅค‡ไธ€ไฝ“ๅŒ–
studioOpen-source control plane for your AI agents. Connect tools, hire agents, track every token and dollar