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
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

spaceship-mcp๐Ÿš€ Manage domains, DNS, contacts, and listings with spaceship-mcp, a community-built MCP server for the Spaceship API.main@2026-06-02
coolify-mcpMCP server for Coolify โ€” 38 optimized tools for managing self-hosted PaaS through AI assistantsv2.12.0
MediaWiki-MCP-ServerModel Context Protocol (MCP) Server to connect your AI with any MediaWikiv0.10.0
notebooklm-mcpMCP server for Google NotebookLM โ€” 32 tools for notebooks, sources, research, and studio content generationv0.2.6
PlexMCP-OSS๐ŸŒ Build a robust MCP gateway platform to enhance your Plex experience with seamless integration and reliable performance.main@2026-06-07

More in MCP Servers

agentroveYour own Claude Code UI, sandbox, in-browser VS Code, terminal, multi-provider support (Anthropic, OpenAI, GitHub Copilot, OpenRouter), custom skills, and MCP servers.
node9-proxyThe Execution Security Layer for the Agentic Era. Providing deterministic "Sudo" governance and audit logs for autonomous AI agents.
mcp-compressorAn MCP server wrapper for reducing tokens consumed by MCP tools.
claude-plugins-officialOfficial, Anthropic-managed directory of high quality Claude Code Plugins.