Gmail Sender Mcp

Gmail Sender Mcp

🚀 Gmail 发件人 MCP 服务器

这是一个模型上下文协议(MCP)服务器,允许Claude和其他人工智能助手借助Gmail API来发送电子邮件。此版本仅专注于提供电子邮件发送功能。

🚀 快速开始

该项目打造了一个MCP服务器,能让AI助手实现以下操作:

  • 发送新的电子邮件
  • 回复现有的电子邮件

它设计得轻量级且易于设置,借助Gmail API开展电子邮件操作。

✨ 主要特性

  • 轻量级设计,易于设置。
  • 支持AI助手发送新邮件和回复现有邮件。
  • 可选择使用Docker进行容器化部署。

📦 安装指南

先决条件

  • Python 3.8或更高版本
  • 具备Gmail API启用的Google Cloud账户
  • Docker(可选,用于容器化部署)

设置步骤

1. 创建Google Cloud项目并启用Gmail API

  1. 前往Google Cloud控制台
  2. 创建新项目或选择现有项目。
  3. 在侧边栏中导航至“API和服务”>“库”。
  4. 搜索“Gmail API”并启用它。
  5. 转到“API和服务”>“凭证”。
  6. 点击“创建凭据”,然后选择“OAuth客户端ID”。
  7. 对于应用程序类型,选择“桌面应用”。
  8. 为您的OAuth客户端命名。
  9. 点击“创建”。
  10. 下载生成的凭据JSON文件。

2. 准备您的环境

克隆此仓库:

git clone https://github.com/abhishekloiwal/gmail-sender-mcp.git
cd gmail-sender-mcp

安装依赖项:

pip install -r requirements.txt

3. 设置您的凭证

  1. 将下载的凭据文件重命名为credentials.json并放置在项目根目录中。
  2. 运行辅助脚本来获取刷新令牌:
python get_refresh_token.py
  1. 在浏览器中完成身份验证流程。
  2. 复制终端中显示的刷新令牌。
  3. 基于示例创建.env文件:
cp .env.example .env
  1. 编辑.env文件并填写您的凭证:
GMAIL_CLIENT_ID=your-client-id.apps.googleusercontent.com
GMAIL_CLIENT_SECRET=your-client-secret
GMAIL_REFRESH_TOKEN=your-refresh-token
GMAIL_USER_EMAIL=your-email@gmail.com

4. 运行MCP服务器

python gmail_sender.py

服务器将启动并监听连接。

Docker部署

您也能够在Docker容器中运行服务器:

使用Docker构建和运行

docker build -t gmail-sender-mcp .
docker run -d --name gmail-sender-mcp --env-file .env gmail-sender-mcp

或使用Docker Compose

docker-compose up -d

💻 使用示例

基础用法

要将此MCP服务器与AI助手一起使用,请按以下步骤操作:

  1. 运行MCP服务器。
  2. 将您的AI助手连接到MCP服务器(具体步骤取决于您的AI平台)。

MCP服务器提供以下工具:

send_email工具

发送新的电子邮件。 参数:

  • to: 收件人电子邮件地址
  • subject: 电子邮件主题行
  • body: 电子邮件正文内容(支持HTML格式)

reply_to_email工具

回复现有的电子邮件。 参数:

  • email_id: 要回复的电子邮件ID
  • body: 回复内容(支持HTML格式)

高级用法

以下是一个使用send_email工具的示例:

from gmail_sender import GmailSender

# 初始化Gmail发送器
gmail = GmailSender(
client_id='your-client-id.apps.googleusercontent.com',
client_secret='your-client-secret',
refresh_token='your-refresh-token',
user_email='your-email@gmail.com'
)

# 发送电子邮件
gmail.send_email(
to='recipient@example.com',
subject='测试邮件',
body='这是一封测试邮件。'
)

📚 详细文档

环境变量说明

以下是.env文件中可能用到的环境变量及其含义:

属性 详情
GMAIL_CLIENT_ID Gmail OAuth客户端ID
GMAIL_CLIENT_SECRET Gmail OAuth客户端密钥
GMAIL_REFRESH_TOKEN Gmail刷新令牌
GMAIL_USER_EMAIL 要发送电子邮件的Google账户电子邮件地址
SMTP_SERVER SMTP服务器地址(默认为smtp.gmail.com)
SMTP_PORT SMTP端口(默认为587)

错误处理

在使用Gmail API时,可能会遇到以下错误:

  1. InvalidGrantError:刷新令牌无效或已过期。
  2. RateLimitExceeded:超出API配额限制。
  3. PermissionDenied:缺乏必要的权限。

确保您的凭据有效,并且您的Google Cloud项目启用了正确的API。

🔧 技术细节

该项目使用Python开发,借助Gmail API实现电子邮件的发送和回复功能。通过OAuth 2.0进行身份验证,确保数据安全。代码结构清晰,易于扩展和维护。

📄 许可证

文档中未提及许可证相关信息。

⚠️ 重要提示

  • 妥善保管.env文件,切勿将其提交到版本控制中。
  • 刷新令牌授予发送邮件的权限,需像对待密码一样谨慎处理。
  • 若您担忧安全问题,可考虑使用专用的Google账户进行此集成。

💡 使用建议

  • 若遇到身份验证错误,请确保.env文件中的凭证正确无误。
  • 若出现找不到模块错误,请检查Python环境是否已正确安装所有依赖项。
  • 若遇到Gmail API配额限制,请联系Google Cloud支持增加配额。
  • 0 关注
  • 0 收藏,21 浏览
  • system 提出于 2025-10-03 10:03

相似服务问题

相关AI产品