mcpField
G
Gmail

Gmail

本地服务
github.com通信协作123 天前更新

关于 Gmail

Gmail MCP 服务让 AI 系统通过 Gmail API 查找、阅读和管理邮件,适用于需要把邮件操作接入工作流的用户。它以 OAuth 代理方式连接客户端与 Google,不保存令牌或状态。

主要功能

  1. 01搜索并读取邮件和会话
  2. 02发送、转发及管理草稿
  3. 03归档、标记、移至垃圾箱
  4. 04管理标签、过滤器和附件
  5. 05设置假期自动回复

适用场景

  1. 01查找预订邮件并提取航班信息
  2. 02搜索收据以整理费用
  3. 03定位邮件并获取附件
  4. 04设置假期自动回复

MCP 相关

作为 MCP 服务,它向客户端提供 Gmail 邮件、会话、草稿、标签、附件、过滤器和设置工具。它代理 Google OAuth 与 Gmail API 请求,不保存令牌或状态。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"domdomegg-gmail": {
"command": "npx",
"args": [
"-y",
"gmail-mcp"
],
"env": {
"GOOGLE_ACCESS_TOKEN": "<GOOGLE_ACCESS_TOKEN>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"GOOGLE_CLIENT_ID": "<GOOGLE_CLIENT_ID>",
"GOOGLE_CLIENT_SECRET": "<GOOGLE_CLIENT_SECRET>"
}
}
}
}
启动命令npx -y gmail-mcp
需要配置的环境变量
GOOGLE_ACCESS_TOKEN密钥Google OAuth access token with Gmail scopes.
MCP_TRANSPORTTransport type.
GOOGLE_CLIENT_IDGoogle OAuth client ID.
GOOGLE_CLIENT_SECRET密钥Google OAuth client secret.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmgmail-mcp2.4.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

gmail-mcp

用于 Gmail 的 MCP 服务,可读取、发送、归档和管理邮件。

使用场景

航班值机:“帮我办理明天航班的值机” → 查找你的确认邮件,提取预订编号,并通过浏览器办理值机。

费用报销:“把我上周在 Amazon 买的东西提交报销” → 查找收据,提取金额和类别,并在你的费用系统中提交报销。

包裹追踪:“Acme 寄来的包裹到哪了?” → 查找发货通知,提取追踪号码,并获取当前配送状态。

查找附件:“预算最后定了什么?Michelle 昨天发了我一些东西” → 定位邮件并打开附带的电子表格。

假期模式:“我 12 月 20 日到 1 月 2 日休假” → 一次性设置 Gmail 自动回复、屏蔽日历,并更新你的 Slack 状态。

会议后续跟进:通话结束后,你的助手会读取 Gemini 转录内容、总结关键决策,并起草包含待办事项的跟进邮件。

(这些只是一些示例——任何需要搜索、读取或发送邮件的工作流都可以使用此服务。)

设置

1. 创建 Google OAuth 凭据
  1. 前往 Google Cloud Console
  2. 创建新项目(或使用现有项目)
  3. 启用 Gmail API
  4. 前往 APIs & Services → OAuth consent screen,设置授权同意屏幕
  5. 前往 APIs & Services → Credentials → Create Credentials → OAuth client ID
  6. 选择 Web application
  7. 将 http://localhost:3000/callback 添加到 Authorized redirect URIs
  8. 记下你的 Client ID 和 Client Secret
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 客户端

服务运行后,按照 install-mcp 上的说明操作,该页面会为你的 MCP 客户端(Claude Code、Claude Desktop、Cursor、Cline、VS Code 等)生成相应的配置。

架构

此服务作为 Google 的 OAuth 代理:

graph LR
    A[MCP client] <--> B[gmail-mcp] <--> C[Google OAuth/API]
  1. 服务通过 /.well-known/oauth-authorization-server 将自身声明为 OAuth 授权服务器
  2. /register 返回 Google OAuth 客户端凭据
  3. /authorize 重定向到 Google,并将客户端的回调 URL 编码到 state 中
  4. /callback 接收 Google 返回的授权码,并转发给客户端的回调地址
  5. /token 将令牌请求代理到 Google,并注入客户端凭据
  6. /mcp 处理 MCP 请求,并使用 bearer token 调用 Gmail API

服务不保存令牌或状态,只代理发往 Google 的 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 注册表。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。