mcp-email-docker
About
基于Typescript实现的Notify MCP Server,支持Docker一键部署到remote|local
Details
- Author
- fantasy-lotus
- GitHub stars
- 2
- Downloads
- 411
- Categories
- Cloud Service
Jump to
- MCP client integration for email notifications.
- Supports both SSE and Streamable HTTP transports.
- One‑click Docker deployment to remote or local.
- Docker image uses multi‑stage build for smaller size.
- Environment variable configuration via .env file.
- Email sending via SMTP using nodemailer.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
mcp-email-dockerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install dependencies with npm install, configure environment variables (SMTP_USER, SMTP_PASS, SMTP_SERVICE, SMTP_HOST, PORT) in a .env file, then build and start with npm run build && npm start. For Docker, build the image with docker build -t yourname/mcp-email-docker . and run with docker run -p 8080:8080 --env-file .env yourname/mcp-email-docker.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"mcp-email-docker": {
"mcp_email_docker": {
"command": "npx",
"args": [
"ts-node",
"src/index.ts"
]
}
}
}
}
McpServers
{
"mcp_email_docker": {
"command": "npx",
"args": [
"ts-node",
"src/index.ts"
]
}
}
mcp-email-docker
基于 Model Context Protocol (MCP) 的邮件通知服务,支持通过Streamable HTTP, SSE(Server-Sent Events)与客户端通信,并通过 SMTP 服务发送通知邮件。已支持 Docker 镜像部署。
本项目也适合作为新手上手学习MCP Server的学习项目
---
功能特性
- 支持接入MCP Client通过 MCP 协议发送邮件或其他通知
- ⭐️ 兼容旧SSE和新Streamable HTTP协议
- ⭐️ 支持 Docker 一键部署到remote or local,通过Http而不是Stdio通信
- Dockerfile使用多阶段构建以及slim nodejs环境降低image打包大小
---
目录结构
.
├── package.json # 项目依赖与脚本
├── Dockerfile # Docker 镜像构建文件
├──.dockerignore # Docker build忽略设置
├── 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
通过 Streamable HTTP协议连接mcp server
---
MCP 邮件通知参数
- method:通知方式,目前仅基于nodemailer实现 "email"
- to:收件人邮箱
- content:邮件内容
---
依赖
- @modelcontextprotocol/sdk
- nodemailer
- zod
- dotenv
- express
---
License
MIT
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.

