Gmail 多账户管理平台
Gmail API 的模型上下文协议 (MCP)实现,为电子邮件管理、发送和检索提供标准化接口。
特征
完整的 Gmail API 覆盖范围,包括消息、线程、标签、草稿和设置
支持发送、起草和管理电子邮件
具有可自定义颜色和可见性设置的标签管理
对话管理的线程操作
设置管理,包括休假回复、IMAP/POP 和语言设置
邮箱更改的历史记录跟踪
使用 Google Cloud 凭据进行安全 OAuth2 身份验证
Related MCP server: Gmail MCP Server
先决条件
要运行此 MCP 服务器,您首先需要为您的组织设置一个 Google API 客户端,每个用户运行一个脚本来检索他们自己的 OAuth 刷新令牌。
Google API 客户端设置(每个组织一次)
创建新项目或选择现有项目。
为您的项目启用 Gmail API。
前往“凭据”并创建 OAuth 2.0 客户端 ID。客户端类型选择“桌面应用”。
下载 OAuth 密钥 JSON 并将其保存为
~/.gmail-mcp/gcp-oauth.keys.json。(可选)对于远程服务器安装(例如使用 Smithery CLI),请记下此文件中的
CLIENT_ID和CLIENT_SECRET。
客户端 OAuth(每个用户一次)
让用户将
~/.gmail-mcp/gcp-oauth.keys.json复制到他们计算机上的同一路径。运行
npx @shinzolabs/gmail-mcp auth。将打开一个浏览器窗口,用户可以在其中选择配置文件、查看请求的范围并进行批准。
(可选)对于远程服务器安装,请记下成功消息中提到的文件路径(默认为
~/.gmail-mcp/credentials.json)。用户的REFRESH_TOKEN可在此处找到。
客户端配置
您可以通过多种方式配置 MCP 客户端和服务器。对于托管/远程服务器设置,请使用 Smithery 的 CLI 和Smithery API 密钥。对于本地安装,请使用npx或从源代码构建。以下将逐一解释这些选项。
Smithery 远程服务器(推荐)
要将远程服务器添加到 MCP 客户端config.json ,请从Smithery CLI运行以下命令:
出现提示时,输入您的CLIENT_ID 、 CLIENT_SECRET和REFRESH_TOKEN 。
Smithery SDK
如果您正在开发自己的代理应用程序,则可以使用此处的样板代码。
NPX 本地安装
要使用npx在本地安装服务器,请将以下内容添加到 MCP 客户端config.json中:
从源代码构建
下载 repo:
安装软件包并使用
pnpm构建(在克隆的 repo 内):
将以下内容添加到您的 MCP 客户端
config.json中:
配置变量
多变的 | 描述 | 必需的? | 默认 |
| 临时 OAuth 认证服务器的端口 | 不 |
|
| Google API 客户端 ID(位于
中) | 是(如果连接远程服务器) |
|
| Google API 客户端密钥(位于
中) | 是(如果连接远程服务器) |
|
| 用户凭证文件的路径 | 不 |
|
| Google API 客户端文件的路径 | 不 |
|
| 配置文件存放目录 | 不 |
|
| OAuth 刷新令牌(位于
中) | 是(如果连接远程服务器) |
|
| Streamable HTTP 传输方法的端口 | 不 |
|
支持的端点
用户管理
get_profile:获取当前用户的 Gmail 个人资料stop_mail_watch:停止接收推送通知watch_mailbox:设置邮箱更改的推送通知
消息管理
管理消息
list_messages:列出带有可选过滤的消息get_message:获取特定消息get_attachment:获取消息附件modify_message消息标签send_message:向指定收件人发送电子邮件消息delete_message:永久删除消息trash_message:将消息移至垃圾箱untrash_message:从垃圾箱中删除消息batch_modify_messages:修改多条消息batch_delete_messages:删除多条消息
标签管理
list_labels:列出所有标签get_label:获取特定标签create_label:创建新标签update_label:更新标签patch_label:标签的部分更新delete_label:删除标签
线程管理
list_threads:列出电子邮件线程get_thread:获取特定线程modify_thread线程标签trash_thread:将线程移至垃圾箱untrash_thread:从垃圾箱中删除线程delete_thread:删除线程
草稿管理
list_drafts:列出用户邮箱中的草稿get_draft:通过 ID 获取特定草稿create_draft:在 Gmail 中创建电子邮件草稿update_draft:替换草稿的内容delete_draft:删除草稿send_draft:发送现有草稿
设置管理
自动转发
get_auto_forwarding:获取自动转发设置update_auto_forwarding:更新自动转发设置
IMAP 设置
get_imap:获取 IMAP 设置update_imap:更新 IMAP 设置
POP 设置
get_pop:获取 POP 设置update_pop:更新 POP 设置
休假响应者
get_vacation:获取休假响应者设置update_vacation:更新休假响应者
语言设置
get_language:获取语言设置update_language:更新语言设置
代表
list_delegates:列出账户代表get_delegate:获取特定委托add_delegate:添加代表remove_delegate:删除委托
过滤器
list_filters:列出电子邮件过滤器get_filter:获取特定过滤器create_filter:创建一个新的过滤器delete_filter:删除过滤器
转发地址
list_forwarding_addresses:列出转发地址get_forwarding_address:获取特定的转发地址create_forwarding_address:创建转发地址delete_forwarding_address:删除转发地址
发送方式设置
list_send_as:列出 send-as 别名get_send_as:获取特定的 send-as 别名create_send_as:创建 send-as 别名update_send_as:更新 send-as 别名patch_send_as:部分更新 send-as 别名verify_send_as:发送验证邮件delete_send_as:删除 send-as 别名
S/MIME 设置
list_smime_info:列出 S/MIME 配置get_smime_info:获取特定的 S/MIME 配置insert_smime_info:上传新的 S/MIME 配置set_default_smime_info:设置默认 S/MIME 配置delete_smime_info:删除 S/MIME 配置
贡献
欢迎并鼓励大家贡献代码!请阅读CONTRIBUTING.md文件,获取问题、贡献指南和联系信息。