Gmail邮件管理工具

一个支持通过Claude Code发送、搜索和读取Gmail邮件的轻量级服务器工具,提供Gmail API和SMTP/IMAP两种后端支持。

  • by pliablepixels
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 pliablepixels/claude-gmail-mcp

使用说明

克劳德·格梅尔·麦克普

Claude Code的超小型Gmail MCP服务器。让Claude代表您发送、搜索和阅读Gmail。

支持两个后端,并在启动时自动选择:

  • Gmail API(OAuth) --推荐。没有应用程序密码。批量搜索。在每个结果上直接显示Gmail网址。
  • SMTP/IMAP(应用程序密码) --更简单的设置。当OAuth令牌不存在时回退。

我的项目需要一些东西——周围有一堆看起来超级复杂的东西。那么,为什么不让Claude CLI为我构建一个呢:-p

先决条件

  • 紫外线 安装
  • 什么之中的一个:
    • Google Cloud OAuth客户端(桌面应用程序)-用于API后端,或
    • Gmail 应用程序密码 --用于SMTP/IMAP后端

安装(Gmail API后端-推荐)

  1. 在 谷歌云控制台,创建一个项目,启用Gmail API,并配置OAuth同意屏幕(外部,将您的Gmail添加为测试用户)。创建类型为的OAuth客户端 桌面应用 并下载JSON格式的凭据。

  2. 运行auth-helper,指向下载的文件:

    uvx --from claude-gmail-mcp claude-gmail-mcp-auth /path/to/credentials.json
    

    浏览器打开→ 登录→ 批准(范围: gmail.modify).刷新令牌已保存到 ~/.config/claude-gmail-mcp/token.json (perms 600).

  3. 使用Claude Code注册MCP服务器(不需要环境变量):

    claude mcp add gmail --scope user -- uvx claude-gmail-mcp
    

安装(SMTP/IMAP后端--回退)

claude mcp add gmail --scope user \
  -e GMAIL_ADDRESS=you@gmail.com \
  -e GMAIL_APP_PASSWORD=your-app-password \
  -- uvx claude-gmail-mcp

替换 you@gmail.com 和 your-app-password 凭你的真实证件。掉落 --scope user 仅为当前项目目录安装。

验证

claude mcp list

你应该看看 gmail 列为已配置的服务器。要查看哪个后端处于活动状态,请运行:

uvx claude-gmail-mcp 2>&1 | head -1

预期: [gmail-mcp] backend=api 或 [gmail-mcp] backend=imap.Ctrl-C退出。

后端选择

启动时,服务器只选择一个后端:

  1. 令牌文件位于 GMAIL_TOKEN_PATH (默认值 ~/.config/claude-gmail-mcp/token.json)存在→ API后端.
  2. 否则 GMAIL_ADDRESS + GMAIL_APP_PASSWORD env变量集→ IMAP后端.
  3. 否则,工具将返回“未配置后端”错误。

要在令牌文件存在时强制切换到IMAP后端,请设置 GMAIL_TOKEN_PATH 指向不存在的路径(或删除令牌文件)。

用法

让克劳德发一封电子邮件:

发送电子邮件至alice@example.com主题为“你好”,正文为“克劳德你好!”

暴露的工具:

  • send_email — to, subject, body,可选 cc/bcc, html, attachments (本地文件路径;跳过不可读文件并发出警告)。
  • search_emails — queries (单个字符串或字符串列表), max_results (传递列表时的每个查询)。结果包括十六进制的Gmail邮件ID和每次点击的直接Gmail web URL。
  • read_email — uid (十六进制ID来自 search_emails).输出包括顶部的Gmail web URL。

批量搜索示例:

在Gmail中搜索“来自:alice的未读邮件”和“来自:bob的未读电子邮件”——并排显示。

Claude在单个工具调用中传递这两个查询。响应按查询进行分段。API后端在一个HTTP往返中执行列表步骤;IMAP后端迭代。

附件示例:

发送电子邮件至alice@example.com主题为“报告”,并附上~/Documents/Report.pdf

发布到PyPI

python -m build && twine upload dist/*

为了发展

git clone https://github.com/pliablepixels/claude-gmail-mcp.git
cd claude-gmail-mcp
uv sync
uv run pytest

在本地运行服务器:

uv run claude-gmail-mcp

使用本地副本而不是已发布的包使用Claude Code进行测试:

claude mcp add gmail --scope user \
  -- uv run --directory /path/to/claude-gmail-mcp claude-gmail-mcp

(对于IMAP后端添加 -e GMAIL_ADDRESS=... -e GMAIL_APP_PASSWORD=....)