邮件通知MCP工具

一个专为mcp-mail-notifier项目定制的MCP兼容工具,提供邮件通知、时间跟踪和项目集成功能,特别优化了QQ邮箱SMTP配置和中文支持。

  • by shellyz7107
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 shellyz7107/mcp-mail-notifier

使用说明

mcp-mail-notifier Notification MCP Server

将 mcp-mail-notifier 项目的邮件通知功能转换为 Augment 可用的 MCP (Model Context Protocol) 工具。

功能特性

  • 📧 邮件通知: 发送任务完成通知到指定邮箱
  • ⏱️ 时间跟踪: 自动计算任务耗时
  • 🎯 项目集成: 专为 mcp-mail-notifier 项目定制
  • 🔧 MCP 兼容: 完全兼容 Augment 的 MCP 协议
  • ✅ QQ邮箱优化: 专门优化QQ邮箱SMTP配置
  • ✅ 中文支持: 中文时区和格式化支持

安装

1. 安装依赖

cd mcp-tools
npm install

2. 获取QQ邮箱授权码

  1. 登录QQ邮箱 (https://mail.qq.com)
  2. 点击"设置" -> "账户"
  3. 找到"POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务"
  4. 开启"IMAP/SMTP服务"
  5. 获取授权码(不是QQ密码)

3. 配置环境变量(可选)

export QQ_EMAIL_USER="your-email@qq.com"
export QQ_EMAIL_AUTH_CODE="your-auth-code"

如果不设置环境变量,将使用默认配置。

使用方法

作为 MCP 服务器运行

npm start

直接使用命令行工具

node send-notification.js "任务标题" "任务结果" "详细信息" "开始时间"

示例:

node send-notification.js "iOS应用编译" "成功" "编译完成,所有测试通过" "2024-01-01 10:00:00"

配置 Augment

在 Augment 中配置 MCP 连接:

{
  "mcpServers": {
    "mcp-mail-notifier": {
      "command": "node",
      "args": [
        "/path/to/your/project/mcp-tools/mcp-server.js"
      ],
      "env": {
        "QQ_EMAIL_USER": "your-qq-email@qq.com",
        "QQ_EMAIL_AUTH_CODE": "your-authorization-code"
      }
    }
  }
}

MCP 工具说明

1. send_notification

发送任务完成通知邮件。

参数:

  • task_title (必需): 任务标题
  • task_result (必需): 任务结果
  • details (可选): 详细信息
  • recipient (可选): 收件人邮箱
  • start_time (可选): 任务开始时间

示例:

{
  "task_title": "iOS项目文件结构重构",
  "task_result": "成功完成",
  "details": "已成功重构项目文件结构,创建Core目录统一管理核心组件",
  "start_time": "2025-09-07 00:30:00"
}

2. set_task_start_time

设置任务开始时间,用于后续计算任务耗时。

参数:

  • start_time (可选): 任务开始时间,不提供则使用当前时间

3. format_duration

格式化时间间隔显示。

参数:

  • seconds (必需): 秒数

配置说明

项目配置

在 send-notification.js 中的 PROJECT_CONFIG 部分:

const PROJECT_CONFIG = {
  name: 'mcp-mail-notifier',
  displayName: '📒【mcp-mail-notifier】',
  description: 'mcp-mail-notifier iOS应用'
};

邮件配置

在 send-notification.js 中的 EMAIL_CONFIG 部分:

const EMAIL_CONFIG = {
  recipient: 'xxx@qq.com',
  sender: {
    user: process.env.QQ_EMAIL_USER || 'xxx@qq.com',
    authCode: process.env.QQ_EMAIL_AUTH_CODE || 'your-auth-code'
  }
};

在 Augment 中使用

  1. 启动 MCP 服务器:

    npm start
    
  2. 在 Augment 中配置 MCP 连接,指向这个服务器

  3. 使用工具:

    • send_notification: 发送通知邮件
    • set_task_start_time: 设置任务开始时间
    • format_duration: 格式化时间显示

开发和调试

开发模式

npm run dev

测试

npm test

全局安装

npm run install-global

卸载

npm run uninstall-global

技术架构

  • MCP SDK: 使用 @modelcontextprotocol/sdk 实现 MCP 协议
  • 邮件服务: 使用 nodemailer 发送邮件
  • ES6 模块: 使用现代 JavaScript 模块系统
  • Node.js: 要求 Node.js 18+ 版本

故障排除

常见问题

  1. 535 Login Fail错误

    • 确认已开启IMAP/SMTP服务
    • 确认使用的是授权码而不是QQ密码
  2. 环境变量未设置

    • 检查QQ_EMAIL_USER和QQ_EMAIL_AUTH_CODE是否正确设置
  3. 网络连接问题

    • 确认网络可以访问smtp.qq.com:587
  4. MCP 连接问题

    • 确认 MCP 服务器正常启动
    • 检查 Augment 配置文件路径正确

调试模式

设置环境变量启用调试:

export DEBUG=nodemailer:*

安全注意事项

  • 不要将授权码提交到版本控制系统
  • 定期更换授权码
  • 使用环境变量存储敏感信息

许可证

MIT License

贡献

欢迎提交 Issue 和 Pull Request!