使用说明
gmail mcp
Gmail的MCP服务器-读取、发送、存档和管理电子邮件。
用例
航班登记:“为我办理明天航班的登机手续”→ 查找您的确认电子邮件,提取预订参考,并使用浏览器完成入住。
费用提交:“将我上周在亚马逊上购买的商品作为费用提交”→ 查找收据,提取金额/类别,并将其归档到您的支出系统中。
包裹追踪:“我从Acme寄来的包裹在哪里?”→ 查找发货通知,提取跟踪号,并获取当前的交货状态。
找到那个附件:“我们为预算定了什么?米歇尔昨天给我寄了一些东西”→ 找到电子邮件并打开附件中的电子表格。
假日模式:“我在12月20日至1月2日度假”→ 一次性设置Gmail自动回复、阻止日历和更新Slack状态。
会议后续行动:接到电话后,你的助理会阅读双子座的成绩单,总结关键决策,并起草一封包含行动项目的后续电子邮件。
(这些只是示例-任何需要电子邮件搜索、阅读或发送的工作流都可以使用此功能。)
设置
1.创建Google OAuth凭据
- 首选 谷歌云控制台
- 创建新项目(或使用现有项目)
- 启用Gmail API
- 首选 API和服务 → OAuth同意屏幕,设置同意屏幕
- 首选 API和服务 → 凭证 → 创建凭据 → OAuth 客户端ID
- 选择 网络应用程序
- 添加
http://localhost:3000/callback到 授权重定向URI - 记下您的客户端ID和客户端密码
2.运行服务器
GOOGLE_CLIENT_ID='your-client-id' \
GOOGLE_CLIENT_SECRET='your-client-secret' \
MCP_TRANSPORT=http \
npm start
服务器运行在 http://localhost:3000 默认情况下。更改为 PORT=3001.
3.添加到您的MCP客户端
服务器运行时,请按照上的说明进行操作 安装mcp,它为您的MCP客户端生成正确的配置(Claude Code、Claude Desktop、Cursor、Cline、VS Code等)。
建筑
此服务器充当 OAuth代理 谷歌:
graph LR
A[MCP client] <--> B[gmail-mcp] <--> C[Google OAuth/API]
- 服务器通过以下方式将自己宣传为OAuth授权服务器
/.well-known/oauth-authorization-server /register返回Google OAuth客户端凭据/authorize重定向到Google,将客户端的回调URL编码为状态/callback从Google接收代码并转发给客户端的回调/token向Google代理令牌请求,注入客户端凭据/mcp处理MCP请求,使用承载令牌调用Gmail API
服务器不持有令牌或状态,它只是将OAuth代理给谷歌。
工具
| 工具 | 说明 |
|---|---|
gmail_get_profile |
获取用户的电子邮件地址和个人资料信息 |
| 消息 | |
gmail_messages_list |
搜索/列出邮件(考虑 gmail_threads_list 相反) |
gmail_message_get |
获取一条消息 |
gmail_message_send |
发送电子邮件 |
gmail_message_forward |
将电子邮件转发给新收件人 |
gmail_message_modify |
添加/删除标签 |
gmail_message_archive |
存档(从收件箱中删除) |
gmail_message_trash |
移至垃圾箱 |
gmail_message_untrash |
从回收站还原 |
gmail_message_delete |
永久删除 |
gmail_messages_batch_modify |
批量标签更改 |
gmail_messages_batch_delete |
批量永久删除 |
| 线程 | |
gmail_threads_list |
搜索/列出线程(推荐) |
gmail_thread_get |
获取一个线程中的所有消息(推荐) |
gmail_thread_modify |
添加/删除标签 |
gmail_thread_trash |
移至垃圾箱 |
gmail_thread_untrash |
从回收站还原 |
gmail_thread_delete |
永久删除 |
| 草稿 | |
gmail_drafts_list |
列出草稿 |
gmail_draft_get |
获取草稿 |
gmail_draft_create |
创建草稿 |
gmail_draft_update |
更新草稿 |
gmail_draft_send |
发送草稿 |
gmail_draft_delete |
删除草稿 |
| 标签 | |
gmail_labels_list |
列出所有标签 |
gmail_label_get |
获取标签 |
gmail_label_create |
创建标签 |
gmail_label_update |
更新标签 |
gmail_label_delete |
删除标签 |
| 附件 | |
gmail_attachment_get |
下载附件 |
| 过滤器 | |
gmail_filters_list |
列出电子邮件过滤器 |
gmail_filter_get |
获取过滤器 |
gmail_filter_create |
创建筛选器 |
gmail_filter_delete |
删除筛选器 |
| 设置 | |
gmail_vacation_get |
获取假期自动回复设置 |
gmail_vacation_set |
设置假期自动回复设置 |
Gmail API范围
gmail.readonly-阅读消息和标签gmail.send-发送消息gmail.modify-修改邮件(存档、标签、垃圾箱)
贡献
GitHub上欢迎拉取请求!开始:
- 安装Git和Node.js
- 克隆仓库
- 安装依赖项
npm install - 跑
npm run test运行测试 - 建立
npm run build
发布
版本遵循 语义版本规范.
要发布:
- 使用
npm version <major | minor | patch>升级版本 - 跑
git push --follow-tags使用标签推送 - 等待GitHub Actions发布到NPM注册表。