谷歌套件-MCP服务器
一个模型上下文协议服务器,提供与Gmail和日历API交互的工具, enables编程方式管理电子邮件和日历事件。
服务介绍
Google Workspace MCP 服务器
这是一个 Model Context Protocol (MCP) 服务器,提供了与 Gmail 和日历 API 交互的工具。通过 MCP 接口,您可以编程方式管理您的电子邮件和日历事件。
功能
Gmail 工具
list_emails: 列出收件箱中的最近邮件,并可选择过滤search_emails: 使用 Gmail 查询语法进行高级邮件搜索send_email: 发送新邮件,支持抄送(CC)和密送(BCC)modify_email: 修改邮件标签(归档、移到垃圾箱、标记为已读/未读)
日历工具
list_events: 列出即将到来的日历事件,并可按日期范围过滤create_event: 创建带有参与者的新的日历事件update_event: 更新现有的日历事件delete_event: 删除日历事件
先决条件
- Node.js: 安装 Node.js 版本 14 或更高版本
- Google Cloud 控制台设置:
- 前往 Google Cloud 控制台
- 创建一个新项目或选择一个现有项目
- 启用 Gmail API 和 Google 日历 API:
- 转到 "APIs & Services" > "Library"
- 搜索并启用 "Gmail API"
- 搜索并启用 "Google Calendar API"
- 设置 OAuth 2.0 凭证:
- 转到 "APIs & Services" > "Credentials"
- 点击 "Create Credentials" > "OAuth client ID"
- 选择 "Web application"
- 将 "Authorized redirect URIs" 设置为包括:
http://localhost:4100/code - 记下 Client ID 和 Client Secret
设置说明
通过 Smithery 安装
要通过 Smithery 自动为 Claude Desktop 安装 gsuite-mcp:
npx -y @smithery/cli install @rishipradeep-think41/gsuite-mcp --client claude
手动安装
-
克隆并安装:
git clone https://github.com/epaproditus/google-workspace-mcp-server.git cd google-workspace-mcp-server npm install -
创建 OAuth 凭证:
在根目录下创建一个credentials.json文件:{ "web": { "client_id": "YOUR_CLIENT_ID", "client_secret": "YOUR_CLIENT_SECRET", "redirect_uris": ["http://localhost:4100/code"], "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token" } } -
获取刷新令牌:
node get-refresh-token.js这将:
- 打开您的浏览器进行 Google OAuth 认证
- 请求以下权限:
https://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/calendarhttps://www.googleapis.com/auth/gmail.send
- 将凭证保存到
token.json - 在控制台中显示刷新令牌
-
配置 MCP 设置:
将服务器配置添加到您的 MCP 设置文件中:- 对于 VSCode Claude 插件:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json - 对于 Claude 桌面应用程序:
~/Library/Application Support/Claude/claude_desktop_config.json
在
mcpServers对象中添加以下内容:{ "mcpServers": { "google-workspace": { "command": "node", "args": ["/path/to/google-workspace-server/build/index.js"], "env": { "GOOGLE_CLIENT_ID": "your_client_id", "GOOGLE_CLIENT_SECRET": "your_client_secret", "GOOGLE_REFRESH_TOKEN": "your_refresh_token" } } } } - 对于 VSCode Claude 插件:
-
构建并运行:
npm run build
使用示例
Gmail 操作
-
列出最近的邮件:
{ "maxResults": 5, "query": "is:unread" } -
搜索邮件:
{ "query": "from:example@gmail.com has:attachment", "maxResults": 10 } -
发送邮件:
{ "to": "recipient@example.com", "subject": "Hello", "body": "Message content", "cc": "cc@example.com", "bcc": "bcc@example.com" } -
修改邮件:
{ "id": "message_id", "addLabels": ["UNREAD"], "removeLabels": ["INBOX"] }
日历操作
-
列出事件:
{ "maxResults": 10, "timeMin": "2024-01-01T00:00:00Z", "timeMax": "2024-12-31T23:59:59Z" } -
创建事件:
{ "summary": "团队会议", "location": "会议室", "description": "每周同步会议", "start": "2024-01-24T10:00:00Z", "end": "2024-01-24T11:00:00Z", "attendees": ["colleague@example.com"] } -
更新事件:
{ "eventId": "event_id", "summary": "更新后的会议标题", "location": "虚拟", "start": "2024-01-24T11:00:00Z", "end": "2024-01-24T12:00:00Z" } -
删除事件:
{ "eventId": "event_id" }
故障排除
-
认证问题:
- 确保授予了所有必需的OAuth作用域
- 验证客户端ID和密钥是否正确
- 检查刷新令牌是否有效
-
API错误:
- 在Google Cloud Console中检查API配额和限制
- 确保为您的项目启用了API
- 验证请求参数与所需格式匹配
许可证
本项目根据MIT许可证许可。