Skip to content

This release adds 3 notable features for engineering teams evaluating rollout.

Published 2mo 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 deps

Summary

AI summary

Reply drafts now correctly thread using In‑Reply-To/References, fixing the classic non‑rendered draft issue.

Full changelog

Highlights

v1.15.0 is a quality-of-life release with real improvements across auth reliability, Gmail reply behavior, and day-to-day Workspace tooling. The big theme is fewer "almost works" edges: reply drafts thread correctly, quoted replies render more naturally, OAuth flow improvements, and more of the metadata real world users actually care about now shows up in tool output.

Authentication, Runtime, and Deployment

  • Single-user stdio sessions now refresh invalid cached credentials whenever a refresh token is available, instead of bouncing users back into OAuth just because the token was invalid but not explicitly marked expired. This closes a frustrating reauth loop for long-lived local setups. (#579) by @Bortlesboat
  • WORKSPACE_MCP_STATELESS_MODE=true now actually reaches FastMCP's stateless_http runtime flag. Before this, the app advertised stateless behavior while FastMCP still kept in-memory sessions, which could break clients after a pod or process restart. (#582) by @vdemay
  • Re-auth flows now choose select_account when the user already has the required scopes, instead of forcing an unnecessary consent prompt. The callback path also preserves an existing refresh token when Google omits it on reauth, which makes repeat auth materially less fragile. (#586) by @taylorwilsdon
  • macOS startup now captures stray stdout during module initialization and replays it to stderr so the MCP JSON-RPC handshake is not corrupted by platform strings or other unexpected startup noise. (#577) by @Bortlesboat
  • OAuth callback handling is more robust in two places: the browser response pages now degrade cleanly when window.close() is blocked, and the stdio auth flow now checks that the callback server is actually listening before sending users through Google auth. (#573, #572) by @seidnerj
  • External OAuth mode documentation was tightened up to reflect the current runtime behavior more clearly, which should reduce setup mistakes for deployments using an external identity layer. (#599) by @taylorwilsdon
  • Dependency maintenance in this release updates authlib from 1.6.7 to 1.6.9 and pyasn1 from 0.6.2 to 0.6.3. (#583, #587) by @dependabot

Gmail Reply Quality

  • Reply drafts can now auto-populate In-Reply-To and References from the Gmail thread when only a thread_id is provided. In practice, this fixes the classic "draft exists but does not render inline in the conversation" problem. (#578) by @Bortlesboat
  • Reply drafts can optionally include quoted original content, and the implementation deliberately puts the Gmail signature above the quoted block so the result looks like a native human reply instead of an awkward append-only transcript. Both HTML and plaintext paths are covered. (#581) by @Bortlesboat
  • Gmail reply handling is also stricter about RFC-style threading identifiers and now exposes In-Reply-To / References metadata more consistently, which helps keep agent-generated replies standards-compliant and easier to debug. (#560) by @hindmakarem-qa

Workspace Tooling Improvements

  • read_sheet_values can now include cell notes, not just raw values. That is especially useful for operational sheets where the real instructions live in comments/notes rather than the visible cells. The implementation also keeps metadata fetches bounded to the tight populated range instead of blindly expanding grid reads. (#580) by @Bortlesboat
  • Google Docs paragraph styling now explicitly supports TITLE and SUBTITLE, and validation now rejects conflicting heading_level plus named_style_type combinations instead of trying to guess intent. (#563) by @reinlemmens
  • Docs text formatting now supports strikethrough in both modify_doc_text and batch_update_doc, which fills in a pretty obvious gap beside bold, italic, and underline. (#575) by @gkatz2
  • Calendar event output now surfaces extracted meeting URLs from conferenceData and hangoutLink, so users can actually see Google Meet or third-party video links directly in tool output. (#565) by @reinlemmens
  • Google Chat reads are more queryable: get_messages now exposes API filters, and search_messages can combine free-text matching with createTime filters while capping cross-space scans to stay practical. (#594) by @taylorwilsdon

New Contributors

As always, a huge thanks to our contributors especially @Bortlesboat coming in on a hot streak and getting like 5 PRs merged!

Thanks to everyone who contributed code, reviews, and polish to this release.

Full Changelog: https://github.com/taylorwilsdon/google_workspace_mcp/compare/v1.14.3...v1.15.0

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]