G

Google 文档上下文协议服务

@a-bonus/google-docs-mcp
1 Stars 362 次浏览 a-bonus 更新于 2026-08-23

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

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

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 客户端配合使用而设计

前提条件

在开始之前,请确保您具备以下条件:

  1. Node.js 和 npm: 计算机上安装了较新版本的 Node.js(包括 npm)。您可以从 nodejs.org 下载。(建议使用 18 或更高版本)。
  2. Git: 用于克隆此仓库。(下载 Git)。
  3. Google 帐户: 拥有或可以访问您希望与其交互的 Google 文档的帐户。
  4. 命令行熟悉度: 基本掌握使用终端或命令提示符(如 macOS/Linux 上的 Terminal,或 Windows 上的 Command Prompt/PowerShell)。
  5. Claude Desktop(可选): 如果您的目标是将此服务器连接到 Claude,则需要安装 Claude Desktop 应用程序。

设置说明

请按照以下步骤仔细操作,以运行您自己的服务器实例。

第 1 步:Google Cloud 项目及凭据(重要部分!)

该服务器需要代表您与 Google API 通信的权限。您将创建特殊的“密钥”(凭据),仅供您的服务器使用。

  1. 前往 Google Cloud 控制台: 打开您的网络浏览器并访问 Google Cloud 控制台。您可能需要使用您的 Google 帐号登录。
  2. 创建或选择一个项目:
    • 如果您没有项目,请点击顶部附近的项目下拉菜单并选择“新建项目”。给它起个名字(例如,“My MCP Docs Server”),然后点击“创建”。
    • 如果您有现有项目,可以选择其中一个或创建一个新的。
  3. 启用 API: 您需要启用此服务器使用的特定 Google 服务。
    • 在顶部的搜索栏中输入“API 和服务”,然后选择“库”。
    • 搜索“Google Docs API”并点击它。然后点击“启用”按钮。
    • 搜索“Google Drive API”并点击它。然后点击“启用”按钮(这通常用于查找文件或权限)。
  4. 配置 OAuth 同意屏幕: 这个屏幕告诉用户(通常是您自己)您的应用程序请求哪些权限。
    • 在左侧菜单中,点击“API 和服务” -> “OAuth 同意屏幕”。
    • 选择用户类型:选择“外部”并点击“创建”。
    • 填写应用信息:
      • 应用名称: 输入用户将看到的名称(例如,“Claude Docs MCP Access”)。
      • 用户支持电子邮件: 选择您的电子邮件地址。
      • 开发者联系信息: 输入您的电子邮件地址。
    • 点击“保存并继续”。
    • 范围: 点击“添加或移除范围”。搜索并添加以下范围:
      • https://www.googleapis.com/auth/documents(允许读取/写入文档)
      • https://www.googleapis.com/auth/drive.file(允许访问应用程序打开或创建的特定文件)
      • 点击“更新”。
    • 点击“保存并继续”。
    • 测试用户: 点击“添加用户”。输入您登录时使用的同一 Google 电子邮件地址。点击“添加”。这允许_您_在“测试”模式下使用该应用程序。
    • 点击“保存并继续”。查看摘要后点击“返回仪表板”。
  5. 创建凭据(密钥!):
    • 在左侧菜单中,点击“API 和服务” -> “凭据”。
    • 点击顶部的“+ 创建凭据”并选择“OAuth 客户端 ID”。
    • 应用程序类型: 从下拉菜单中选择“桌面应用”。
    • 名称: 给它起个名字(例如,“MCP Docs Desktop Client”)。
    • 点击“创建”。
  6. ⬇️ 下载凭据文件: 将会弹出一个显示您的客户端 ID 的框。点击“下载 JSON”按钮。
    • 保存此文件。它可能会被命名为类似 client_secret_....json 的文件名。
    • 重要: 将下载的文件重命名为确切的 credentials.json
  7. ⚠️ 安全警告: 将这个 credentials.json 文件当作密码一样对待!不要公开分享它,并且绝不要将其提交到 GitHub。任何拥有此文件的人都可以冒充_您的应用程序_(尽管他们仍然需要用户同意才能访问数据)。

