Gmail 多账户管理平台
Gmail API 的模型上下文协议 (MCP)实现,为电子邮件管理、发送和检索提供标准化接口。
特征
- 完整的 Gmail API 覆盖范围,包括消息、线程、标签、草稿和设置
- 支持发送、起草和管理电子邮件
- 具有可自定义颜色和可见性设置的标签管理
- 对话管理的线程操作
- 设置管理,包括休假回复、IMAP/POP 和语言设置
- 邮箱更改的历史记录跟踪
- 使用 Google Cloud 凭据进行安全 OAuth2 身份验证
先决条件
要运行此 MCP 服务器,您首先需要为您的组织设置一个 Google API 客户端,每个用户运行一个脚本来检索他们自己的 OAuth 刷新令牌。
Google API 客户端设置(每个组织一次)
- 转到Google Cloud Console 。
- 创建新项目或选择现有项目。
- 为您的项目启用 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
中:
配置变量
多变的 | 描述 | 必需的? | 默认 |
---|---|---|---|
AUTH_SERVER_PORT | 临时 OAuth 认证服务器的端口 | 不 | 3000 |
CLIENT_ID | Google API 客户端 ID(位于GMAIL_OAUTH_PATH 中) | 是(如果连接远程服务器) | '' |
CLIENT_SECRET | Google API 客户端密钥(位于GMAIL_OAUTH_PATH 中) | 是(如果连接远程服务器) | '' |
GMAIL_CREDENTIALS_PATH | 用户凭证文件的路径 | 不 | MCP_CONFIG_DIR/credentials.json |
GMAIL_OAUTH_PATH | Google API 客户端文件的路径 | 不 | MCP_CONFIG_DIR/gcp-oauth.keys.json |
MCP_CONFIG_DIR | 配置文件存放目录 | 不 | ~/.gmail-mcp |
REFRESH_TOKEN | OAuth 刷新令牌(位于GMAIL_CREDENTIALS_PATH 中) | 是(如果连接远程服务器) | '' |
PORT | Streamable HTTP 传输方法的端口 | 不 | 3000 |
支持的端点
用户管理
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文件,获取问题、贡献指南和联系信息。
Related MCP Servers
- -securityAlicense-qualityIntegrates with Gmail to enable sending, reading, drafting, and managing emails via the Model Context Protocol (MCP), allowing users to interact with email tasks through automated client prompts.Last updated -PythonGPL 3.0
- -securityAlicense-qualityEnables interaction with Gmail through the Gmail API to read, send, and manage emails. Supports multiple Gmail accounts with real-time monitoring and advanced features for email search and attachment handling.Last updated -8PythonApache 2.0
- -securityAlicense-qualityProvides IMAP and SMTP capabilities, enabling developers to manage email services with seamless integration and automated workflows.Last updated -35PythonBSD 3-Clause
- -securityAlicense-qualityProvides comprehensive Gmail integration with LLM processing capabilities, allowing users to read, search, filter emails and handle attachments through the Model Context Protocol.Last updated -31TypeScriptMIT License