The Ultimate Google Docs, Sheets, Drive, Gmail, & Google Calendar MCP Server. This MCP (primarily for use in Claude Desktop) gains full access to your google suite and lets claude do its thing.
翻译准备中
开发工具TypeScript · JavaScriptGitHub @a-bonus自行安装运营者未确认
试用过了吗? 点一下就好,无需登录。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Connect Claude Desktop, Cursor, or any MCP client to your Google Docs, Google Sheets, Google Drive, Gmail, and Google Calendar.
gmail.modify and calendar.events scopes alongside the Docs/Sheets/Drive scopes)Need more detail? See step-by-step instructions at the bottom of this page.
GOOGLE_CLIENT_ID="your-client-id" \
GOOGLE_CLIENT_SECRET="your-client-secret" \
npx -y @a-bonus/google-docs-mcp auth
This opens your browser for Google authorization. After you approve, the refresh token is saved to ~/.config/google-docs-mcp/token.json.
Claude Desktop / Cursor / Windsurf:
{
"mcpServers": {
"google-docs": {
"command": "npx",
"args": ["-y", "@a-bonus/google-docs-mcp"],
"env": {
"GOOGLE_CLIENT_ID": "your-client-id",
"GOOGLE_CLIENT_SECRET": "your-client-secret"
}
}
}
}
The server starts automatically when your MCP client needs it.
Deploy once for your team -- no local installs required. The server uses MCP OAuth 2.1 so your MCP client handles authentication automatically.
gcloud run deploy google-docs-mcp \
--source . \
--region europe-west3 \
--port 8080 \
--allow-unauthenticated \
--set-env-vars "^|^MCP_TRANSPORT=httpStream|BASE_URL=https://your-service.run.app|GOOGLE_CLIENT_ID=...|GOOGLE_CLIENT_SECRET=...|TOKEN_STORE=firestore|JWT_SIGNING_KEY=your-secret-key"
Then each user just adds the URL to their MCP client -- no npx, no tokens, no local setup:
{
"mcpServers": {
"google-docs": {
"type": "streamableHttp",
"url": "https://your-service.run.app/mcp"
}
}
}
Your MCP client will prompt for Google sign-in on first connection. See Remote Deployment for details.
Tools across Google Docs, Sheets, and Drive:
| Tool | Description |
|---|---|
readDocument | Read content as plain text, JSON, or markdown |
appendText | Append text to a document |
insertText | Insert text at a specific position |
deleteRange | Remove content by index range |
modifyText | Replace, prepend, or transform text in a document |
findAndReplace | Find and replace text across a document |
findElement | Locate text occurrences (with index ranges) or list paragraphs/tables |
listTabs | List all tabs in a multi-tab document |
addTab | Add a new tab to a document |
renameTab | Rename a document tab |
replaceDocumentWithMarkdown | Replace entire document content from markdown |
replaceRangeWithMarkdown | Replace a specific range with markdown content |
appendMarkdown | Append markdown-formatted content |
applyTextStyle | Bold, italic, colors, font size, links |
applyParagraphStyle | Alignment, spacing, indentation |
insertTable | Create an empty table |
insertTableWithData | Create a table pre-filled with data |
insertPageBreak | Insert page breaks |
insertSectionBreak | Insert section break (NEXT_PAGE or CONTINUOUS) |
updateSectionStyle | Update section style: flip orientation, margins |
insertImage | Insert images from URLs or local files |
| Tool | Description |
|---|---|
listComments | View all comments with author and date |
getComment | Get a specific comment with replies |
addComment | Create a comment anchored to text |
replyToComment | Reply to an existing comment |
resolveComment | Mark a comment as resolved |
deleteComment | Remove a comment |
Write tools accept suggestMode: true to apply edits as pending suggestions
for review instead of direct edits (requires Node 22+; googleapis@184).
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