步骤 2:获取服务器代码

  1. 克隆仓库: 打开你的终端/命令提示符并运行:

    git clone https://github.com/a-bonus/google-docs-mcp.git mcp-googledocs-server
    
  2. 进入目录:

    cd mcp-googledocs-server
    
  3. 放置凭证文件: 将你下载并重命名的 credentials.json 文件(从步骤1.6)直接移动或复制到这个 mcp-googledocs-server 文件夹中。

步骤 3:安装依赖

您的服务器需要一些在 package.json 文件中指定的帮助库。

  1. 在您的终端中(确保您位于 mcp-googledocs-server 目录内),运行:
    npm install
    
    这将下载并将所有必要的包安装到 node_modules 文件夹中。

步骤 4:构建服务器代码

服务器是用 TypeScript(.ts)编写的,但我们需要将其编译成 Node.js 可以直接运行的 JavaScript(.js)。

  1. 在您的终端中,运行:
    npm run build
    
    这会使用 TypeScript 编译器 (tsc) 创建一个包含已编译 JavaScript 文件的 dist 文件夹。

步骤 5:首次运行与 Google 授权(仅需一次)

现在你需要手动运行服务器一次,以授予它访问你的 Google 账户数据的权限。这将创建一个保存了你的授权信息的 token.json 文件。

  1. 在终端中,使用 node 运行_编译后_的服务器:
    node ./dist/server.js
    
  2. 观察终端: 脚本将打印:
    • 状态消息(如“正在尝试授权...”)。
    • 一条“通过访问此网址授权此应用:”的消息,后面跟着一个长的 https://accounts.google.com/... URL。
  3. 在浏览器中授权:
    • 从终端复制整个长 URL。
    • 将 URL 粘贴到您的网络浏览器中并按 Enter 键。
    • 使用您在步骤 1.4 中添加为测试用户的相同的 Google 账户登录。
    • Google 将显示一个屏幕,请求您的应用(“Claude Docs MCP Access”或类似名称)访问 Google Docs/Drive 的权限。审查并点击“允许”或“授予”。
  4. 获取授权码:
    • 单击允许后,您的浏览器可能会尝试重定向到 http://localhost 并显示“无法访问此网站”错误。这是正常的!
    • 仔细查看浏览器地址栏中的 URL。它看起来像 http://localhost/?code=4/0Axxxxxxxxxxxxxx&scope=...
    • 复制 code=&scope 部分之间的长字符串字符。这就是您的单次使用授权码。
  5. 将代码粘贴到终端: 返回到脚本等待的终端(“在此处输入该页面上的代码:”)。粘贴您刚刚复制的代码。
  6. 按 Enter 键。
  7. 成功! 脚本应打印:
    • “认证成功!”
    • “令牌已存储至 .../token.json”
    • 它随后将完成启动,并可能打印“正通过 stdio 等待 MCP 客户端连接...”或类似内容,然后退出(或者您可以按 Ctrl+C 停止它)。
  8. 检查: 您现在应该在 mcp-googledocs-server 文件夹中看到一个名为 token.json 的新文件。
  9. ⚠️ 安全警告:token.json 文件包含允许服务器无需再次询问即可访问您的 Google 账户的密钥。请像保护密码一样保护它。不要将其提交到 GitHub。 包含的 .gitignore 文件应能自动防止这种情况。

第六步:配置 Claude Desktop(可选)

如果您想使用这个服务器与 Claude Desktop 一起工作,您需要告诉 Claude 如何运行它。

  1. 找到你的绝对路径: 你需要服务器代码的完整路径。

    • 在终端中,确保你仍然位于 mcp-googledocs-server 目录内。
    • 运行 pwd 命令(在 macOS/Linux 上)或 cd(在 Windows 上,仅显示路径)。
    • 复制完整路径(例如 /Users/yourname/projects/mcp-googledocs-serverC:\Users\yourname\projects\mcp-googledocs-server)。
  2. 定位 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 文件不存在,请创建它们。
  3. 编辑 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 是有效的(检查逗号!)。
  4. 保存 mcp_config.json

  5. 重启 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.jsontoken.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 文件)。

相关 MCP 服务