Skip to content

This release includes 2 breaking changes for platform teams planning a safe upgrade.

Published 11mo MCP SaaS Integrations
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai g-suite gmail google-calendar google-chat google-docs
+14 more
google-drive google-forms google-sheets google-tasks google-workspace gsuite llm llm-tools mcp mcp-server model-context-protocol model-context-protocol-server model-context-protocol-servers workspace

Affected surfaces

auth breaking_upgrade

Summary

AI summary

Package renamed from google-workspace-mcp to workspace-mcp and entry‑point changed.

Full changelog

📦 Release v1.0.0 – Streamable-HTTP & Single-User Edition

(package name 302 google-workspace-mcp, now workspace-mcp due to pypi name conflict)

A major overhaul that graduates the project from PoC to a production-ready MCP server with first-class Streamable-HTTP support, richer Google Workspace coverage, and a revamped developer experience.


🔧 Expanded Toolset (v1.0.0)

Service | Icon | Key Capabilities
-- | -- | --
Google Sheets | 📊 | Read / write ranges, create spreadsheets, add sheets, batch updates, formatting helpers
Google Slides | 🖼️ | Create presentations, insert slides, update text & images, export to PDF
Google Forms | 📝 | Create forms, get & list responses, adjust publish / auth settings
Google Chat | 💬 | List spaces, fetch messages, send or search chat history

All new modules live under g{service}/ (e.g. gsheets/sheets_tools.py) and are auto-registered when you start the server with

workspace-mcp --tools sheets slides forms chat

🚀 Highlights

Area | What’s New
-- | --
Transport Layer | Supports everything, Stdio, Streamable-HTTP is now a first-class citizen (SSE fallback kept). Unified CLI flag --transport [stdio|streamable-http].
Docker | Completely rebuilt Dockerfile• Debian Slim base → smaller image• System deps & uv pre-installed for blazing-fast lockfile installs• Health-checks, non-root user, debug hooks
Auth | New transport-aware OAuth callback server• Works in both stdio & HTTP modes• Centralised HTML success/error templates• auth/google_auth.py refactor → cleaner caching, PKCE refresh, single-user shortcut
Single-User Mode | --single-user (or MCP_SINGLE_USER_MODE=1) lets you bypass per-session state and reuse any creds in .credentials/. Perfect for desktop assistants.
Tooling | install_claude.py one-liner auto-wires the server into Claude Desktop.
CLI & Logging | Rich argparse interface, coloured startup banner, credential-directory pre-flight, file + console logging split by level.
Docs | README completely rewritten: clearer quick-start, animated demo, new badges, expanded tool matrix (Calendar, Drive, Gmail, Docs, Sheets, Slides, Forms, Chat).
Packaging | • Package renamed to workspace-mcp • Version bumped to 1.0.0 • workspace-mcp entry-point script • pyproject.toml now PEP 621 + curated classifiers
Cleanup | Removed legacy auth/oauth_manager.py; many files reorganised for clarity.


💥 Breaking Changes

  1. Package rename

    pip uninstall google-workspace-mcp
    pip install workspace-mcp==1.0.0
    
  2. Entry-point

    # old
    uv run main.py
    # new
    workspace-mcp [flags]
    
  3. CLI flags changed (--transport, --single-user, --tools …).

  4. OAuth redirect URI remains http://localhost:8000/oauth2callback, but stdio mode now spins up a minimal FastAPI server automatically—remove your old oauth_callback_server work-arounds.

  5. Docker users: rebuild with docker build -t workspace-mcp:1.0 . (old image tags won’t work).

See Migration Guide below for one-liner updates.


📝 Detailed Changelog — v1.0.0

➕ Added

File / Feature | Purpose
-- | --
auth/oauth_callback_server.py | Lightweight HTTP callback server for OAuth when running in stdio mode.
auth/oauth_responses.py | Re-usable HTML templates for OAuth success / error pages.
install_claude.py | One-command installer that wires the server into Claude Desktop.
New CLI flags | --single-user, --transport, --tools for fine-grained startup control.
Docker | Health-check endpoint, non-root user, and credential-directory safety check.

➖ Removed

  • auth/oauth_manager.py — logic merged into the new auth modules.


🛠️ Migration Guide

# 1 — Upgrade package
pip install -U workspace-mcp

2 — (If using Docker) rebuild image

docker build -t workspace-mcp:1.0 .

3 — Use the new entry-point

workspace-mcp --transport streamable-http # or omit flag for stdio

4 — (Optional) Single-user desktop mode

export MCP_SINGLE_USER_MODE=1

5 — (Re)generate uv.lock if you track lockfiles

uv lock # first-time create
uv lock --upgrade # refresh to latest allowed versions


🔒 Security Notes

  • Credentials now include expiry timestamps; stale refresh tokens trigger re-auth gracefully.

  • .credentials/ directory check prevents container failures due to volume-permission mismatches.

  • OAuth callback still defaults to HTTP on localhost—remember to switch to HTTPS in production.


🙏 Acknowledgements

Huge thanks to everyone who provided early feedback, especially testing Streamable-HTTP convergence with Claude Desktop.


Happy building!
@taylorwilsdon / workspace-mcp team

Breaking Changes

  • Package name changed from google-workspace-mcp to workspace-mcp; uninstall old package and reinstall new one.
  • Execution entry‑point changed from `uv run main.py` to the command `workspace-mcp [flags]`.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track taylorwilsdon/google_workspace_mcp

Get notified when new releases ship.

Sign up free

About taylorwilsdon/google_workspace_mcp

Comprehensive Google Workspace MCP server with full support for Google Calendar, Drive, Gmail, and Docs, Forms, Chats, Slides and Sheets over stdio, Streamable HTTP and SSE transports.

All releases →

Beta — feedback welcome: [email protected]