项目简介

FastMCP Google Docs Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在桥接 LLM 应用(如 Claude Desktop)与用户的 Google Docs。它利用 'fastmcp' 库和 Google Docs API,提供了一系列工具,使得 LLM 能够以编程方式访问和操作 Google 文档,例如读取文档内容、向文档追加文本以及格式化文档中的特定文本。

主要功能点

  • 读取 Google 文档: 提供 'readGoogleDoc' 工具,允许 LLM 获取指定 Google 文档的文本内容。
  • 追加内容到 Google 文档: 提供 'appendToGoogleDoc' 工具,允许 LLM 向指定 Google 文档末尾添加文本。
  • 格式化文档文本 (基于内容匹配): 提供 'formatMatchingText' 工具,允许 LLM 查找文档中特定的文本,并对其应用粗体、颜色等格式。
  • Google 身份验证: 安全处理 OAuth 2.0 身份验证流程,授权访问用户的 Google 账户。
  • MCP 协议兼容: 完全兼容 MCP 协议,可与任何 MCP 客户端协同工作。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的计算机上已安装 Node.js (版本 18 或更高) 和 npm。
  2. 安装 Git: 用于克隆仓库。
  3. Google 账户准备: 拥有一个可以访问目标 Google Docs 的 Google 账户。
  4. 克隆仓库: 打开终端或命令提示符,运行命令克隆仓库:
    git clone https://github.com/a-bonus/google-docs-mcp.git mcp-googledocs-server
    cd mcp-googledocs-server
  5. Google Cloud 项目配置:
    • 访问 Google Cloud Console 并登录你的 Google 账户。
    • 创建或选择一个 Google Cloud 项目。
    • 启用 "Google Docs API" 和 "Google Drive API"。
    • 配置 OAuth 同意屏幕,设置为 "外部",填写应用信息(如应用名称 "Claude Docs MCP Access"),添加你的邮箱为用户支持邮箱和开发者联系信息。
    • 在 "范围" 步骤中,添加以下 scopes:
      • 'https://www.googleapis.com/auth/documents'
      • 'https://www.googleapis.com/auth/drive.file'
    • 在 "测试用户" 步骤中,添加你的 Google 账户邮箱。
    • 创建凭据:在 "凭据" 页面,点击 "创建凭据" -> "OAuth 客户端 ID",选择 "桌面应用",命名为 "MCP Docs Desktop Client"。
    • 下载 JSON 凭据文件,并重命名为 'credentials.json',移动到 'mcp-googledocs-server' 文件夹中。
  6. 安装依赖: 在 'mcp-googledocs-server' 目录下运行命令安装依赖:
    npm install
  7. 构建项目: 运行命令构建 TypeScript 代码:
    npm run build
  8. 首次运行并授权: 运行编译后的服务器代码进行 Google 授权 (只需首次运行):
    node ./dist/server.js
    按照终端提示,复制 URL 到浏览器打开,登录你的 Google 账户并授权。复制授权码粘贴回终端并回车。授权成功后,会在项目目录下生成 'token.json' 文件。

服务器配置

要将此 MCP 服务器配置到 MCP 客户端(例如 Claude Desktop),你需要提供服务器的启动命令和参数。以下是 'mcp_config.json' 配置文件中 'mcpServers' 部分的配置示例,请根据你的实际仓库路径进行修改:

{
  "mcpServers": {
    "google-docs-mcp": {
      "command": "node",
      "args": [
        "/PATH/TO/YOUR/CLONED/REPO/mcp-googledocs-server/dist/server.js"
      ],
      "env": {}
    }
  }
}

参数注释:

  • '"google-docs-mcp"': 服务器名称,在 MCP 客户端中引用时使用。
  • '"command": "node"': 启动服务器的命令,这里使用 Node.js 运行时。
  • '"args"': 命令参数数组。
    • '"/PATH/TO/YOUR/CLONED/REPO/mcp-googledocs-server/dist/server.js"': 请替换为你的 'mcp-googledocs-server' 仓库的绝对路径,指向编译后的 'server.js' 文件。
  • '"env": {}': 环境变量,此处为空。

Claude Desktop 配置步骤 (示例):

  1. 找到 Claude Desktop 的配置文件 'mcp_config.json' (路径参考 README.md)。
  2. 编辑 'mcp_config.json' 文件,将上述配置示例添加到 'mcpServers' 节点中,并 务必将 '/PATH/TO/YOUR/CLONED/REPO' 替换为你的实际仓库路径
  3. 保存 'mcp_config.json' 并重启 Claude Desktop。

基本使用方法

配置完成后,在 Claude Desktop 中,你可以通过自然语言指令调用 Google Docs 的工具。例如:

  • '使用 google-docs-mcp 读取 ID 为 'YOUR_GOOGLE_DOC_ID' 的文档。'
  • 'google-docs-mcp 能否获取 Google Doc 'YOUR_GOOGLE_DOC_ID' 的内容?'
  • '使用 google-docs-mcp 工具,向文档 'YOUR_GOOGLE_DOC_ID' 追加 '这是 Claude 添加的内容!'。'
  • '通过 google-docs-mcp,使用 formatMatchingText 工具将文档 'YOUR_GOOGLE_DOC_ID' 中的 '重要章节' 加粗。'
  • '使用 google-docs-mcp 的 formatMatchingText 工具,在文档 'YOUR_GOOGLE_DOC_ID' 中找到第一个 'Project Alpha' 并将其颜色设为蓝色 (#0000FF)。'

请将 'YOUR_GOOGLE_DOC_ID' 替换为实际的 Google 文档 ID。

注意: 首次使用工具时,Claude Desktop 可能会自动启动 'google-docs-mcp' 服务器。你无需手动运行 'node ./dist/server.js'。

信息

分类

生产力应用