Google Workspace MCP 服务器(含 Apps Script 集成)
以下内容以 Markdown 格式给出使用说明,帮助你快速了解、安装与使用该 MCP 服务器。
-
项目简介
- 该仓库实现了一个基于 MCP(Model Context Protocol)的服务器端,面向 Claude Code CLI 等客户端提供对 Google Workspace 相关资源(Resources)、工具(Tools)和文本/模板(Prompts)的上下文服务。通过 JSON-RPC 风格的 MCP 请求,客户端可以读取资源、调用工具以及获取提示模板等能力,服务器负责会话管理与能力声明。
-
主要功能点
- MCP 服务器核心:使用 FastMCP 库搭建服务器,注册并暴露多种工具,便于 LLM 客户端通过统一协议调用外部功能。
- 资源与工具托管:提供针对 Google Docs、Sheets、Drive、Gmail、Calendar、Apps Script 的大量工具,包括文档读取、操作表格、日历事件管理、邮件处理、脚本管理等。
- 模板与渲染支持:提供将 Docs 内容转为文本/Markdown 的辅助功能,并具备将文档内容渲染为简化描述的能力(如列表、段落、表格等的描述性输出)。
- 客户端测试友好:包含大量测试辅助工具(MockFastMCP 等)以验证工具注册、参数校验和执行路径,便于开发与集成。
- 多模块化实现:工具分布在 src/tools/ 及各 Google API 辅助模块中,server.ts 汇总注册并启动 MCP 服务。
-
安装步骤
- 克隆仓库
- 安装依赖:npm install
- 构建类型脚本/编译产物(如 dist/server.js)
- 启动服务器:node dist/server.js
- 如需使用脚本交互式设置,可执行脚本中的设置向导(scripts/setup.ts),用于准备环境与生成配置信息
-
服务器配置(给 MCP 客户端的连接信息) 说明:下面的配置信息是用于 MCP 客户端连接该服务器的描述性 JSON,包含服务器标识、启动命令以及参数等。实际客户端不需要包含此代码,只用于理解服务器的启动与接入方式。
- 服务器名称:google-workspace-mcp-with-script
- 启动命令:node
- 启动参数:dist/server.js
- 配置示例(以文本形式呈现,非代码块): { "server": "google-workspace-mcp-with-script", "command": "node", "args": ["dist/server.js"] }
- 注释:该 MCP 服务器在启动时会创建一个 FastMCP 实例,提供对 Google Workspace 各类工具的能力声明与执行能力,客户端通过 MCP 规范与之通信,执行工具调用、资源读取等操作。
-
基本使用方法
- 启动后,服务器将监听并提供工具集合,客户端可通过 MCP 请求访问以下能力:
- 读取 Google Docs 内容、提取文本/Markdown、查看标签/标签页结构等
- 对 Google Drive/Docs/Sheets 的文件进行查询、读取、创建、更新、删除等操作
- 操作 Google Calendar,创建、更新、删除事件,以及查询空闲时间
- 使用 Apps Script 管理脚本项目与内容
- Gmail 的搜索、读取、发送、草稿、标签管理等
- 客户端通常需要配置连接信息(如前述服务器启动信息),并通过 MCP 协议向服务器发送请求,获取 JSON-RPC 风格的响应。
- 启动后,服务器将监听并提供工具集合,客户端可通过 MCP 请求访问以下能力:
-
额外说明
- 服务器实现中包含对多种 Google API 的辅助工具(docs, drive, sheets, script, gmail, calendar)的封装,具备参数校验(使用 zod)与错误处理,便于集成到各种 LLM 工作流中。
- 支持的传输示例在服务器启动时以 stdio 作为传输通道,未来可扩展到 SSE/WebSocket 等传输方式。
-
注意事项
- 使用前请确保已正确配置 Google API 认证,包括凭证、授权与所需的访问权限。
- 服务器启动前可能需要完成 OAuth2 授权流程,或配置服务账户(如通过 SERVICE_ACCOUNT_PATH 环境变量)以实现自动化认证。
-
关联资源
- 主要工具与日历/文档等 API 的实现与测试用例包含在 src/ 和 tests/ 目录下,可用于理解实现细节与本地测试。
-
参考与未来扩展
- 该实现具备较强的功能覆盖和模块化结构,未来可进一步完善传输协议支持、增强安全策略、增加更多 RDF/Prompts 模板、以及对 MCP 客户端的统一描述(PROMPTS 与 Resources 的渲染能力)。