Gmail邮件管理工具

一个通过Model Context Protocol (MCP)服务器暴露Gmail操作的工具,允许AI助手如Claude代表用户发送、读取、列出和回复邮件。

  • by leadborg
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 leadborg/gmail_mcp

使用说明

gmail mcp

A. 模型上下文协议(MCP) 该服务器将Gmail操作作为工具公开,允许像克劳德这样的人工智能助手代表您发送、阅读、列出和回复电子邮件。

工具

工具 说明
send_email 向收件人发送电子邮件
list_emails 列出与Gmail搜索查询匹配的电子邮件
read_email 通过邮件ID读取特定电子邮件
read_emails_from_sender 从特定发件人获取最近的电子邮件
reply_email 回复电子邮件,保留邮件头
forward_recent_replies_to_webhook 将最近的Gmail回复转发到已签名的LeadBorg电子邮件webhook

需求

  • Python 3.13+
  • 启用Gmail API的谷歌云项目
  • OAuth 2.0凭据(google_creds.json)

设置

1.获取Google OAuth凭据

  1. 去 谷歌云控制台.
  2. 创建一个项目(或选择一个现有项目)。
  3. 启用 Gmail API.
  4. 在...之下 API和服务>凭据,创建一个 OAuth 2.0客户端ID (应用程序类型:桌面应用程序)。
  5. 下载JSON文件并将其另存为 google_creds.json 在项目根中。

2.安装依赖项

# Using uv (recommended)
uv sync

# Or pip
pip install -e .

3.身份验证

手动运行服务器一次以触发OAuth浏览器流:

python gmail_mcp.py

这创建了一个 token.json 文件在 ~/.config/gmail-mcp/token.json。后续运行重用并自动刷新此令牌。

运行服务器

运输由 MCP_TRANSPORT 环境变量(默认值: stdio).

stdio(默认值--适用于克劳德桌面/MCP客户端)

python gmail_mcp.py

流式HTTP

MCP_TRANSPORT=streamable-http MCP_PORT=8001 python gmail_mcp.py
# or alias:
MCP_TRANSPORT=http python gmail_mcp.py

上海证券交易所

MCP_TRANSPORT=sse python gmail_mcp.py

环境变量

变量 默认值 描述
MCP_TRANSPORT stdio 运输方式: stdio, sse, streamable-http (别名: http)
MCP_HOST 127.0.0.1 HTTP/SSE传输主机
MCP_PORT 8001 HTTP/SSE传输端口
GOOGLE_CREDS_PATH ~/.config/gmail-mcp/google_creds.json OAuth客户端凭据文件的路径
GOOGLE_TOKEN_PATH ~/.config/gmail-mcp/token.json 缓存的OAuth令牌文件的路径

Claude桌面配置

将以下内容添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "gmail": {
      "command": "python",
      "args": ["/absolute/path/to/gmail_mcp.py"]
    }
  }
}

运行测试

python -m pytest tests/
# or
python -m unittest discover tests/

项目结构

gmail-mcp/
├── gmail_mcp.py        # MCP server and tool definitions
├── main.py             # Alternate entry point (HTTP transport)
├── pyproject.toml
└── tests/
    └── test_gmail_mcp.py

~/.config/gmail-mcp/
├── google_creds.json   # OAuth client credentials (not committed)
└── token.json          # Cached OAuth token (generated at runtime)

权限

服务器请求两个OAuth作用域:

  • https://www.googleapis.com/auth/gmail.readonly --读取电子邮件访问权限
  • https://www.googleapis.com/auth/gmail.send --发送电子邮件的权限

这不会授予永久删除邮件的权限。

LeadBorg集成说明

从LeadBorg使用此服务器时,将电子邮件MCP端点配置为:

http://localhost:8001/mcp/

将提供者设置为 gmail-mcpLeadBorg将通过一个签名 reply_to 别名到 send_email;Gmail MCP将其写为 Reply-To 标头,以便入站回复可以 与领先者相关。

对于本地回复接收,请运行 forward_recent_replies_to_webhook 工具与 LeadBorg webhook URL(/api/webhooks/email/mcp)以及相同的签名秘密 配置为 EMAIL_WEBHOOK_SIGNING_SECRET.