这是一个模型上下文协议(MCP)服务器,允许Claude和其他人工智能助手借助Gmail API来发送电子邮件。此版本仅专注于提供电子邮件发送功能。
该项目打造了一个MCP服务器,能让AI助手实现以下操作:
它设计得轻量级且易于设置,借助Gmail API开展电子邮件操作。
克隆此仓库:
git clone https://github.com/abhishekloiwal/gmail-sender-mcp.git
cd gmail-sender-mcp
安装依赖项:
pip install -r requirements.txt
credentials.json并放置在项目根目录中。python get_refresh_token.py
.env文件:cp .env.example .env
.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
python gmail_sender.py
服务器将启动并监听连接。
您也能够在Docker容器中运行服务器:
docker build -t gmail-sender-mcp .
docker run -d --name gmail-sender-mcp --env-file .env gmail-sender-mcp
docker-compose up -d
要将此MCP服务器与AI助手一起使用,请按以下步骤操作:
MCP服务器提供以下工具:
send_email工具发送新的电子邮件。 参数:
to: 收件人电子邮件地址subject: 电子邮件主题行body: 电子邮件正文内容(支持HTML格式)reply_to_email工具回复现有的电子邮件。 参数:
email_id: 要回复的电子邮件IDbody: 回复内容(支持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时,可能会遇到以下错误:
确保您的凭据有效,并且您的Google Cloud项目启用了正确的API。
该项目使用Python开发,借助Gmail API实现电子邮件的发送和回复功能。通过OAuth 2.0进行身份验证,确保数据安全。代码结构清晰,易于扩展和维护。
文档中未提及许可证相关信息。
.env文件,切勿将其提交到版本控制中。.env文件中的凭证正确无误。