返回市场
MCP邮件Docker服务器

MCP邮件Docker服务器

作者:fantasy-lotus2 星标更新:2025-07-17

项目介绍

【技术文档摘要】: MseeP.ai 安全评估徽章

mcp-email-docker

基于 Model Context Protocol (MCP),电子邮件通知服务支持通过可流式传输的HTTP、SSE(服务器发送事件)与客户端通信,并通过SMTP服务发送通知邮件。Docker镜像部署已经支持。 此项目也适合作为初学者学习MCP服务器的入门项目。


功能

  • 支持MCP客户端通过MCP协议发送电子邮件或其他通知
  • ⭐ 兼容旧版SSE和新版可流式传输的HTTP协议
  • ⭐ 支持一键部署Docker到远程或本地,通过HTTP而不是Stdio进行通信
    • Dockerfile使用多阶段构建和精简的Node.js环境以减少镜像打包大小

目录结构

.
├── package.json        # 项目依赖与脚本
├── Dockerfile          # Docker镜像构建文件
├──.dockerignore        # Docker构建忽略设置
├── tsconfig.json       # TypeScript配置
├── src/
│   ├── index.ts        # 服务器入口
│   ├── mcp/
│   │   └── notify.ts   # MCP通知服务实现
│   └── tool/
│       └── notify.ts   # 邮件发送工具
└── .env.example        # 环境变量示例

快速开始

1. 安装依赖

npm install

2. 配置环境变量

在项目的根目录创建.env文件,内容示例如下:

SMTP_USER=你的邮箱账号
SMTP_PASS=你的邮箱SMTP授权码
SMTP_SERVICE=
SMTP_HOST
PORT=

3. 本地开发启动

npm run build
npm start

或者直接使用ts-node:

npx ts-node src/index.ts

Docker部署

1. 构建镜像

docker build -t yourname/mcp-email-docker .

2. 运行容器

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

API描述

  • GET /sse
    建立SSE连接以推送实时消息。

  • POST /messages?sessionId=xxx
    客户端发送消息接口,需要携带sessionId

  • POST /mcp
    通过可流式传输的HTTP协议连接到MCP服务器


MCP电子邮件通知参数

  • method:通知方法,目前仅基于nodemailer实现 "email"
  • to:收件人邮箱
  • content:邮件内容

依赖


许可证

MIT