v1.7.0 — Gmail and Google Calendar tools
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 metadatasendEmail— send a plain-text email; supports cc/bcc and threaded replies viareplyToMessageIdtrashMessage— 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 withq,timeMin,timeMax,maxResultscreateEvent— create a structured event with title, start/end, description, location, attendees, optional Google Meet linkupdateEvent— PATCH-style update; only fields you provide change. Use to reschedule, retitle, or change attendeesdeleteEvent— permanently delete an event; optionalsendUpdatesemails cancellationsquickAddEvent— natural-language event creation:"Lunch with Sarah tomorrow 12pm"and Google parses the rest
Upgrading
If you're upgrading from v1.6.x:
- Enable the new APIs in your Google Cloud Console project: Gmail API and Google Calendar API
- Add scopes to your OAuth consent screen:
gmail.modifyandcalendar.events - Re-authorize to refresh your token with the new scopes:
- Local stdio: delete
~/.config/google-docs-mcp/token.jsonand runnpx @a-bonus/google-docs-mcp auth - Remote (Cloud Run): sign out and sign back in from your MCP client so Google reissues consent
- Local stdio: delete
Existing Docs/Sheets/Drive tools continue to work with old tokens — only the new Gmail/Calendar tools require the refreshed scopes.
Other improvements
allowedRedirectUriPatternsnow includesclaude.ai,claude.com, andclaude://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_KEYpersistence 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