Google Workspace MCP with Script
使用说明(Markdown 格式)
-
项目简介
- 该仓库实现了一个完整的 MCP 服务器,能够通过 JSON-RPC 的方式向 LLM 客户端提供对 Google Workspace 资源的托管与访问能力,注册并执行工具、以及渲染 Prompts,帮助实现将 Google 工作区的外部功能融入到对话式 AI 流程中。
-
主要功能点
- 资源管理:对 Google Docs、Sheets、Drive、Gmail、Calendar 等资源进行访问与操作的能力。
- 工具注册与执行:提供一整套工具(如读取文档、管理日历、处理邮件等),LLM 可以通过工具名称调用对应功能。
- Prompts 定义与渲染:支持以模板化方式提供提示与交互模式,方便定制化对话流程。
- 多协议通信:通过 MCP 框架提供的接口与运行时配置,支持在多种传输方式下与客户端通信。
- 会话与能力声明:内部维护工具注册、能力展示,便于对接端进行能力自描述。
-
安装步骤
- 前提
- Node.js 18+ 环境(仓库中的实现依赖于 TS/Node 运行时)。
- Google Cloud 项目所需的凭据:credentials.json(OAuth 客户端)以及 token.json(已授权的会话令牌)。
- 步骤
- 安装依赖:在项目根目录执行 npm install。
- 构建/编译:执行 npm run build 将 TypeScript 编译为可执行的 dist 目录。
- 启动服务器:运行 dist/server.js,服务器将以 MCP 服务器形式监听客户端连接。
- 配置 MCP 客户端:客户端需要一个 JSON 配置,用以连接到 MCP 服务器(见下方“服务器配置”部分的示例与说明)。
- 服务器配置(MCP 客户端需要的连接信息;JSON 格式,包含 serverName、command、args 等,用于与 MCP 服务器建立连接。以下示例基于仓库实际实现生成,与客户端无关的注释性说明也一并给出)
- 配置示例(仅为说明用途,请在实际环境中按需调整) { "server": "google-workspace", "name": "Google Workspace MCP Server", "command": "node", "args": ["dist/server.js"], "description": "Google Workspace MCP 服务端,用于向 LLM 提供 Docs、Sheets、Drive、Gmail、Calendar、Apps Script 等资源与工具访问能力。" }
- 参数说明
- server: 唯一标识的服务器名称,需与 MCP 服务端的注册名称对应(示例中为 google-workspace)。
- name: 服务器的显示名称,便于在客户端界面中识别。
- command: 启动服务器所执行的命令,通常为 node。
- args: 启动命令的参数列表,常见为 dist/server.js,表示已编译好的服务器入口。
- description: 服务器的简要描述,帮助客户端了解该服务器的用途。
- 基本使用方法
- 客户端连接:MCP 客户端按配置文件启动后,即可通过 MCP 协议向该服务器发送资源读取、工具调用、Prompts 获取等请求。
- 调用示例(简述,不包含具体实现代码):客户端可以请求读取某个 Google Docs 的文本、执行某个 Gmail 工具、获取日历事件等;服务器将返回标准的 JSON-RPC 风格响应。
- 故障排查:如凭据丢失、权限不足、网络阻塞等,请确保 credentials.json 与 token.json 的正确性,且 Google API 的所需范围已在授权流程中授权。
- 前提