关于 Google Docs
Google Docs 是供 AI 系统读取和编辑文档的 MCP 服务,通过 Google Docs API 提供文档操作,并以不保留令牌或状态的代理处理 OAuth。
主要功能
- 01读取所有标签页的文档文本
- 02获取文档原始结构
- 03创建空白文档
- 04原子执行批量编辑
- 05追加、插入和替换文本
适用场景
- 01根据合同内容回答问题
- 02会后更新团队文档
- 03依据资料起草公告
- 04维护每日计划日志
MCP 相关
该服务向 MCP 客户端提供 Google Docs 读取和编辑工具,并代理 OAuth 请求,使用承载令牌调用 Google Docs API。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y google-documents-mcpGOOGLE_ACCESS_TOKEN密钥Google OAuth access token with Docs scope.MCP_TRANSPORTTransport type.GOOGLE_CLIENT_IDGoogle OAuth client ID.GOOGLE_CLIENT_SECRET密钥Google OAuth client secret.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
google-documents-mcp
用于 Google Docs 的 MCP 服务——读取和编辑文档。
使用场景
文档问答:“合同中关于终止条款的内容是什么?”→ 读取文档并提取相关部分。
会议转文档工作流:通话结束后,读取 Gemini 转录内容和后续 Slack 讨论,然后根据讨论做出的决定更新团队章程。
发布公告:“根据 GitHub PR 和 #proj-awesome 中的 Slack 讨论,为新功能起草一篇博客文章”→ 将技术变更整理成面向用户的内容。
借助持久上下文进行每日规划:你的 AI 助手每天开始时会读取“规划日志”文档,询问你昨天的进展,帮助你确定今天的优先事项,然后将计划更新到文档中。上下文会在不同会话之间延续——它会记住你说过要做的事,并进行跟进。
(这些只是示例——任何需要读取或编辑文档的工作流都可以使用此工具。可与 google-drive-mcp 配合使用,以查找文件、删除文件、添加评论和管理共享权限。)
设置
1. 创建 Google OAuth 凭据
- 前往 Google Cloud Console
- 创建新项目(或使用现有项目)
- 启用 Google Docs API
- 前往 APIs & Services → OAuth consent screen,设置同意屏幕
- 前往 APIs & Services → Credentials → Create Credentials → OAuth client ID
- 选择 Web application
- 将
http://localhost:3000/callback添加到 Authorized redirect URIs - 记录你的 Client ID 和 Client Secret
2. 运行服务
GOOGLE_CLIENT_ID='your-client-id' \
GOOGLE_CLIENT_SECRET='your-client-secret' \
MCP_TRANSPORT=http \
npm start
服务默认运行在 http://localhost:3000。使用 PORT=3001 更改端口。
3. 添加到你的 MCP 客户端
运行服务后,按照 install-mcp 上的说明操作,该页面会为你的 MCP 客户端(Claude Code、Claude Desktop、Cursor、Cline、VS Code 等)生成相应的配置。
架构
此服务充当 Google 的 OAuth 代理:
graph LR
A[MCP client] <--> B[google-documents-mcp] <--> C[Google OAuth/API]
- 服务通过
/.well-known/oauth-authorization-server将自身声明为 OAuth 授权服务 /register返回 Google OAuth 客户端凭据/authorize重定向到 Google,并在 state 中编码客户端的回调 URL/callback接收来自 Google 的授权码并转发给客户端的回调地址/token将令牌请求代理到 Google,并注入客户端凭据/mcp处理 MCP 请求,使用 bearer token 调用 Google Docs API
服务不保存任何令牌或状态,只负责代理 OAuth 请求到 Google。
工具
| 工具 | 描述 |
|---|---|
document_get_raw | 获取完整的原始 JSON 结构(所有标签页、格式、页眉、页脚和样式) |
document_get_text | 获取所有标签页的纯文本内容 |
document_create | 创建新的空白文档 |
document_batch_update | 原子性地应用多项编辑(插入、删除、格式设置等) |
document_append | 在文档末尾追加文本 |
document_insert | 在指定索引处插入文本 |
document_replace | 查找并替换文本 |
batch_update 请求类型
document_batch_update 工具支持以下操作:
insertText- 在指定位置插入文本deleteContentRange- 删除一段内容replaceAllText- 查找并替换所有匹配项insertInlineImage- 插入图片insertTable- 创建表格insertTableRow/insertTableColumn- 向表格添加行/列deleteTableRow/deleteTableColumn- 从表格中删除行/列insertPageBreak- 添加分页符createNamedRange/deleteNamedRange- 管理命名范围createParagraphBullets/deleteParagraphBullets- 管理项目符号列表
Google Docs API 作用域
documents- 完整访问文档的读取和编辑权限
参与贡献
欢迎在 GitHub 上提交拉取请求!开始之前:
- 安装 Git 和 Node.js
- 克隆仓库
- 使用
npm install安装依赖 - 运行
npm run test执行测试 - 使用
npm run build构建
发布
版本遵循语义化版本规范。
发布步骤:
- 使用
npm version <major | minor | patch>更新版本号 - 运行
git push --follow-tags推送并附带标签 - 等待 GitHub Actions 发布到 NPM 注册表。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。