Google Drive MCP 服务器

使用说明内容(Markdown格式)

  • 项目简介

    • 该仓库实现了一个基于 MCP 的服务器端,允许 LLM 客户端通过 JSON-RPC 协议访问 Google Drive 及 Google Workspace 的资源,执行文件/文档/表格/演示文稿相关操作,并能将结果以 MCP 规范的资源/工具形式返回给客户端。
    • 服务器核心职责包括:托管并管理资源(Resources)、注册和执行工具(Tools)、定义与渲染 Prompts(Prompts,可扩展的交互模版)。与 Claude Desktop 等 MCP 客户端对接,提供安全、可扩展的上下文服务。
  • 主要功能点

    • MCP 服务实现
      • 使用 Model Context Protocol 的服务器端框架,处理 MCP 请求并返回标准化的 JSON-RPC 响应。
    • 资源管理(Resources)
      • 列出和读取 Google Drive 中的文件/文件夹资源,支持导出 Google Workspace 文档(Docs、Sheets、Slides)为适合文本读取的格式。
    • 工具(Tools)
      • 提供丰富的工具集合,用于在 Google Drive 和 Google Workspace 内执行多种操作,如搜索、创建/更新文本文件、文件夹、Google Docs/Sheets/Slides 的创建与修改、以及相应的格式化、批量操作等。
    • 权限与认证
      • 使用 OAuth 2.0 桌面应用流程,自动令牌刷新、令牌在本地按 XDG 规范存储,支持令牌迁移和多路径配置。
    • 输入校验与容错
      • 通过 zod 进行输入参数校验,详细日志与错误处理,确保调用的健壮性。
    • 客户端集成与部署
      • 提供 npx、本地安装、Docker、以及 Claude Desktop 等环境的集成说明,支持多种传输模式(如 Stdio)。
    • 配置与托管
      • 支持环境变量、默认路径、以及可选的凭证文件路径配置,确保本地化私钥、令牌的安全管理。
    • 安全性与合规性
      • 无客户端密钥暴露、令牌本地加密存储、基于最小权限的 OAuth 范围、并提供令牌自动刷新与撤销流程的说明。
  • 安装步骤

    • 环境准备
      • Node.js 版本 18+(LTS 版本推荐)。
    • 获取代码
      • 使用 npx 直接运行服务器,或本地克隆后安装依赖再运行。
    • Google Cloud 设置
      • 创建 Google Cloud 项目,启用 Drive、Docs、Sheets、Slides API。
      • 创建 OAuth 2.0 Desktop 应用凭证,下载 gcp-oauth.keys.json 文件(放在仓库根目录,或通过环境变量 GOOGLE_DRIVE_OAUTH_CREDENTIALS 指向)。
    • 认证与授权
      • 第一次运行时会自动触发 OAuth 流程,浏览器打开 Google 授权页面并完成授权,令牌将保存在本地指定位置。
    • 运行服务器
      • 通过 npx @piotr-agier/google-drive-mcp 启动服务器(默认为标准输出/输入的 MCP 传输模式),或本地安装后执行对应命令启动。
    • Docker 使用
      • 认证需在宿主机完成,保证令牌文件可挂载至容器,以便容器内可以使用刷新令牌自动更新。
      • 构建镜像并以挂载的凭证/令牌启动。
    • Claude Desktop 集成
      • 将服务器信息添加到 Claude Desktop 的 MCP 配置中,使用 docker 或 npx 启动的服务器作为 MCP 服务源。
  • 服务器配置(MCP 客户端配置示例说明) 说明:MCP 客户端不需要开发者自写服务器代码,只需要在客户端配置中指向一个可用的 MCP 服务器即可。以下信息用于帮助你在 Claude Desktop 或其他 MCP 客户端进行配置,对应字段含义已在注释中给出。

    • serverName: google-drive
    • command: npx
    • args: ["@piotr-agier/google-drive-mcp"]
    • 注释(参数含义):
      • serverName: 在客户端配置中唯一标识该 MCP 服务器的名称(便于管理和切换)。
      • command: 启动 MCP 服务器的命令,这里使用 npx 来即时拉取并运行服务器实现。
      • args: 启动命令的参数,指定要运行的 MCP 服务器包。
      • env(可选):
        • GOOGLE_DRIVE_OAUTH_CREDENTIALS: 指向你下载的 gcp-oauth.keys.json 的路径,用于 OAuth 认证。
      • 说明:该配置仅用于客户端连接与启动服务器,不需要客户端具备服务器端实现的代码。
  • 基本使用方法

    • 启动与认证
      • 使用 npx 启动服务器后,若首次使用将自动打开浏览器完成 OAuth 流程,完成后服务器就可以对外提供 MCP 服务。
    • 使用资源与工具
      • 客户端通过 MCP 请求读取 Google Drive 的资源、导出文档文本、以及调用工具对 Drive/Workspace 进行操作(如创建文档、表格、幻灯片、文件夹等)。
    • 部署与运维
      • 支持本地开发环境、Docker 容器化部署以及与 Claude Desktop 集成的工作流,适合在私有环境中搭建对 LLM 的上下文服务。
    • 安全与更新
      • 令牌自动刷新、令牌位置符合 XDG 规范、令牌迁移支持历史路径读取,确保长期使用的稳定性与安全性。
  • 使用要点与注意

    • 环境变量优先级:GOOGLE_DRIVE_OAUTH_CREDENTIALS 指向凭证文件的路径;如未设置,默认会在项目根路径寻找 gcp-oauth.keys.json。
    • 令牌存储位置遵循 XDG 规范,若你需要自定义位置,请设置 GOOGLE_DRIVE_MCP_TOKEN_PATH。
    • Google API 调用时请遵循相应 API 的权限范围要求,确保 consent screen 配置正确,且测试账户具备访问权限。
  • 参考与扩展

    • 项目支持多种运行方式和部署方案,并提供详细的 CLI、Docker、以及 Claude Desktop 的整合步骤,可按需扩展工具集合或资源类型以覆盖更多工作流。

服务器信息