N

NandiniLReddy

@NandiniLReddy/MCP-Gmail-Setup
0 Stars 356 次浏览 NandiniLReddy 更新于 2026-08-23

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "gmail": {
      "args": [
        "@gongrzhe/server-gmail-autoauth-mcp"
      ],
      "command": "npx"
    }
  }
}

服务介绍

Gmail AutoAuth MCP 服务器

用于 Claude 桌面版中集成 Gmail 的 Model Context Protocol (MCP) 服务器,支持自动身份验证。该服务器使 AI 助手能够通过自然语言交互来管理 Gmail。

![](https://badge.mcpx.dev?type=server MCP Server )
smithery 徽章

功能

  • 发送带有主题、内容、附件和收件人的电子邮件
  • 主题行和邮件内容完全支持国际字符
  • 通过高级 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

手动安装

  1. 创建 Google Cloud 项目并获取凭据:

    a. 创建一个 Google Cloud 项目:

    b. 创建 OAuth 2.0 凭据:

    • 进入“API 和服务”>“凭据”
    • 点击“创建凭据”>“OAuth 客户端 ID”
    • 选择“桌面应用”或“Web 应用程序”作为应用程序类型
    • 给它命名并点击“创建”
    • 对于 Web 应用程序,将 http://localhost:3000/oauth2callback 添加到授权重定向 URI 中
    • 下载客户端的 OAuth 密钥 JSON 文件
    • 将密钥文件重命名为 gcp-oauth.keys.json
  2. 运行身份验证:

    您可以通过两种方式进行身份验证:

    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 中
  3. 在 Claude 桌面版中配置:

json
{
"mcpServers": {
"gmail": {
"command": "npx",
"args": [
"@gongrzhe/server-gmail-autoauth-mcp"
]
}
}
}

Docker 支持

如果您更喜欢使用 Docker:

  1. 身份验证:
    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

云环境设置说明

  1. 配置反向代理:

    • 设置您的 n8n 容器以暴露一个用于认证的端口
    • 配置反向代理将来自您的域名(例如 gmail.gongrzhe.com)的流量转发到该端口
  2. DNS 配置:

    • 在您的 DNS 设置中添加一条 A 记录,将您的域名解析到您的云服务器的 IP 地址
  3. Google Cloud Platform 设置:

    • 在 Google Cloud 控制台中,将您的自定义域名回调 URL(例如 https://gmail.gongrzhe.com/oauth2callback)添加到授权重定向 URI 列表中
  4. 运行认证:
    bash
    npx @gongrzhe/server-gmail-autoauth-mcp auth https://gmail.gongrzhe.com/oauth2callback

  5. 在应用程序中配置:
    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:sender@example.com after:2024/01/01 has:attachment",
"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:attachment has: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:控制标签是否出现在消息列表中(showhide
  • labelListVisibility:控制标签如何出现在标签列表中(labelShowlabelShowIfUnreadlabelHide

这些标签管理功能使您能够直接通过 Claude 进行复杂的邮件组织,而无需切换到 Gmail 界面。

批量操作

服务器包括高效的批量处理能力:

  • 一次处理最多 50 封邮件(可配置的批量大小)
  • 自动分块处理大量邮件以避免 API 限制
  • 为每个操作提供详细的成败报告
  • 优雅的错误处理并单独重试
  • 非常适合批量收件箱管理和组织任务

安全注意事项

  • OAuth 凭证安全存储在您的本地环境 (~/.gmail-mcp/) 中
  • 服务器使用离线访问以保持持久认证
  • 切勿共享或将凭证提交到版本控制系统
  • 定期审查并在 Google 账户设置中撤销未使用的访问权限
  • 凭证全局存储但仅当前用户可访问

故障排除

  1. 找不到 OAuth 密钥

    • 确保 gcp-oauth.keys.json 文件位于当前目录或 ~/.gmail-mcp/ 目录中
    • 检查文件权限
  2. 无效的凭证格式

    • 确保证书文件包含 webinstalled 凭证
    • 对于 Web 应用程序,请验证重定向 URI 是否正确配置
  3. 端口已被占用

    • 如果端口 3000 已被占用,请在运行认证前释放该端口- 您可以找到并停止使用该端口的进程
  4. 批量操作失败

    • 如果批量操作失败,它们会自动重试单个项目
    • 请检查详细的错误消息以了解具体的失败原因
    • 如果遇到速率限制,请考虑减少批量大小

贡献

欢迎贡献!请随时提交 Pull Request。

许可证

MIT

支持

如果您遇到任何问题或有疑问,请在 GitHub 仓库中提交 issue。

相关 MCP 服务