a-bonus/google-docs-mcp
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.
Google Docs、Sheets、Drive、Gmail 和 Calendar MCP 服务器
它是什么 – 一个基于 Node 的 MCP(多客户端协议)服务器,将 Google Workspace API(Docs、Sheets、Drive、Gmail、Calendar、Apps Script)暴露为可调用的工具,供 AI 代理(如 Claude Desktop、Cursor 或任何兼容 MCP 的客户端)使用。
工作原理 –
- 创建 Google Cloud OAuth 客户端并启用所需的 Workspace API。
- 运行
npx @a-bonus/google-docs-mcp auth获取存储在本地的新鲜令牌。 - 将服务器定义添加到 MCP 客户端配置中;客户端按需启动服务器(或将其部署到 Cloud Run 以获得共享的远程端点)。
- 服务器将 MCP 调用转换为 Google API 请求,并返回结构化的 JSON 结果。
主要功能 –
- Docs:读写纯文本、Markdown、表格、图片、样式、评论、标签页、章节等。
- Sheets:读写范围、批量更新、格式化、表格、图表、条件格式、保护、下拉列表等。
- Drive:列出、搜索、创建、移动、复制、重命名、删除文件/文件夹,下载内容。
- Gmail:列出/搜索消息、读取完整正文、发送/回复、管理草稿、标签、垃圾邮件,以及复合的
triageInbox辅助工具。 - Calendar:列出/搜索事件、创建/更新/删除事件、快速添加自然语言事件。
- Apps Script:创建、读取和更新绑定或独立的脚本项目。
典型用例 – 一个由 LLM 驱动的助手可以发出自然语言命令,如“将‘会议记录’追加到文档 ABC123”或“在表格 XYZ789 中创建名为‘任务’的表格”,MCP 客户端将其转发到此服务器,然后服务器调用相应的 Google API 并返回结果。
部署选项 –
- 本地:在开发机器上通过
npx运行;令牌存储在~/.config/google-docs-mcp/token.json中。 - 远程:将容器部署到 Google Cloud Run(或任何容器主机)。服务器使用 MCP OAuth 2.1,因此客户端自动处理 Google 登录;无需本地令牌。
设置要点 –
- 在 Google Cloud 中启用 Docs、Sheets、Drive、Gmail、Calendar 和 Apps Script API。
- 提供
GOOGLE_CLIENT_ID、GOOGLE_CLIENT_SECRET(以及可选的TOKEN_STORE=firestore、JWT_SIGNING_KEY用于远程模式)。 - 使用提供的 JSON 片段将服务器添加到 MCP 客户端配置中。
为什么重要 – 它将强大的 LLM 代理与完整的 Google Workspace 套件连接起来,让 AI 助手无需每次编写自定义 OAuth 代码即可以编程方式读取、编辑和编排文档、电子表格、电子邮件和日历。
快速开始
# 1. 授权
GOOGLE_CLIENT_ID=… GOOGLE_CLIENT_SECRET=… npx -y @a-bonus/google-docs-mcp auth
# 2. 添加到客户端(Claude Desktop / Cursor)
{
"mcpServers": {"google-docs": {"command": "npx","args": ["-y","@a-bonus/google-docs-mcp"],"env": {"GOOGLE_CLIENT_ID":"…","GOOGLE_CLIENT_SECRET":"…"}}}
}
远程部署示例
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"
所有细节均直接取自仓库的 README。
相关
- 项目
- 项目
- 项目
- 项目
- 项目