克劳德·格梅尔·麦克普

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后端-推荐)
- 在 谷歌云控制台,创建一个项目,启用Gmail API,并配置OAuth同意屏幕(外部,将您的Gmail添加为测试用户)。创建类型为的OAuth客户端 桌面应用 并下载JSON格式的凭据。
- 运行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).
- 使用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退出。
后端选择
启动时,服务器只选择一个后端:
- 令牌文件位于
GMAIL_TOKEN_PATH(默认值~/.config/claude-gmail-mcp/token.json)存在→ API后端. - 否则
GMAIL_ADDRESS+GMAIL_APP_PASSWORDenv变量集→ IMAP后端. - 否则,工具将返回“未配置后端”错误。
要在令牌文件存在时强制切换到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=....)
