项目简介
MCP Google Workspace Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 应用提供与 Google Workspace (Gmail 和 Google Calendar) 集成的能力。通过此服务器,LLM 客户端可以安全、可扩展地访问和操作用户的 Gmail 邮箱和 Google 日历,从而实现更智能的应用场景,例如邮件总结、日程安排等。
主要功能点
- 多 Google 账号支持: 允许配置和管理多个 Google 账号,方便用户在不同账号间切换使用。
- Gmail 集成:
- 邮件查询 (支持高级搜索语法)
- 读取邮件内容和附件
- 创建和管理草稿
- 回复邮件
- 邮件归档
- 附件处理 (下载、批量保存)
- Calendar 集成:
- 日历列表
- 查看日历事件
- 创建和删除事件
- 多日历支持
- 自定义时区
安装步骤
-
克隆仓库:
git clone https://github.com/j3k0/mcp-google-workspace.git cd mcp-google-workspace -
安装依赖:
npm install -
构建项目:
npm run build
服务器配置
要将 MCP Google Workspace Server 集成到 MCP 客户端(例如 Claude Desktop),您需要配置客户端以连接到此服务器。以下是 Claude Desktop 的配置示例,您需要将配置信息添加到 Claude Desktop 的配置文件 'claude_desktop_config.json' 中。
Development/Unpublished Servers 配置 (开发环境或未发布服务器):
{ "mcpServers": { "mcp-google-workspace": { "command": "<dir_to>/mcp-google-workspace/launch" } } }
- '"mcp-google-workspace"': 服务器名称,您可以在客户端配置中引用此名称。
- '"command": "<dir_to>/mcp-google-workspace/launch"': 请将 '<dir_to>' 替换为 'mcp-google-workspace' 仓库在您本地文件系统中的绝对路径。 'launch' 脚本会启动 MCP 服务器。
Published Servers 配置 (已发布服务器,通常使用 'npx' 启动):
{ "mcpServers": { "mcp-google-workspace": { "command": "npx", "args": [ "mcp-google-workspace" ] } } }
- '"mcp-google-workspace"': 服务器名称,与上面相同。
- '"command": "npx"': 使用 'npx' 命令执行。
- '"args": ["mcp-google-workspace"]': 'npx' 将执行 'mcp-google-workspace' 包,前提是该包已全局安装或在项目依赖中。
注意:
- 您需要根据您的实际使用情况选择 Development 或 Published 配置。
- 确保您的 MCP 客户端能够访问到 MCP Google Workspace Server 的启动命令。
- 首次运行服务器时,会打开浏览器窗口进行 Google OAuth 授权。请按照提示完成授权流程。
基本使用方法
-
启动服务器: 在仓库根目录下运行以下命令启动 MCP Google Workspace Server:
npm start您可以使用可选参数 '--gauth-file', '--accounts-file', '--credentials-dir' 来自定义配置文件路径和凭据存储目录。
-
配置 MCP 客户端: 根据上述 服务器配置 部分,配置您的 MCP 客户端(例如 Claude Desktop)以连接到 MCP Google Workspace Server。
-
在 MCP 客户端中使用工具: 一旦客户端成功连接到服务器,您就可以在客户端中使用服务器提供的工具,例如查询 Gmail 邮件、查看日历事件等。具体的工具名称和使用方法请参考仓库 README.md 文件中 "Available Tools" 部分的说明。
示例 Prompt (在支持 MCP 客户端中使用):
Gmail:
- "Retrieve my latest unread messages"
- "What are emails from John in last week?"
- "Write a draft reply to the last email about project update and save it"
Calendar:
- "What meetings do I have tomorrow?"
- "Create a calendar event for meeting with team next Monday 10am-11am"
信息
分类
生产力应用