Skip to content

Releases: aliwatters/gsuite-mcp

v0.2.0

20 Mar 18:19
9de2732

Choose a tag to compare

What's New

Multi-installation support

--config-dir flag and GSUITE_MCP_CONFIG_DIR env var to run multiple gsuite-mcp instances with different GCP projects. Each installation gets its own client_secret.json, config.json, and credentials/.

Citation tools (11 tools)

Large document indexing with FTS5 search, concept extraction, and citation formatting. Dual-layer storage: Google Sheets (source of truth) + SQLite FTS5 (local cache). Feature-flagged via large_doc_indexing.

  • citation_create_index — Create index Sheet in a Drive folder
  • citation_add_documents — Chunk and index documents (Docs, Slides, .pptx)
  • citation_lookup — FTS5 full-text search across chunks
  • citation_get_overview — Index stats, file list, concepts, corpus summary
  • citation_get_chunks — Retrieve full chunk content by ID
  • citation_verify_claim — Find chunks supporting a claim
  • citation_format_citation — Human-readable citation string
  • citation_save_concepts / citation_save_summary — Persist LLM extractions
  • citation_list_indexes / citation_refresh — Manage indexes

Other additions since v0.1.0

  • Google Forms (5 tools): Get form structure, create forms, batch update, list/get responses
  • Google Slides (5 tools): Read presentations, get slides, thumbnails, create, batch update
  • Gmail send-as aliases and delegation (9 tools)
  • Drive access filtering: Configurable allowlist/blocklist for shared drives
  • Docs enhancements: Markdown export, find-replace, PDF export, doc import
  • Docs styling and Sheets formatting: Paragraph styles, charts, pivot tables
  • Calendar enhancements: Focus Time, OOO events, conference data, free/busy
  • Drive enhancements: Shareable links, file type filter, comments, revisions
  • Protocol-level MCP tests for regression prevention

Changed

  • Default OAuth port changed from 8100 to 38917

Full Changelog: v0.1.0...v0.2.0

v0.1.5

17 Mar 20:28
c3674f4

Choose a tag to compare

What's New

  • Configurable OAuth port — Default changed from 8000 to 8100 to avoid dev server conflicts. Override via config.json or GSUITE_MCP_OAUTH_PORT env var (#48)
  • Preflight check commandgsuite-mcp check validates config, tokens, and API access in one command (#38)
  • Shared drive support — All Drive operations now work with shared drives (#42)
  • Folder paths in Drive resultsdrive_get, drive_search, and drive_list include folder paths (#43)

Improvements

  • Comprehensive OAuth setup and troubleshooting guide (#47)
  • Safer argument parsing with RequireStringArg helper (#45)
  • Safe type assertions with ParseStringArg/ParseBoolArg (#44)
  • Calendar refactor: extract setNewEventTimes (#46)

Fixes

  • Handle io.ReadAll error and document fullText search (#31, #35)

v0.1.4

13 Feb 21:47
689bcd4

Choose a tag to compare

Refactoring

Major code quality pass across all 7 service packages — 10 refactoring PRs eliminating duplication and improving maintainability.

Auth (#16, PR #25)

  • Extract inline HTML templates into go:embed'd files (templates/error.html, templates/success.html)
  • Use html/template for proper auto-escaping instead of fmt.Sprintf
  • Extract googleUserInfoURL constant

Gmail (#11, #7, #6, PR #26, #24, #21)

  • Consolidate inline helpers: parseBodyFormat, extractAddRemoveLabels, buildMessageFromArgs
  • Split monolithic RegisterTools (346 lines) into logical groups with table-driven registration
  • Extract modifyLabels helper in Gmail mock service

Calendar (#13, PR #22)

  • Extract updateEventTimes, parseAttendees, parseReminders, buildConferenceData helpers

Contacts (#12, PR #23)

  • Consolidate field parsing with generic parseContactFields parser
  • Extract applyContactUpdates, ensurePrefix helpers
  • Add PeoplePrefix/ContactGroupsPrefix constants

Drive (#9, PR #20)

  • Extract DRY helpers for file listing and permission operations

Cross-package (#15, #14, #10, #8, PR #18, #17)

  • Extract DRY helpers and reduce exported surface across common/ and service packages
  • Remove dead code across all packages

Community

  • Fix build command path in installation instructions (PR #19, thanks @nightscape)

v0.1.3

10 Feb 03:07
367dc55

Choose a tag to compare

Documentation

  • Added OAuth re-authentication instructions to CLAUDE.md (#3)
    • ./gsuite-mcp auth <label> to re-auth expired tokens
    • ./gsuite-mcp accounts to check authenticated accounts

v0.1.2

10 Feb 02:50
44b9205

Choose a tag to compare

Bug Fix

All Google Docs write operations now work — previously every docs tool (append, insert, replace, delete, format, tables, images, headers/footers, batch update) failed with "Must specify at least one request" because nil was passed to the Docs API instead of actual request objects.

Fixed tools (15)

  • docs_append_text, docs_insert_text, docs_replace_text, docs_delete_text
  • docs_format_text, docs_clear_formatting, docs_set_paragraph_style
  • docs_create_list, docs_remove_list
  • docs_insert_table, docs_insert_link, docs_insert_page_break, docs_insert_image
  • docs_create_header, docs_create_footer
  • docs_batch_update

Additional improvements

  • docs_replace_text returns actual replacement count from API (was hardcoded to 1)
  • docs_batch_update parses JSON into typed request objects and returns real reply count

v0.1.1

09 Feb 22:02
eb9a40a

Choose a tag to compare

Fix

  • Renamed gmail_get_messagegmail_get as primary tool name, matching the convention of all other services (drive_get, docs_get, contacts_get, sheets_get, tasks_get)
  • Added gmail_get_message as backward-compatible alias
  • AI agents no longer hallucinate a nonexistent tool name after gmail_search

v0.1.0

09 Feb 17:24

Choose a tag to compare