电子邮件MCP工具 📧
一个模型上下文协议(MCP)服务器,它通过SMTP利用Brevo(前身为Sendinblue)作为电子邮件服务提供商来提供电子邮件发送功能。
特点/功能
- 📧(电子邮件) 直接电子邮件发送通过SMTP编程方式发送电子邮件
- 🔧 修理工具或螺丝刀的符号,常用于表示需要修理或调整的物品或情境。 MCP集成兼容支持MCP的AI助手
- 🐳(海豚) Docker 支持已准备好进行容器化部署
- 🔒 表示“锁定”或“安全”的符号。 基于环境的配置安全凭证管理
- 📝 HTML & 纯文本支持两种电子邮件格式
项目结构
gmail_mcp_tool/
├── app/
│ ├── gmail.py # Main MCP server implementation
│ └── requirements.txt # Python dependencies
├── .env # Environment variables (local development)
├── dockerfile # Docker configuration
├── Dockerfile.smtp # Alternative Docker configuration
├── test.py # Test script
└── README.md # This file先决条件
- Python 3.11+
- Brevo SMTP账户及凭据
- Docker(可选,用于容器化部署)
安装与设置
1. 克隆/下载项目
git clone
cd gmail_mcp_tool2. 环境配置
创建一个 .env 在项目根目录下创建文件,并填入您的Brevo SMTP凭据:
# Groq API Configuration (if needed for AI features)
GROQ_API_KEY="your_groq_api_key_here"
# Brevo SMTP Configuration
SMTP_SERVER="smtp-relay.brevo.com"
SMTP_PORT="587"
SMTP_LOGIN="your_brevo_login@smtp-brevo.com"
SMTP_PASSWORD="your_brevo_password"
SMTP_FROM_EMAIL="your_sender_email@domain.com"3. 本地开发环境设置
# Create virtual environment
python -m venv .venv
# Activate virtual environment
# Windows:
.venv\Scripts\activate
# Linux/Mac:
source .venv/bin/activate
# Install dependencies
pip install -r app/requirements.txt
# Run the MCP server
python app/gmail.py4. Docker 部署
# Build Docker image
docker build -t gmail-mcp-tool .
# Run container with environment variables
docker run -p 8000:8000 \
-e SMTP_SERVER="eaxmple.com" \
-e SMTP_PORT="587" \
-e SMTP_LOGIN="your_login" \
-e SMTP_PASSWORD="your_password" \
-e SMTP_FROM_EMAIL="your_email@domain.com" \
gmail-mcp-tool使用方法
MCP服务器端点
一旦运行,MCP服务器将在以下地址可用:
http://localhost:8000/mcp可用工具
send_email_only
使用配置的SMTP设置发送电子邮件。
参数:
to_email(必填):收件人电子邮件地址subject(必填):电子邮件主题行body(必填):电子邮件内容(支持纯文本)from_email(可选):发件人电子邮件(默认为SMTP_FROM_EMAIL)
示例用法:
# Via MCP client
result = mcp_client.call_tool("send_email_only", {
"to_email": "recipient@example.com",
"subject": "Hello from MCP",
"body": "This is a test email sent via MCP!"
})配置
环境变量
| 变量 | 描述 | 必需 | 默认值 |
|---|---|---|---|
SMTP_SERVER | Brevo SMTP 服务器 | 是 | smtp-relay.brevo.com |
SMTP_PORT | SMTP 端口 | 是 | 587 |
SMTP_LOGIN | Brevo SMTP 登录 | 是 | - |
SMTP_PASSWORD | Brevo SMTP 密码 | 是 | - |
SMTP_FROM_EMAIL | 默认发件人邮箱 | 否 | - |
ENV | 环境模式 | 否 | development |
Brevo 设置
- 注册一个 Brevo账户
- 前往SMTP & API设置
- 生成SMTP凭据
- 使用提供的登录名和密码进行登录
.env文件
发展
测试
运行测试脚本来验证电子邮件功能:
python test.py添加功能
MCP服务器是使用FastMCP构建的。要添加新工具:
- 在(某个地方或条件下)定义你的函数
app/gmail.py - 加上
@mcp.tool()装饰器 - 重启服务器
示例:
@mcp.tool()
def new_email_feature(param1: str, param2: str) -> str:
"""
Description of your new email feature
"""
# Implementation here
return "Success message"故障排除
常见问题
- SMTP 认证失败
- 验证您的Brevo凭据 - 检查您的Brevo账户是否处于激活状态 - 确保您的Brevo账户已启用SMTP
- 端口连接问题
- 确保端口8000可用 - 检查防火墙设置 - 如有需要,请尝试不同的端口
- 环境变量未加载
- 验证 .env 文件存在且格式正确 - 检查文件权限 - 确保变量赋值中没有多余的空格
日志
服务器提供控制台输出以供调试:
- ✅ 已发送电子邮件的成功消息
- ❌ 含有详细信息的错误消息
- 🚀 服务器启动信息
安全注意事项
- 永远不要承诺
.env将文件纳入版本控制 - 在生产环境中使用环境变量
- 定期更换SMTP凭据
- 考虑在生产环境中使用密钥管理
许可证
这个项目是开源的。请查看许可证文件以获取详细信息。
做出贡献
- 为仓库创建分支(或“克隆仓库”)
- 创建一个特性分支
- 进行你的更改
- 彻底测试
- 提交一个拉取请求
支持
对于问题和疑问:
- 查看故障排除部分
- 查看Brevo文档
- 在仓库中创建一个问题
______________________________________________________________________
使用FastMCP和Brevo SMTP,满怀热爱地构建而成
