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 范围、并提供令牌自动刷新与撤销流程的说明。
- MCP 服务实现
-
安装步骤
- 环境准备
- 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 的整合步骤,可按需扩展工具集合或资源类型以覆盖更多工作流。