Google Workspace MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • 本仓库实现了一个基于 MCP 的后端服务器,用于向 LLM 客户端(如 Claude Desktop、Claude Code CLI 等)提供对 Google Workspace 服务的上下文信息、访问资源和可执行工具的能力。服务端通过 JSON-RPC 与客户端通信,支持通过多种传输方式(此实现以标准输入/输出传输为主)。服务器负责会话管理、能力声明,以及对 OAuth2 认证、工具注册与调用等进行封装。
  • 主要功能点

    • 资源与数据访问:对 Google Workspace 的文档、表格、日历、驱动等进行查询与获取文本数据。
    • 工具注册与执行:将大量 Google Workspace 的操作封装为 MCP 工具(如 docs.create、drive.find、calendar.list 等),客户端可按需调用。
    • Prompt/上下文渲染支持:提供文本/结构化结果,方便在 LLM 会话中渲染提示和上下文。
    • 安全与认证:通过 OAuth2 机制进行凭证管理,支持令牌缓存、刷新及云函数协助的令牌刷新流程,包含对回调的本地化浏览器打开的安全封装。
    • 传输兼容性:现实现使用 StdioServerTransport 作为 MCP 的传输入口,后续可扩展为 SSE、WebSocket 等传输。
  • 安装步骤

    • 需要 Node.js 18 及以上环境。
    • 在项目目录中执行环境搭建与打包构建步骤(与仓库自带的构建脚本配套):
      • 使用 npm/npx 安装并运行 MCP 服务器(示例命令见下方 Quick Start 配置);
      • 或直接通过 npm 包发布管理器安装并运行(通常为 npx -y @presto-ai/google-workspace-mcp)。
    • 运行后服务器将提示您进行 Google 账号认证,完成后即可对外提供 MCP 服务。
  • 服务器配置(MCP 客户端使用的配置示例) 提示:MCP 客户端需要一个配置,用于在启动时知道要如何启动服务器。以下示例对应 README 中的配置方式,服务器名称与客户端启动命令参数紧密对应,请按实际使用场景配置。配置信息以 JSON 形式表示,包含 server name、command、args 等字段。 { "google-workspace": { "serverName": "google-workspace", "command": "npx", "args": ["-y", "@presto-ai/google-workspace-mcp"] } // 如需在 Claude Desktop 配置中直接写入,请以此格式作为参考 }

  • 基本使用方法

    • 启动服务器
      • 使用命令启动(示例,您也可采用 npm 的脚本或全局安装的方式):
        • npx -y @presto-ai/google-workspace-mcp
      • 启动后首次使用会进行 Google 账号认证,完成浏览器中的授权流程。
    • 配置与连接客户端
      • 在 Claude Desktop 或 Claude Code CLI 的 MCP 设置中添加服务器条目(示例名称见上方配置示例)。
      • 将服务器启动命令与参数粘贴到客户端的配置中,确保客户端以阶段性连接方式通过 MCP 协议与该服务器通信。
    • 使用与调试
      • 服务器注册了大量工具(docs., drive., calendar., chat., gmail., time., people., slides., sheets.* 等等),可在 LLM 会话中调用以获取 Google Workspace 的数据或执行外部功能。
      • 如遇认证相关问题,参考 README 的凭证存储、缓存与 token 刷新流程进行排错。

服务器信息