Gmail邮件管理服务

一个用于读取、发送、归档和管理Gmail邮件的服务器,支持多种自动化邮件处理场景。

  • by domdomegg
  • TypeScript
  • 本地部署
  • 12 星标
  • 更新于
在 GitHub 查看 domdomegg/gmail-mcp

使用说明

gmail mcp

Gmail的MCP服务器-读取、发送、存档和管理电子邮件。

用例

航班登记:“为我办理明天航班的登机手续”→ 查找您的确认电子邮件,提取预订参考,并使用浏览器完成入住。

费用提交:“将我上周在亚马逊上购买的商品作为费用提交”→ 查找收据,提取金额/类别,并将其归档到您的支出系统中。

包裹追踪:“我从Acme寄来的包裹在哪里?”→ 查找发货通知,提取跟踪号,并获取当前的交货状态。

找到那个附件:“我们为预算定了什么?米歇尔昨天给我寄了一些东西”→ 找到电子邮件并打开附件中的电子表格。

假日模式:“我在12月20日至1月2日度假”→ 一次性设置Gmail自动回复、阻止日历和更新Slack状态。

会议后续行动:接到电话后,你的助理会阅读双子座的成绩单,总结关键决策,并起草一封包含行动项目的后续电子邮件。

(这些只是示例-任何需要电子邮件搜索、阅读或发送的工作流都可以使用此功能。)

设置

1.创建Google OAuth凭据

  1. 首选 谷歌云控制台
  2. 创建新项目(或使用现有项目)
  3. 启用Gmail API
  4. 首选 API和服务 → OAuth同意屏幕,设置同意屏幕
  5. 首选 API和服务 → 凭证 → 创建凭据 → OAuth 客户端ID
  6. 选择 网络应用程序
  7. 添加 http://localhost:3000/callback 到 授权重定向URI
  8. 记下您的客户端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]
  1. 服务器通过以下方式将自己宣传为OAuth授权服务器 /.well-known/oauth-authorization-server
  2. /register 返回Google OAuth客户端凭据
  3. /authorize 重定向到Google,将客户端的回调URL编码为状态
  4. /callback 从Google接收代码并转发给客户端的回调
  5. /token 向Google代理令牌请求,注入客户端凭据
  6. /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上欢迎拉取请求!开始:

  1. 安装Git和Node.js
  2. 克隆仓库
  3. 安装依赖项 npm install
  4. 跑 npm run test 运行测试
  5. 建立 npm run build

发布

版本遵循 语义版本规范.

要发布:

  1. 使用 npm version <major | minor | patch> 升级版本
  2. 跑 git push --follow-tags 使用标签推送
  3. 等待GitHub Actions发布到NPM注册表。