Gmail MCP
⚠️ WARNING: This server is experimental and functionality is not guaranteed. Please use at your own risk.
](https://badge.fury.io/js/@shinzolabs%2Fgmail-mcp) ](https://smithery.ai/server/@shinzo-labs/gmail-mcp)
A. 模型上下文协议(MCP) 实施 Gmail API,为电子邮件管理、发送和检索提供标准化接口。
特性
- 完整的Gmail API覆盖范围,包括消息、帖子、标签、草稿和设置
- 支持发送、起草和管理电子邮件
- 标签管理,可定制颜色和可见性设置
- 会话管理的线程操作
- 设置管理,包括假期回复、IMAP/POP和语言设置
- 邮箱更改的历史跟踪
- 使用您的Google Cloud凭据进行安全的OAuth2身份验证
安装
要使用此MCP,您需要使用Gmail设置身份验证:
- 转到 谷歌云控制台
- 创建新项目或选择现有项目
- 为您的项目启用Gmail API
- 转到凭据并创建OAuth 2.0客户端ID
- 选择“桌面应用程序”作为应用程序类型(*警告*:如果不选择此类型,服务器将无法解析JSON文件中的密钥) - 下载客户端凭据JSON文件
- 将下载的凭据文件保存到
~/.gmail-mcp/gcp-oauth.keys.json
NPX(推荐)
将以下内容添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"gmail": {
"command": "npx",
"args": [
"@shinzolabs/gmail-mcp"
]
}
}
}手册下载
- 下载仓库:
git clone https://github.com/shinzo-labs/gmail-mcp.git- 安装软件包并构建(在克隆的仓库中):
pnpm i && pnpm run build- 将以下内容添加到您的
claude_desktop_config.json:
{
"mcpServers": {
"gmail": {
"command": "node",
"args": [
"/path/to/gmail-mcp/dist/index.js"
]
}
}
}史密瑟里
通过以下方式自动安装Claude Desktop 史密瑟里:
npx -y @smithery/cli install @shinzo-labs/gmail-mcp --client claude身份验证流程
MCP提供自动身份验证流程:
- 首先,确保您拥有OAuth凭据:
- 放置下载的 credentials.json 在……里面 ~/.gmail-mcp/gcp-oauth.keys.json - 或设置 GMAIL_OAUTH_PATH 指向您的凭据文件
- 运行身份验证命令:
# If using npx
npx @shinzolabs/gmail-mcp auth
# If in the project directory
pnpm i && pnpm run build && pnpm run auth- 浏览器窗口将自动打开谷歌OAuth同意屏幕
- 授予访问权限后,您可以关闭浏览器窗口
- 令牌将自动保存到
~/.gmail-mcp/credentials.json
MCP将自动:
- 管理令牌刷新
- 将凭据保存到磁盘
- 处理OAuth回调
- 在默认浏览器中打开身份验证URL
您可以使用环境变量自定义凭据文件位置:
GMAIL_OAUTH_PATH=/custom/path/to/gcp-oauth.keys.json
GMAIL_CREDENTIALS_PATH=/custom/path/to/credentials.json支持的端点
用户管理
get_profile:获取当前用户的Gmail个人资料stop_mail_watch:停止接收推送通知watch_mailbox:为邮箱更改设置推送通知
消息管理
发送和创建消息
draft_email:创建电子邮件草稿send_email:发送电子邮件import_message:将邮件导入邮箱insert_message:将邮件插入邮箱
管理邮件
list_messages:列出具有可选筛选的邮件get_message:获取特定消息get_attachment:获取邮件附件modify_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:获得一份具体的草稿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:列表以别名发送get_send_as:获取特定的发送别名create_send_as:创建发送别名update_send_as:更新以别名发送patch_send_as:以别名发送的部分更新verify_send_as:发送验证电子邮件delete_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配置
历史
list_history:跟踪邮箱的更改
贡献
欢迎并鼓励捐款。联系austin@shinzolabs.com有任何问题、意见或疑虑。
