Gmail管理服务器

一个用于管理多个Gmail账户的服务器,提供邮件列表、搜索、发送、草稿、回复、归档、标签、批量修改等功能,并支持与Claude Code集成。

  • by coreyepstein
  • TypeScript
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 coreyepstein/advanced-gmail-mcp

使用说明

Gmail MCP服务器

Gmail MCP服务器 为了 克劳德代码 它提供跨多个Gmail帐户的完整电子邮件管理。

特性

  • 12工具:列表、搜索、阅读、线程、标签、发送、草稿、回复、存档、标签、垃圾桶、批量修改
  • 多账户 支持简单别名
  • OAuth2 使用交互式CLI流进行身份验证
  • 令牌自动刷新 --透明地重新进行身份验证
  • 速率限制重试 指数回退
  • Claude代码命令 包括(/email 和 /checkemail)用于结构化收件箱分类

快速开始

1.克隆和安装

git clone https://github.com/coreyepstein/advanced-gmail-mcp.git
cd advanced-gmail-mcp
npm install

2.谷歌云设置

  1. 首选 Google 云控制台
  2. 创建新项目(或选择现有项目)
  3. 启用 Gmail API:
    • API和服务→ 启用API→ 搜索“Gmail API”→ 启用
  4. 配置 OAuth 授权界面:
    • API和服务→ OAuth 授权界面
    • 用户类型:外部(如果使用谷歌工作区,则为内部)
    • 将您的电子邮件地址添加为测试用户
    • 添加作用域: gmail.readonly, gmail.modify, gmail.send, gmail.compose
  5. 创建 OAuth凭据:
    • API和服务→ 凭证→ 创建凭据→ OAuth客户端ID
    • 应用程序类型: 桌面应用程序
    • 下载JSON文件
  6. 将下载的文件另存为 credentials.json 在项目根中

3.配置帐户

cp accounts.example.json accounts.json

编辑 accounts.json 使用您的Gmail帐户:

{
  "accounts": [
    { "email": "you@gmail.com", "alias": "personal" },
    { "email": "you@company.com", "alias": "work" }
  ],
  "default": "personal"
}

您可以添加任意数量的帐户。每个人都需要一个独特的 alias.

4.身份验证

# Authenticate all accounts (opens browser for each)
npm run auth

# Or authenticate a single account
npm run auth -- work

# Check auth status
npm run auth:check

身份验证流程为每个帐户打开一个浏览器窗口。令牌保存到 ./tokens/.

5.添加到克劳德代码

添加到MCP配置(项目 .mcp.json 或 ~/.claude.json):

{
  "mcpServers": {
    "gmail": {
      "type": "stdio",
      "command": "npx",
      "args": ["tsx", "/absolute/path/to/gmail-mcp/src/server.ts"]
    }
  }
}

重要提示: 使用绝对路径 src/server.ts.

6.(可选)添加命令

复制结构化电子邮件工作流中包含的Claude Code命令:

# From your project root (where .claude/ lives)
mkdir -p .claude/commands
cp /path/to/gmail-mcp/.claude/commands/email.md .claude/commands/
cp /path/to/gmail-mcp/.claude/commands/checkemail.md .claude/commands/

然后使用 /email 或 /checkemail 克劳德密码。

工具

工具 说明
list_emails 列出收件箱或标记电子邮件
search_emails 使用Gmail查询语法搜索
read_email 按ID阅读完整电子邮件
get_thread 获取包含所有消息的完整帖子
get_labels 列出所有标签
send_email 发送新电子邮件
draft_email 创建草稿
reply_email 使用正确的螺纹进行回复
archive_email 存档(删除收件箱标签)
label_email 添加/删除标签
trash_email 移至垃圾箱
batch_modify 批量存档/垃圾桶/标签

所有工具都接受可选 account 参数(别名或电子邮件)。默认为中设置的帐户 accounts.json.

命令

/email [action] [account]

完整的电子邮件管理命令及其操作:

  • 分诊 --汇总收件箱、批量存档/垃圾箱
  • 清理 --4阶段日常电子邮件工作流程
  • 搜索{查询} --跨账户搜索
  • 发送/起草/回复 --确认后撰写

/checkemail [account]

快速3阶段收件箱扫描:

  1. 获取并分类所有收件箱电子邮件(自动存档垃圾邮件)
  2. 审批时批量归档
  3. 逐一浏览剩余的电子邮件

故障排除

错误 修复
accounts.json not found 复制 accounts.example.json 到 accounts.json
credentials.json not found 从GCP控制台下载OAuth凭据
No token for... 快跑 npm run auth -- <alias>
Token refresh failed 重新验证: npm run auth -- <alias>
403 Forbidden 在GCP OAuth同意屏幕中添加您的电子邮件作为测试用户
403 insufficient scopes 重新验证以获取更新的作用域

许可证

麻省理工学院