github taylorwilsdon/google_workspace_mcp v2.2.0

2 hours ago

Images come back as real images now: Slides pages and Drive image files are returned as MCP image content the model can see, instead of thumbnail URLs or base64 text. Alongside that, Docs gets heading-addressed edits and color read-back, Contacts gets incremental sync, Gmail gets reply-all and smarter reply subjects, and a broad sweep of input validation and pagination fixes lands across the suite.

Breaking: get_page_thumbnail is gone from gslides. Use render_page_to_image, which returns the rendered page as image content.

New

  • gslides: render_page_to_image replaces get_page_thumbnail and returns the slide as image content with a requested width, so the model sees the page directly (#1291) - feat(slides)!: replace get_page_thumbnail with render_page_to_image returning image content by @georgebashi in #1291
  • gdocs: modify_doc_text can target a section by heading (and heading_level) instead of a raw start_index (#1276) - feat(gdocs): add heading parameter to modify_doc_text for section-addressed edits by @johntrandall in #1276
  • gdocs: get_doc_as_markdown takes an opt-in include_colors that annotates colored text runs in the markdown output (#1272) - Add opt-in text color read-back to Google Docs markdown converter by @damiendaemon in #1272
  • gcontacts: list_contacts supports incremental sync via request_sync_token / sync_token, returning only what changed since the last call (#1281) - feat(contacts): add optional incremental sync to list_contacts by @addibbi in #1281
  • gcalendar: manage_event accepts event colors by name or ID (1-11), validated before the API call; Out-of-Office and Focus Time events now require timezone-aware boundaries (#1288) - enh: calendar colors by @taylorwilsdon in #1288
  • gmail: send_gmail_message replies inherit the thread's subject when none is given, and Re: detection sees past [list]/ticket tags so prefixes stop piling up (#1234) - feat(gmail): inherit the parent subject on send replies, tag-aware Re: prefix by @seidnerj in #1234
  • core/all services: reply-all for Gmail sends and drafts, multi-page Chat space search, clearing contact addresses with an empty value, consistent validation errors across Calendar/Contacts/Gmail/comments, correct combined row+column resizes in Sheets, Drive search escaping for backslashes and apostrophes, and refreshed bundled skills (#1294) - enh + fix: skills & bugs by @taylorwilsdon in #1294

Fixes

  • gdrive: get_drive_file_content returns images as image content and SVGs as markup (with embedded rasters attached) instead of base64 text (#1292) - fix(drive): return images as image content and SVG as markup from get_drive_file_content by @georgebashi in #1292
  • gappsscript: list_script_deployments and version listing follow nextPageToken, so scripts with many deployments or versions are listed in full (#1286) - fix(gappsscript): read every page in list_script_deployments and version list by @ConnorMoss02 in #1286
  • gmail: HTML-to-plain-text conversion separates table cells, so signatures and tabular emails no longer run words together (#1293) - fix(gmail): separate table cells when converting HTML to plain text by @ConnorMoss02 in #1293
  • core: streamable-http startup no longer aborts with "port already in use" over the previous server's TIME_WAIT sockets, ending restart crash loops under PM2 (#1282) - fix(server): don't refuse to restart over the old server's TIME_WAIT sockets by @cfdude in #1282

Dependencies

  • deps: pypdf and certifi updates, picking up pypdf security hardening (#1284) - chore(deps): bump the uv group across 1 directory with 2 updates by @dependabot[bot] in #1284
  • deps: pypdf 6.21.1 (#1289) - chore(deps): bump pypdf from 6.20.1 to 6.21.1 in the uv group across 1 directory by @dependabot[bot] in #1289

New Contributors

Full Changelog: v2.1.2...v2.2.0

Don't miss a new google_workspace_mcp release

NewReleases is sending notifications on new releases.