基于 Model Context Protocol (MCP),电子邮件通知服务支持通过可流式传输的HTTP、SSE(服务器发送事件)与客户端通信,并通过SMTP服务发送通知邮件。Docker镜像部署已经支持。 此项目也适合作为初学者学习项目的MCP服务器。
.
├── package.json # 项目依赖与脚本
├── Dockerfile # Docker镜像构建文件
├──.dockerignore # Docker构建忽略设置
├── tsconfig.json # TypeScript配置
├── src/
│ ├── index.ts # 服务器入口
│ ├── mcp/
│ │ └── notify.ts # MCP通知服务实现
│ └── tool/
│ └── notify.ts # 邮件发送工具
└── .env.example # 环境变量示例
npm install
在项目根目录创建.env文件,内容示例如下:
SMTP_USER=你的邮箱账号
SMTP_PASS=你的邮箱SMTP授权码
SMTP_SERVICE=
SMTP_HOST
PORT=
npm run build
npm start
或者直接使用ts-node:
npx ts-node src/index.ts
docker build -t yourname/mcp-email-docker .
docker run -p 8080:8080 \
-e SMTP_USER=你的邮箱账号 \
-e SMTP_PASS=你的邮箱SMTP授权码 \
-e SMTP_SERVICE=QQ \
-e SMTP_HOST=smtp.qq.com \
yourname/mcp-email-docker
或者使用.env文件:
docker run --env-file .env -p 8080:8080 yourname/mcp-email-docker
GET /sse
建立SSE连接以推送实时消息。
POST /messages?sessionId=xxx
客户端发送消息接口,需要携带sessionId。
POST /mcp
通过可流式传输的HTTP协议连接到MCP服务器
method:通知方法,目前仅基于nodemailer实现 "email"to:收件人电子邮件content:电子邮件内容MIT