Google Workspace MCP 服务器
一个模型上下文协议 (MCP) 服务器,提供与 Gmail 和日历 API 交互的工具。此服务器可让您通过 MCP 界面以编程方式管理电子邮件和日历活动。
特征
Gmail 工具
list_emails:列出收件箱中最近的电子邮件,并可选择过滤search_emails:使用 Gmail 查询语法进行高级电子邮件搜索send_email:发送新邮件,支持抄送和密送modify_email:修改电子邮件标签(存档、垃圾箱、标记为已读/未读)
日历工具
list_events:列出即将发生的日历事件,并按日期范围进行过滤create_event:创建有参与者的新日历事件update_event:更新现有日历事件delete_event:删除日历事件
先决条件
Node.js :安装 Node.js 版本 14 或更高版本
Google Cloud 控制台设置:
创建新项目或选择现有项目
启用 Gmail API 和 Google 日历 API:
前往“API 和服务”>“库”
搜索并启用“Gmail API”
搜索并启用“Google 日历 API”
设置 OAuth 2.0 凭据:
前往“API 和服务”>“凭证”
点击“创建凭证”>“OAuth 客户端 ID”
选择“Web应用程序”
将“授权重定向 URI”设置为包含:
http://localhost:4100/code记下客户端 ID 和客户端密钥
设置说明
克隆并安装:
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" } } } }构建并运行:
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": "Team Meeting", "location": "Conference Room", "description": "Weekly sync-up", "start": "2024-01-24T10:00:00Z", "end": "2024-01-24T11:00:00Z", "attendees": ["colleague@example.com"] }更新事件:
{ "eventId": "event_id", "summary": "Updated Meeting Title", "location": "Virtual", "start": "2024-01-24T11:00:00Z", "end": "2024-01-24T12:00:00Z" }删除事件:
{ "eventId": "event_id" }
故障排除
身份验证问题:
确保所有必需的 OAuth 范围都已授予
验证客户端ID和密钥是否正确
检查刷新令牌是否有效
API 错误:
检查 Google Cloud Console 的 API 配额和限制
确保您的项目已启用 API
验证请求参数是否符合所需格式
执照
该项目已获得 MIT 许可。
Related MCP Servers
- -security-license-qualityEnables interaction with Gmail and Google Calendar using the MCP protocol, supporting multiple Google accounts, email management, and calendar operations through natural language.Last updated -13MIT License
- -security-license-qualityMCP server that integrates with Gmail to enable sending, reading, and managing emails through tools like send-email, trash-email, get-unread-emails, and read-email.Last updated -60GPL 3.0
- Asecurity-licenseAqualityA Model Context Protocol server that provides tools for interacting with Gmail and Calendar APIs, enabling programmatic management of emails and calendar events.Last updated -825MIT License
- -security-license-qualityAn MCP server that enables Gmail integration, allowing users to manage emails (send, receive, read, trash, mark as read) directly through MCP clients like Claude Desktop.Last updated -MIT License