Google Docs MCP: Docs, Sheets, Drive, Gmail and Calendar
Google Docs MCP
An MCP server giving an agent Google Docs, Sheets, Drive, Gmail, Calendar and Apps Script: reading, editing, mail and events; sign-in over OAuth
- 678 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- The agent gets rights to read and write documents and Drive, send mail (gmail.modify) and change calendar events (calendar.events)
- The tools delete data: deleteFile can remove a file permanently, and deleteDraft and deleteEvent are irreversible
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/google-docs-mcpDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent gets rights to read and write documents and Drive, send mail (gmail.modify) and change calendar events (calendar.events)
- The tools delete data: deleteFile can remove a file permanently, and deleteDraft and deleteEvent are irreversible
This is third-party code. Review the repository files before installing.
What it does
The server connects Claude Desktop, Cursor, Windsurf and other MCP clients to a set of Google services. For Docs there is reading as text, JSON or markdown, inserting and replacing text, search, document tabs, styles, tables, images, replacing content with markdown, and comments. Sheets covers reading and writing ranges, appending rows, sheets, formatting and tables. Drive covers search, creating folders, moving, copying, renaming and downloading files. Gmail offers search and reading, sending, drafts, labels and a triageInbox tool for sorting unread mail. Calendar can search, create, change and delete events, including from a phrase such as lunch with Sarah tomorrow at 12. A separate tool group manages Apps Script projects. Groups are switched with the MCP_TOOL_GROUPS variable (docs, drive, sheets, utils, gmail, calendar, script), so you can leave mail and calendar out.
Who it is for. For people who keep documents, spreadsheets, mail and calendar in Google and want to hand routine work to Claude or another agent.
Good fit when
- You need to read a Google Docs document and rewrite paragraphs while keeping the formatting
- The agent has to build a Sheets table from the conversation's data and format it
- You want unread mail sorted and reply drafts prepared without sending them right away
- You need to find Drive files by content and sort them into folders
- An event has to be created from one phrase or a meeting moved in Calendar
Not a fit when
- You only need Docs without mail access: keep the docs, drive and sheets groups through MCP_TOOL_GROUPS
- You need to purge mail permanently: the server only moves messages to Trash and hard delete is not implemented
- You need attachments from received mail: getMessage returns metadata only
- Mail must go out as HTML: sendEmail sends plain text
- You cannot grant an agent mail and calendar rights with the gmail.modify and calendar.events scopes
Example request
Find the Quarterly plan document in Drive, read it and add a summary section at the end as a tableMCP
- Transport
- stdio, http
- Authentication
- OAuth
Environment variables
GOOGLE_CLIENT_IDrequired- OAuth client ID from Google Cloud.
GOOGLE_CLIENT_SECRETrequired, secret- OAuth client secret from Google Cloud.
MCP_TOOL_GROUPS- List of tool groups: docs, drive, sheets, utils, gmail, calendar, script or all.
Limitations
You need your own OAuth client in Google Cloud: enable the Docs, Sheets, Drive, Gmail and Calendar APIs, set up the consent screen and get a Client ID and Secret. The token is saved in ~/.config/google-docs-mcp/token.json. Comments created programmatically are not always shown anchored to text. The Apps Script API must be enabled separately per account on the settings page. Images in markdown are not yet supported. MIT licence, last commit on October 11, 2026. Gmail: sendEmail sends plain text, trashMessage only moves a message to Trash and getMessage returns attachment metadata without the files. In Calendar, updateEvent and deleteEvent change the whole series of a recurring event unless a specific instance id is given.
How to disable. Delete the google-docs block from mcpServers and restart the client. Then delete ~/.config/google-docs-mcp/token.json and revoke access in your Google account settings.
FAQ
How do I connect Google Docs to Claude over MCP?
Create a Desktop OAuth client in Google Cloud, enable the needed APIs, run npx -y @a-bonus/google-docs-mcp auth with GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET and add the server to the client configuration with the npx command and the arguments -y @a-bonus/google-docs-mcp.
Can I keep documents only, without mail?
Yes. The MCP_TOOL_GROUPS variable accepts the groups docs, drive, sheets, utils, gmail, calendar, script or all, so register only what you need.
Can I deploy the server for a team?
Yes. The server runs on Google Cloud Run or another container host with MCP_TRANSPORT=httpStream, and each user signs in to Google through MCP OAuth 2.1 with no local install. Firestore is available for token storage.
What if Gmail and Calendar stop working after an upgrade?
Delete ~/.config/google-docs-mcp/token.json and authorize again: the Gmail and Calendar scopes were added in later versions and an old token lacks them.
Where is the Google access token stored?
In local mode the refresh token is saved in ~/.config/google-docs-mcp/token.json. In a remote deployment tokens are kept in memory or in Firestore when TOKEN_STORE=firestore is set.
Discussion
No questions or reviews yet.
Related
MCP serversOne MCP server for Gmail, Calendar, Drive, Docs, Sheets, Slides, Forms, Tasks, Contacts, Chat and Apps Script with OAuth 2.1
GSuite MCP
mcp-gsuite
A Python MCP server for Gmail and Google Calendar: search and read emails, drafts and replies, events with attendees, several accounts at once
Google Calendar MCP Server: calendar for Claude
Google Calendar MCP Server
A calendar MCP for Claude Desktop: the agent views, creates, updates and deletes Google Calendar events, recurring ones included
An MCP server that gives the agent access to mail, calendar, OneDrive files and Power Automate flows through Microsoft Graph
Yandex Calendar MCP server
Яндекс Календарь MCP для Claude
An MCP server for Yandex Calendar: view, create and delete events using an app password
An email MCP with 52 tools: the agent reads, searches, sends and sorts mail across several accounts over IMAP and SMTP, and schedules sends
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| Google Docs MCP: Docs, Sheets, Drive, Gmail and Calendar (this entry) | no | OAuth | 678 | |
| Google Workspace MCP Server | no | OAuth | 3,432 | a single server for Gmail, Calendar, Drive, Docs, Sheets, Slides, Forms, Tasks, Chat and Apps Script |
| Google Workspace Extension for Gemini CLI | no | 648 | an extension for Gemini CLI specifically rather than for general MCP clients | |
| GSuite MCP | no | OAuth | 491 | a Python MCP server for Gmail and Google Calendar |
README in short
The README walks through a three-step quick start, then covers Cloud Run deployment, tool tables per service and example requests. Separate sections cover environment variables, sign-in options (OAuth and a service account), token storage, using several Google accounts, known limitations and troubleshooting.