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