Google Workspace MCP 服务器
一个模型上下文协议 (MCP) 服务器,提供与 Gmail 和日历 API 交互的工具。此服务器可让您通过 MCP 界面以编程方式管理电子邮件和日历活动。
特征
Gmail 工具
list_emails:列出收件箱中最近的电子邮件,并可选择过滤search_emails:使用 Gmail 查询语法进行高级电子邮件搜索send_email:发送新邮件,支持抄送和密送modify_email:修改电子邮件标签(存档、垃圾箱、标记为已读/未读)
日历工具
list_events:列出即将发生的日历事件,并按日期范围进行过滤create_event:创建有参与者的新日历事件由于 Google Cloud Calendar API 不具有允许创建但阻止删除或更新的范围,因此出于安全措施,以下事件已从此服务器中删除。
update_event:更新现有日历事件delete_event:删除日历事件
Related MCP server: Google Workspace MCP Server
先决条件
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 和客户端密钥
设置说明
通过 Smithery 安装
要通过Smithery自动为 Claude Desktop 安装 Google Workspace Server - No Calendar Deletion:
npx -y @smithery/cli install @erickva/google-workspace-mcp-server-no-calendar-deletetion --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" } } } }构建并运行:
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"] }
3.更新事件:
{
"eventId": "event_id",
"summary": "Updated Meeting Title",
"location": "Virtual",
"start": "2024-01-24T11:00:00Z",
"end": "2024-01-24T12:00:00Z"
}4.删除事件:
{
"eventId": "event_id"
}故障排除
身份验证问题:
确保所有必需的 OAuth 范围都已授予
验证客户端ID和密钥是否正确
检查刷新令牌是否有效
API 错误:
检查 Google Cloud Console 的 API 配额和限制
确保您的项目已启用 API
验证请求参数是否符合所需格式
执照
该项目已获得 MIT 许可。
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.