X

mcp-gmail-setup

Information

Gmail AutoAuth MCP 服务器 用于 Claude 桌面版中集成 Gmail 的 Model Context Protocol (MCP) 服务器,支持自动身份验证。该服务器使 AI 助手能够通过自然语言交互来管理 Gmail。 ![](https://badge.mcpx.dev?type=server MCP Server ) 功能 发送带有主题、内容、附件和收件人的电子邮件 主题行和邮件内容完全支持国际字符 通过高级 MIME 结构处理按 ID 读取电子邮件消息 查看电子邮件附件信息(文件名、类型、大小) 使用各种条件(主题、发件人、日期范围)搜索电子邮件 全面的标签管理功能,包括创建、更新、删除和列出标签 列出所有可用的 Gmail 标签(系统和用户定义) 列出收件箱、已发送或自定义标签中的电子邮件 将电子邮件标记为已读/未读 将电子邮件移动到不同的标签/文件夹 删除电子邮件 批量操作,高效处理多封电子邮件 完全集成 Gmail API 简单的 OAuth2 身份验证流程,自动启动浏览器 支持桌面应用程序和 Web 应用程序凭据 全局凭据存储,方便使用 安装与身份验证 通过 Smithery 安装 要通过 Smithery 自动安装适用于 Claude 桌面版的 Gmail AutoAuth: bash npx -y @smithery/cli install @gongrzhe/server-gmail-autoauth-mcp --client claude 手动安装 创建 Google Cloud 项目并获取凭据: a. 创建一个 Google Cloud 项目: 前往 Google Cloud 控制台 创建一个新项目或选择现有项目 为您的项目启用 Gmail API b. 创建 OAuth 2.0 凭据: 进入“API 和服务”>“凭据” 点击“创建凭据”>“OAuth 客户端 ID” 选择“桌面应用”或“Web 应用程序”作为应用程序类型 给它命名并点击“创建” 对于 Web 应用程序,将 http://localhost:3000/oauth2callback 添加到授权重定向 URI 中 下载客户端的 OAuth 密钥 JSON 文件 将密钥文件重命名为 gcp-oauth.keys.json 运行身份验证: 您可以通过两种方式进行身份验证: a. 全局身份验证(推荐): bash 首次:将 gcp-oauth.keys.json 放在您主目录的 .gmail-mcp 文件夹中 mkdir -p ~/.gmail-mcp mv gcp-oauth.keys.json ~/.gmail-mcp/ 从任何地方运行身份验证 npx @gongrzhe/server-gmail-autoauth-mcp auth b. 本地身份验证: bash 将 gcp-oauth.keys.json 放在当前目录中 该文件将自动复制到全局配置 npx @gongrzhe/server-gmail-autoauth-mcp auth 身份验证过程将: 在当前目录或 ~/.gmail-mcp/ 中查找 gcp-oauth.keys.json 如果在当前目录中找到,则将其复制到 ~/.gmail-mcp/ 打开默认浏览器进行 Google 身份验证 将凭据保存为 ~/.gmail-mcp/credentials.json 注意: 成功身份验证后,凭据将全局存储在 ~/.gmail-mcp/ 中,并可以从任何目录使用 同时支持桌面应用和 Web 应用程序凭据 对于 Web 应用程序凭据,请确保将 http://localhost:3000/oauth2callback 添加到您的授权重定向 URI 中 在 Claude 桌面版中配置: json \{ "mcpServers": \{ "gmail": \{ "command": "npx", "args": [ "@gongrzhe/server-gmail-autoauth-mcp" ] \} \} \} Docker 支持 如果您更喜欢使用 Docker: 身份验证: bash docker run -i --rm --mount type=bind,source=/path/to/gcp-oauth.keys.json,target=/gcp-oauth.keys.json -v mcp-gmail:/gmail-server -e GMAIL_OAUTH_PATH=/gcp-oauth.keys.json -e "GMAIL_CREDENTIALS_PATH=/gmail-server/credentials.json" -p 3000:3000 mcp/gmail auth2. 使用方法: json \{ "mcpServers": \{ "gmail": \{ "command": "docker", "args": [ "run", "-i", "--rm", "-v", "mcp-gmail:/gmail-server", "-e", "GMAIL_CREDENTIALS_PATH=/gmail-server/credentials.json", "mcp/gmail" ] \} \} \} 云服务器认证 对于云服务器环境(如 n8n),您可以在认证过程中指定自定义回调 URL: bash npx @gongrzhe/server-gmail-autoauth-mcp auth https://gmail.gongrzhe.com/oauth2callback 云环境设置说明 配置反向代理: 设置您的 n8n 容器以暴露一个用于认证的端口 配置反向代理将来自您的域名(例如 gmail.gongrzhe.com)的流量转发到该端口 DNS 配置: 在您的 DNS 设置中添加一条 A 记录,将您的域名解析到您的云服务器的 IP 地址 Google Cloud Platform 设置: 在 Google Cloud 控制台中,将您的自定义域名回调 URL(例如 https://gmail.gongrzhe.com/oauth2callback)添加到授权重定向 URI 列表中 运行认证: bash npx @gongrzhe/server-gmail-autoauth-mcp auth https://gmail.gongrzhe.com/oauth2callback 在应用程序中配置: json \{ "mcpServers": \{ "gmail": \{ "command": "npx", "args": [ "@gongrzhe/server-gmail-autoauth-mcp" ] \} \} \} 这种方法允许在无法访问 localhost 的环境中(如容器化应用或云服务器)正确执行认证流程。 可用工具 服务器提供了以下可通过 Claude Desktop 使用的工具: 1. 发送邮件 (send_email) 立即发送新邮件。 json \{ "to": ["recipient@example.com"], "subject": "明天的会议", "body": "您好, 提醒您我们明天上午10点有会议。 此致敬礼", "cc": ["cc@example.com"], "bcc": ["bcc@example.com"] \} 2. 草稿邮件 (draft_email) 创建一封草稿邮件但不发送。 json \{ "to": ["recipient@example.com"], "subject": "草稿报告", "body": "这是供您审阅的草稿报告。", "cc": ["manager@example.com"] \} 3. 读取邮件 (read_email) 通过邮件 ID 检索特定邮件的内容。 json \{ "messageId": "182ab45cd67ef" \} 4. 搜索邮件 (search_emails) 使用 Gmail 搜索语法搜索邮件。 json \{ "query": "from@example.com after:2024/01/01 has", "maxResults": 10 \} 5. 修改邮件 (modify_email) 为邮件添加或移除标签(移动到不同的文件夹、归档等)。 json \{ "messageId": "182ab45cd67ef", "addLabelIds": ["IMPORTANT"], "removeLabelIds": ["INBOX"] \} 6. 删除邮件 (delete_email) 永久删除邮件。 json \{ "messageId": "182ab45cd67ef" \} 7. 列出邮件标签 (list_email_labels) 检索所有可用的 Gmail 标签。 json \{\} 8. 创建标签 (create_label) 创建一个新的 Gmail 标签。 json \{ "name": "重要项目", "messageListVisibility": "show", "labelListVisibility": "labelShow" \} 9. 更新标签 (update_label) 更新现有的 Gmail 标签。 json \{ "id": "Label_1234567890", "name": "紧急项目", "messageListVisibility": "show", "labelListVisibility": "labelShow" \} 10. 删除标签 (delete_label) 删除 Gmail 标签。 json \{ "id": "Label_1234567890" \} 11. 获取或创建标签 (get_or_create_label) 按名称获取现有标签,如果不存在则创建它。 json \{ "name": "项目 XYZ", "messageListVisibility": "show", "labelListVisibility": "labelShow" \} 12. 批量修改邮件 (batch_modify_emails) 高效批量地为多封邮件修改标签。 json \{ "messageIds": ["182ab45cd67ef", "182ab45cd67eg", "182ab45cd67eh"], "addLabelIds": ["IMPORTANT"], "removeLabelIds": ["INBOX"], "batchSize": 50 \}### 13. 批量删除邮件 (batch_delete_emails) 高效批量永久删除多封邮件。 json \{ "messageIds": ["182ab45cd67ef", "182ab45cd67eg", "182ab45cd67eh"], "batchSize": 50 \} 高级搜索语法 search_emails 工具支持 Gmail 强大的搜索操作符: 操作符示例描述from:from:john@example.com来自特定发件人的邮件to:to:mary@example.com发送给特定收件人的邮件subject:subject:"meeting notes"主题中包含特定文本的邮件has:attachmenthas:attachment带有附件的邮件after:after:2024/01/01在某个日期之后收到的邮件before:before:2024/02/01在某个日期之前收到的邮件is:is:unread具有特定状态的邮件label:label:work带有特定标签的邮件 您可以组合多个操作符:from:john@example.com after:2024/01/01 has:attachment 高级功能 邮件内容提取 服务器智能地从复杂的 MIME 结构中提取邮件内容: 当可用时优先选择纯文本内容 如果没有纯文本,则回退到 HTML 内容 处理带有嵌套部分的多部分 MIME 消息 处理附件信息(文件名、类型、大小) 保留原始邮件头(发件人、收件人、主题、日期) 国际字符支持 服务器完全支持邮件主题和内容中的非 ASCII 字符,包括: 土耳其语、中文、日语、韩语和其他非拉丁字母 特殊字符和符号 正确的编码确保在邮件客户端中正确显示 全面的标签管理 服务器提供了完整的工具集来管理 Gmail 标签: 创建标签:创建具有可自定义可见性设置的新标签 更新标签:重命名标签或更改其可见性设置 删除标签:移除用户创建的标签(系统标签受保护) 查找或创建:按名称获取标签,如果未找到则自动创建 列出所有标签:查看所有系统和用户标签及其详细信息 标签可见性选项:控制标签在消息列表和标签列表中的显示方式 标签可见性设置包括: messageListVisibility:控制标签是否出现在消息列表中(show 或 hide) labelListVisibility:控制标签如何出现在标签列表中(labelShow、labelShowIfUnread 或 labelHide) 这些标签管理功能使您能够直接通过 Claude 进行复杂的邮件组织,而无需切换到 Gmail 界面。 批量操作 服务器包括高效的批量处理能力: 一次处理最多 50 封邮件(可配置的批量大小) 自动分块处理大量邮件以避免 API 限制 为每个操作提供详细的成败报告 优雅的错误处理并单独重试 非常适合批量收件箱管理和组织任务 安全注意事项 OAuth 凭证安全存储在您的本地环境 (~/.gmail-mcp/) 中 服务器使用离线访问以保持持久认证 切勿共享或将凭证提交到版本控制系统 定期审查并在 Google 账户设置中撤销未使用的访问权限 凭证全局存储但仅当前用户可访问 故障排除 找不到 OAuth 密钥 确保 gcp-oauth.keys.json 文件位于当前目录或 ~/.gmail-mcp/ 目录中 检查文件权限 无效的凭证格式 确保证书文件包含 web 或 installed 凭证 对于 Web 应用程序,请验证重定向 URI 是否正确配置 端口已被占用 如果端口 3000 已被占用,请在运行认证前释放该端口- 您可以找到并停止使用该端口的进程 批量操作失败 如果批量操作失败,它们会自动重试单个项目 请检查详细的错误消息以了解具体的失败原因 如果遇到速率限制,请考虑减少批量大小 贡献 欢迎贡献!请随时提交 Pull Request。 许可证 MIT 支持 如果您遇到任何问题或有疑问,请在 GitHub 仓库中提交 issue。

Prompts

Reviews

Tags

Write Your Review

Detailed Ratings

ALL
Correctness
Helpfulness
Interesting
Upload Pictures and Videos

Name
Size
Type
Download
Last Modified
  • Community

Add Discussion

Upload Pictures and Videos