Google Workspace MCP Server
使用说明
- 项目简介
- 这是一个完整的 MCP 服务器实现,能够托管 Google Drive、Docs、Sheets、Slides、Calendar、Gmail、Contacts 等服务的资源、工具和 Prompt 模板,并通过 MCP 的 JSON-RPC 接口与 LLM 客户端进行交互。服务器端负责认证、会话管理、工具注册与执行、Prompt 渲染,以及对请求的统一错误处理与日志输出。
- 主要功能点
- 资源管理:对 Google Drive 等服务的资源进行列举、读取、获取元数据等操作的后端实现。
- 工具注册与执行:将 Drive、Docs、Sheets、Slides、Calendar、Gmail、Contacts 等服务的工具暴露给 LLM 客户端,支持统一的错误处理与重试机制。
- Prompt 定义与渲染:提供 Prompts 的定义与消息生成,支持 LLM 与人机交互的模板化对话。
- JSON-RPC 通信:遵循 MCP 服务器的请求/响应模式,通过标准的 JSON-RPC 与客户端通信。
- 会话与鉴权:内置 OAuth2 流程、令牌持久化、令牌刷新与令牌错误处理,支持多账户/多配置的场景。
- 安全与扩展性:使用 PKCE、循环日志输出、错误映射与可观测性工具,便于集成与扩展。
- 多传输协议支持:底层传输适配设计,便于未来扩展(如 Stdio、SSE、WebSocket 等)。
- 安装与运行
- 依赖与构建
- 安装 Node.js 22+,并在项目根目录执行 npm install。
- 运行构建:执行 npm run build(会把 TypeScript 代码打包为 dist/index.js)。
- 认证配置
- 需要 Google Cloud Project,启用 Drive、Docs、Sheets、Slides、Calendar、Gmail、People 等 API。
- 按 README 指引把 OAuth 客户端凭据保存到默认位置或配置环境变量(GOOGLE_DRIVE_OAUTH_CREDENTIALS、GOOGLE_WORKSPACE_MCP_TOKEN_PATH、GOOGLE_WORKSPACE_MCP_PROFILE 等)。
- 通过命令 npx @dguido/google-workspace-mcp auth 启动并完成 OAuth 授权,令牌将被持久化。
- 启动 MCP 服务器
- 使用 npx 启动服务器,或直接运行打包后的可执行入口 dist/index.js。
- 启动后,服务器会输出版本、进程信息等日志,便于排错和监控。
- 配置客户端对接
- MCP 客户端(如 Claude Desktop)需要配置一个或多个 MCP 服务器入口,客户端通常只需要知道服务器名称、启动命令和参数即可建立连接。
- Quick Start 中的 Claude Desktop 配置示例给出现代化的 JSON 配置:通过 npx 启动服务器,环境变量可控制启用的服务集合(drive,gmail,calendar 等)。
- 依赖与构建
- 服务器配置(示例,供参考,不用于直接执行代码)
- 服务器端名称:google-workspace-mcp
- 启动命令与参数(示例):
- 命令: npx
- 参数: ["@dguido/google-workspace-mcp"]
- 环境变量示例(可选):
- GOOGLE_WORKSPACE_SERVICES: "drive,gmail,calendar" // 启用的服务集合
- 其他可选变量如 GOOGLE_DRIVE_OAUTH_CREDENTIALS、GOOGLE_WORKSPACE_MCP_TOKEN_PATH、GOOGLE_WORKSPACE_MCP_PROFILE 等按需配置
- 配置文件示例(JSON,供客户端读取并连接):
- serverName: "google-workspace-mcp"
- command: "npx"
- args: ["@dguido/google-workspace-mcp"]
- env: { "GOOGLE_WORKSPACE_SERVICES": "drive,gmail,calendar" }
- 基本使用方法
- 认证后配置客户端
- 在 Claude Desktop(或其他 MCP 客户端)中添加一个 MCP 服务器,服务器名称填为 google-workspace-mcp,命令填为 npx,参数填为 ["@dguido/google-workspace-mcp"],环境变量按需要设置。
- 使用场景
- 通过 MCP 客户端请求资源(如读取 Google Drive 文件、列出文件夹、读取 Docs/Sheets/Slides 内容)、调用工具(如搜索、创建文档、发送邮件等)、获取 Prompts(列出、获取提示详情)以及状态信息。
- 典型流程
-
- 运行 npx @dguido/google-workspace-mcp auth 完成首次授权(后续自动使用存储的 tokens)。
-
- 启动 MCP 服务器(npx @dguido/google-workspace-mcp start)。
-
- 在 LLM 客户端中发起资源读取、工具调用或 Prompt 获取等请求,服务器按 MCP 协议返回 JSON-RPC 响应。
-
- 认证后配置客户端
- 说明与注意
- 该实现包含完整的服务端能力、错误映射、日志、和多工具联合使用能力,理论上可以直接用于生产环境,只要正确完成 Google API 的凭据配置与授权流程。
- 如需扩展,遵循现有的工具注册和错误处理模式即可。