Skip to content

v1.7.0 — Gmail and Google Calendar tools

Choose a tag to compare

@github-actions github-actions released this 10 Apr 17:07
· 20 commits to main since this release

What's new

Adds 11 new tools across two Google services.

Gmail (6 tools, gmail.modify scope)

  • listMessages — list/search messages with full Gmail query syntax (is:unread, from:, newer_than:, etc.)
  • getMessage — fetch a single message with decoded headers, plain-text body, HTML body, and attachment metadata
  • sendEmail — send a plain-text email; supports cc/bcc and threaded replies via replyToMessageId
  • trashMessage — move a message to Trash (reversible from the Gmail UI Trash folder)
  • modifyMessageLabels — add/remove labels (star, archive, mark read, custom labels)
  • listLabels — enumerate all system and user labels

Google Calendar (5 tools, calendar.events scope)

  • listEvents — list/search events with q, timeMin, timeMax, maxResults
  • createEvent — create a structured event with title, start/end, description, location, attendees, optional Google Meet link
  • updateEvent — PATCH-style update; only fields you provide change. Use to reschedule, retitle, or change attendees
  • deleteEvent — permanently delete an event; optional sendUpdates emails cancellations
  • quickAddEvent — natural-language event creation: "Lunch with Sarah tomorrow 12pm" and Google parses the rest

Upgrading

If you're upgrading from v1.6.x:

  1. Enable the new APIs in your Google Cloud Console project: Gmail API and Google Calendar API
  2. Add scopes to your OAuth consent screen: gmail.modify and calendar.events
  3. Re-authorize to refresh your token with the new scopes:
    • Local stdio: delete ~/.config/google-docs-mcp/token.json and run npx @a-bonus/google-docs-mcp auth
    • Remote (Cloud Run): sign out and sign back in from your MCP client so Google reissues consent

Existing Docs/Sheets/Drive tools continue to work with old tokens — only the new Gmail/Calendar tools require the refreshed scopes.

Other improvements

  • allowedRedirectUriPatterns now includes claude.ai, claude.com, and claude:// so the Claude Desktop OAuth flow works alongside Cursor
  • README troubleshooting section documents the Cloud Run cold-start hard-refresh workaround and the JWT_SIGNING_KEY persistence fix for remote deployments

Previously merged in this release

  • fix: persistent auth + downloadFile improvements for remote mode by @Mawox in #104
  • fix: handle EPIPE errors and stdin disconnect gracefully by @trevorrecker in #105

Full Changelog: v1.6.0...v1.7.0