MCP 服务器 - 电子邮件通知
这个项目是一个 MCP(模型上下文协议) 发送数据的服务器 电子邮件通知 通过SMTP使用 Nodemailer(注:这是一个专有名词,通常直接音译,表示一个用于发送电子邮件的Node.js模块或服务)。\ 它公开了一个名为 notificationViaEmail这允许任何兼容MCP的客户端(如MCP Inspector或Cursor)通过您配置的SMTP服务发送电子邮件。
______________________________________________________________________
🚀 功能
- 轻松发送纯文本电子邮件
- 兼容任何SMTP服务提供商(Gmail、Outlook、SendGrid等)
- 与MCP客户端的简单集成
- 轻量级的Node.js实现
- 用途
stdio用于本地或集装箱化通信的传输方式
______________________________________________________________________
🧰 技术栈
- Node.js
- @modelcontextprotocol/sdk 翻译为中文是:“@模型上下文协议/SDK”(注:这里的“SDK”通常指的是“Software Development Kit”,即软件开发工具包,但具体翻译可能需根据上下文调整,以保持术语的一致性)。不过,在实际应用中,“@modelcontextprotocol/sdk”可能是一个特定项目或框架的名称,直接翻译可能无法准确传达其含义,因此建议根据具体上下文进行适当调整。如果这是一个开源项目或库的名称,可能需要查找其官方中文名称或进行意译
- Nodemailer(注:这是一个用于Node.js的邮件发送库的名称,直接翻译可能无法准确传达其含义,但在此处按字面翻译为“点头邮件发送器”并不准确,实际使用时应保持原名或根据上下文进行适当解释)
______________________________________________________________________
📦 安装
git clone https://github.com/Shubham-1068/MCP-Server-Email-Notifications-.git
cd MCP-Server-Email-Notifications-
npm install______________________________________________________________________
⚙️ 配置
在运行服务器之前,请创建一个 .env 在项目根目录中创建一个文件,填写您的SMTP凭据:
EMAIL_HOST=smtp.yourmailserver.com
EMAIL_USER=youremail@example.com
EMAIL_PASS=yourpassword⚠️ 注: 如果使用Gmail,您可能需要启用“应用密码”,并使用该密码代替您的账户密码。
______________________________________________________________________
🧠 它的工作原理
MCP服务器注册了一个名为 notificationViaEmail.
工具: notificationViaEmail
描述: 通过SMTP发送电子邮件通知。
输入模式(或输入架构)
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
(翻译为中文可保持原样,因为表格标题通常不直接翻译,除非需要特定语境下的解释) to | |||
| 字符串 | ✅ | 收件人电子邮件地址 | subject |
| 字符串 | ✅ | 电子邮件的主题行 | text |
| 字符串 | ✅ | 邮件的纯文本内容 |
{
"to": "recipient@example.com",
"subject": "MCP Email Test",
"text": "This is a test email sent from the MCP Server!"
}示例输入
{
"success": true,
"message": "Email sent successfully!"
}示例输出
{
"success": false,
"message": "Failed to send email: Missing email configuration."
}______________________________________________________________________
示例错误输出
🧪 运行服务器
node server.js在本地启动服务器: 如果你想通过(某种方式)运行它MCP 检查器 .cursor/config.json ,配置你的
{
"mcpServers": {
"notificationViaEmail": {
"command": "node",
"args": ["path/to/server.js"]
}
}
}(或同等条件)如下: notificationViaEmail 然后打开MCP Inspector → 选择您的服务器 → 运行
______________________________________________________________________
工具。
- 🧹 错误处理
- 在发送电子邮件前检查环境变量
- 将SMTP日志和验证错误记录到控制台
______________________________________________________________________
返回结构化的JSON输出,包含明确的成功/错误状态
- 🧩 示例工作流程(使用MCP Inspector)
- 打开MCP检查器。
notificationViaEmail连接到您的MCP服务器( - )。
{
"to": "user@example.com",
"subject": "Hello from MCP!",
"text": "This is a test message sent via the MCP Server."
}- 运行以下JSON有效载荷:
______________________________________________________________________
查看您的收件箱,寻找已发送的电子邮件。
server.js
📜 代码概览
- 主要入口点为:
- 初始化MCP服务器
notificationViaEmail注册 - 工具
StdioServerTransport - 通过(某种方式)连接
使用Nodemailer进行邮件发送
const transporter = nodemailer.createTransport({
host: process.env.EMAIL_HOST,
port: 587,
secure: false,
auth: {
user: process.env.EMAIL_USER,
pass: process.env.EMAIL_PASS
}
});
await transporter.sendMail({
from: process.env.EMAIL_USER,
to,
subject,
text,
});______________________________________________________________________
关键代码片段
🪪 许可证 麻省理工学院许可证 ©
______________________________________________________________________
舒巴姆-1068
💬 支持
