Google 文档上下文协议服务
一种模型上下文协议服务器,使像 Claude 这样的 AI 助手能够以编程方式在 Google 文档中读取、添加和格式化文本。
服务介绍
Ultimate Google Docs MCP 服务器

将 Claude Desktop(或其他 MCP 客户端)连接到您的 Google 文档!
🔥 查看使用此增强服务器可以完成的 10 个强大任务!
这个增强服务器使用模型上下文协议 (MCP) 和 fastmcp 库,提供了全面的工具来读取、写入、格式化和构建 Google 文档。它充当一个强大的桥梁,允许像 Claude 这样的 AI 助手以高级功能与您的文档进行程序化交互。
功能:
文档访问
- 读取文档: 使用
readGoogleDoc读取内容(纯文本、JSON 结构或 markdown) - 追加到文档: 使用
appendToGoogleDoc向文档添加文本 - 插入文本: 使用
insertText在特定位置插入文本 - 删除内容: 使用
deleteRange从文档中删除内容
格式化与样式
- 文本格式化: 使用
applyTextStyle应用丰富的样式(粗体、斜体、颜色等) - 段落格式化: 使用
applyParagraphStyle控制段落布局(对齐、间距等) - 查找与格式化: 使用
formatMatchingText按文本内容格式化(旧版支持)
文档结构
- 表格: 使用
insertTable创建表格 - 分页符: 使用
insertPageBreak插入分页符 - 实验性功能: 如
fixListFormatting自动检测列表的工具
集成
- Google 身份验证: 安全的 OAuth 2.0 身份验证
- MCP 兼容: 专为与 Claude 及其他 MCP 客户端配合使用而设计
前提条件
在开始之前,请确保您具备以下条件:
- Node.js 和 npm: 计算机上安装了较新版本的 Node.js(包括 npm)。您可以从 nodejs.org 下载。(建议使用 18 或更高版本)。
- Git: 用于克隆此仓库。(下载 Git)。
- Google 帐户: 拥有或可以访问您希望与其交互的 Google 文档的帐户。
- 命令行熟悉度: 基本掌握使用终端或命令提示符(如 macOS/Linux 上的 Terminal,或 Windows 上的 Command Prompt/PowerShell)。
- Claude Desktop(可选): 如果您的目标是将此服务器连接到 Claude,则需要安装 Claude Desktop 应用程序。
设置说明
请按照以下步骤仔细操作,以运行您自己的服务器实例。
第 1 步:Google Cloud 项目及凭据(重要部分!)
该服务器需要代表您与 Google API 通信的权限。您将创建特殊的“密钥”(凭据),仅供您的服务器使用。
- 前往 Google Cloud 控制台: 打开您的网络浏览器并访问 Google Cloud 控制台。您可能需要使用您的 Google 帐号登录。
- 创建或选择一个项目:
- 如果您没有项目,请点击顶部附近的项目下拉菜单并选择“新建项目”。给它起个名字(例如,“My MCP Docs Server”),然后点击“创建”。
- 如果您有现有项目,可以选择其中一个或创建一个新的。
- 启用 API: 您需要启用此服务器使用的特定 Google 服务。
- 在顶部的搜索栏中输入“API 和服务”,然后选择“库”。
- 搜索“Google Docs API”并点击它。然后点击“启用”按钮。
- 搜索“Google Drive API”并点击它。然后点击“启用”按钮(这通常用于查找文件或权限)。
- 配置 OAuth 同意屏幕: 这个屏幕告诉用户(通常是您自己)您的应用程序请求哪些权限。
- 在左侧菜单中,点击“API 和服务” -> “OAuth 同意屏幕”。
- 选择用户类型:选择“外部”并点击“创建”。
- 填写应用信息:
- 应用名称: 输入用户将看到的名称(例如,“Claude Docs MCP Access”)。
- 用户支持电子邮件: 选择您的电子邮件地址。
- 开发者联系信息: 输入您的电子邮件地址。
- 点击“保存并继续”。
- 范围: 点击“添加或移除范围”。搜索并添加以下范围:
https://www.googleapis.com/auth/documents(允许读取/写入文档)https://www.googleapis.com/auth/drive.file(允许访问应用程序打开或创建的特定文件)- 点击“更新”。
- 点击“保存并继续”。
- 测试用户: 点击“添加用户”。输入您登录时使用的同一 Google 电子邮件地址。点击“添加”。这允许_您_在“测试”模式下使用该应用程序。
- 点击“保存并继续”。查看摘要后点击“返回仪表板”。
- 创建凭据(密钥!):
- 在左侧菜单中,点击“API 和服务” -> “凭据”。
- 点击顶部的“+ 创建凭据”并选择“OAuth 客户端 ID”。
- 应用程序类型: 从下拉菜单中选择“桌面应用”。
- 名称: 给它起个名字(例如,“MCP Docs Desktop Client”)。
- 点击“创建”。
- ⬇️ 下载凭据文件: 将会弹出一个显示您的客户端 ID 的框。点击“下载 JSON”按钮。
- 保存此文件。它可能会被命名为类似
client_secret_....json的文件名。 - 重要: 将下载的文件重命名为确切的
credentials.json。
- 保存此文件。它可能会被命名为类似
- ⚠️ 安全警告: 将这个
credentials.json文件当作密码一样对待!不要公开分享它,并且绝不要将其提交到 GitHub。任何拥有此文件的人都可以冒充_您的应用程序_(尽管他们仍然需要用户同意才能访问数据)。
步骤 2:获取服务器代码
-
克隆仓库: 打开你的终端/命令提示符并运行:
git clone https://github.com/a-bonus/google-docs-mcp.git mcp-googledocs-server -
进入目录:
cd mcp-googledocs-server -
放置凭证文件: 将你下载并重命名的
credentials.json文件(从步骤1.6)直接移动或复制到这个mcp-googledocs-server文件夹中。
步骤 3:安装依赖
您的服务器需要一些在 package.json 文件中指定的帮助库。
- 在您的终端中(确保您位于
mcp-googledocs-server目录内),运行:
这将下载并将所有必要的包安装到npm installnode_modules文件夹中。
步骤 4:构建服务器代码
服务器是用 TypeScript(.ts)编写的,但我们需要将其编译成 Node.js 可以直接运行的 JavaScript(.js)。
- 在您的终端中,运行:
这会使用 TypeScript 编译器 (npm run buildtsc) 创建一个包含已编译 JavaScript 文件的dist文件夹。
步骤 5:首次运行与 Google 授权(仅需一次)
现在你需要手动运行服务器一次,以授予它访问你的 Google 账户数据的权限。这将创建一个保存了你的授权信息的 token.json 文件。
- 在终端中,使用
node运行_编译后_的服务器:node ./dist/server.js - 观察终端: 脚本将打印:
- 状态消息(如“正在尝试授权...”)。
- 一条“通过访问此网址授权此应用:”的消息,后面跟着一个长的
https://accounts.google.com/...URL。
- 在浏览器中授权:
- 从终端复制整个长 URL。
- 将 URL 粘贴到您的网络浏览器中并按 Enter 键。
- 使用您在步骤 1.4 中添加为测试用户的相同的 Google 账户登录。
- Google 将显示一个屏幕,请求您的应用(“Claude Docs MCP Access”或类似名称)访问 Google Docs/Drive 的权限。审查并点击“允许”或“授予”。
- 获取授权码:
- 单击允许后,您的浏览器可能会尝试重定向到
http://localhost并显示“无法访问此网站”错误。这是正常的! - 仔细查看浏览器地址栏中的 URL。它看起来像
http://localhost/?code=4/0Axxxxxxxxxxxxxx&scope=... - 复制
code=和&scope部分之间的长字符串字符。这就是您的单次使用授权码。
- 单击允许后,您的浏览器可能会尝试重定向到
- 将代码粘贴到终端: 返回到脚本等待的终端(“在此处输入该页面上的代码:”)。粘贴您刚刚复制的代码。
- 按 Enter 键。
- 成功! 脚本应打印:
- “认证成功!”
- “令牌已存储至 .../token.json”
- 它随后将完成启动,并可能打印“正通过 stdio 等待 MCP 客户端连接...”或类似内容,然后退出(或者您可以按
Ctrl+C停止它)。
- ✅ 检查: 您现在应该在
mcp-googledocs-server文件夹中看到一个名为token.json的新文件。 - ⚠️ 安全警告: 此
token.json文件包含允许服务器无需再次询问即可访问您的 Google 账户的密钥。请像保护密码一样保护它。不要将其提交到 GitHub。 包含的.gitignore文件应能自动防止这种情况。
第六步:配置 Claude Desktop(可选)
如果您想使用这个服务器与 Claude Desktop 一起工作,您需要告诉 Claude 如何运行它。
-
找到你的绝对路径: 你需要服务器代码的完整路径。
- 在终端中,确保你仍然位于
mcp-googledocs-server目录内。 - 运行
pwd命令(在 macOS/Linux 上)或cd(在 Windows 上,仅显示路径)。 - 复制完整路径(例如
/Users/yourname/projects/mcp-googledocs-server或C:\Users\yourname\projects\mcp-googledocs-server)。
- 在终端中,确保你仍然位于
-
定位
mcp_config.json: 找到 Claude 的配置文件:- macOS:
~/Library/Application Support/Claude/mcp_config.json(你可能需要使用 Finder 的“前往”->“前往文件夹...”菜单并粘贴~/Library/Application Support/Claude/) - Windows:
%APPDATA%\Claude\mcp_config.json(将%APPDATA%\Claude粘贴到文件资源管理器的地址栏中) - Linux:
~/.config/Claude/mcp_config.json - 如果
Claude文件夹或mcp_config.json文件不存在,请创建它们。
- macOS:
-
编辑
mcp_config.json: 用文本编辑器打开该文件。像这样添加或修改mcpServers部分,将/PATH/TO/YOUR/CLONED/REPO替换为你在步骤 6.1 中复制的实际绝对路径:{ "mcpServers": { "google-docs-mcp": { "command": "node", "args": [ "/PATH/TO/YOUR/CLONED/REPO/mcp-googledocs-server/dist/server.js" ], "env": {} } // 如果定义了其他服务器,请在这里添加逗号 } // 可能还有其他 Claude 设置 }- 确保
"args"中的路径是正确的并且是绝对路径! - 如果文件已经存在,请小心地将此条目合并到现有的
mcpServers对象中。确保 JSON 是有效的(检查逗号!)。
- 确保
-
保存
mcp_config.json。 -
重启 Claude 桌面应用: 完全关闭 Claude 并重新打开它。
使用 Claude 桌面应用
配置完成后,你应该能够在与 Claude 的聊天中使用这些工具:
- “使用
google-docs-mcp服务器读取 ID 为YOUR_GOOGLE_DOC_ID的文档。” - “你能获取 Google Doc
YOUR_GOOGLE_DOC_ID的内容吗?” - “使用
google-docs-mcp工具向文档YOUR_GOOGLE_DOC_ID添加 'This was added by Claude!'。”
高级使用示例:
- 文本样式:“使用
applyTextStyle将文本 'Important Section' 设置为粗体和红色 (#FF0000) 在文档YOUR_GOOGLE_DOC_ID中。” - 段落样式:“使用
applyParagraphStyle将包含 'Title Here' 的段落居中对齐在文档YOUR_GOOGLE_DOC_ID中。” - 表格创建:“使用
insertTable工具在文档YOUR_GOOGLE_DOC_ID的索引 500 处插入一个 3x4 表格。” - 旧版格式:“使用
formatMatchingText查找 'Project Alpha' 的第二个实例并将其设置为蓝色 (#0000FF) 在文档YOUR_GOOGLE_DOC_ID中。”
请记得将 YOUR_GOOGLE_DOC_ID 替换为实际的 Google 文档 URL 中的 ID(即 /d/ 和 /edit 之间的长字符串)。
Claude 会在需要时使用您提供的命令自动在后台启动您的服务器。您不再需要手动运行 node ./dist/server.js。
安全与令牌存储
.gitignore: 此仓库包含一个.gitignore文件,可以防止您意外提交敏感的credentials.json和token.json文件。请勿从.gitignore中删除这些行。- 令牌存储: 为了简化设置过程,此服务器直接将 Google 授权令牌 (
token.json) 存储在项目文件夹中。在生产环境或对安全性要求更高的环境中,请考虑更安全地存储该令牌,例如使用系统钥匙串、加密文件或专用的秘密管理服务。
故障排除
- Claude 显示“Failed”或“Could not attach”:
- 检查
mcp_config.json中的绝对路径是否正确。 - 确保已成功运行
npm run build并且dist文件夹存在。 - 尝试在终端中手动运行
mcp_config.json中的命令:node /PATH/TO/YOUR/CLONED/REPO/mcp-googledocs-server/dist/server.js。查看是否有任何错误输出。 - 检查 Claude Desktop 日志(参见官方 MCP 调试指南)。
- 确保服务器代码中的所有
console.log状态消息都已更改为console.error。
- 检查
- Google 授权错误:
- 确保已启用正确的 API(Docs, Drive)。
- 确保已在 OAuth 同意屏幕上将您的电子邮件添加为测试用户。
- 确认
credentials.json文件已正确放置在项目根目录中。
许可证
本项目根据 MIT 许可证授权 - 详情请参阅 LICENSE 文件。(注意:您应该在仓库中添加一个包含 MIT 许可证文本的 LICENSE 文件)。