谷歌文档mcp
用于谷歌文档的MCP服务器-阅读和编辑文档。
用例
文件问答:“合同对终止条款有什么规定?”→ 阅读文档并抽出相关部分。
会议到文档的工作流程:通话后,阅读Gemini成绩单以及后续的Slack讨论,然后根据所做的决定更新你的团队章程。
发布公告:“根据GitHub PR和Slack在#proj awesome中的讨论,起草一篇关于新功能的博客文章”→ 将技术变革整合到面向用户的内容中。
具有持久背景的日常计划:你的人工智能助手在每天开始时阅读“计划日志”文档,询问昨天的进度,帮助你确定今天的优先级,然后用你的计划更新文档。上下文会贯穿整个会话——它会记住你说过要做什么,并可以跟进。
(这些只是示例-任何需要文档阅读或编辑的工作流都可以使用此功能。与 谷歌硬盘mcp 用于查找文件、删除、评论和共享权限。)
设置
1.创建Google OAuth凭据
- 首选 谷歌云控制台
- 创建新项目(或使用现有项目)
- 启用Google Docs API
- 首选 API和服务 → OAuth 同意屏幕,设置同意屏幕
- 首选 API和服务 → 凭证 → 创建凭证 → OAuth客户端ID
- 选择 Web应用程序
- 添加
http://localhost:3000/callback到 授权重定向URI - 记下您的客户端ID和客户端密码
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客户端
claude mcp add --transport http google-documents-mcp http://localhost:3000/mcp建筑
此服务器充当 OAuth代理 谷歌:
graph LR
A[MCP client] B[google-documents-mcp] C[Google OAuth/API]- 服务器通过以下方式将自己宣传为OAuth授权服务器
/.well-known/oauth-authorization-server /register返回Google OAuth客户端凭据/authorize重定向到Google,将客户端的回调URL编码为状态/callback从Google接收代码并转发给客户端的回调/token向Google代理令牌请求,注入客户端凭据/mcp处理MCP请求,使用承载令牌调用Google Docs API
服务器不持有令牌或状态,它只是将OAuth代理给谷歌。
工具
| 工具 | 说明 |
|---|---|
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文档API范围
documents-完全访问读取和编辑文档
贡献
GitHub上欢迎拉取请求!开始:
- 安装Git和Node.js
- 克隆存储库
- 安装依赖项
npm install - 跑
npm run test运行测试 - 构建于
npm run build
发布
版本遵循 语义版本规范.
要发布:
- 使用
npm version升级版本 - 跑
git push --follow-tags使用标签推送 - 等待GitHub Actions发布到NPM注册表。
