mcpField
M
mcp-email-docker

mcp-email-docker

Local
github.com/fantasy-lotusCloud & Infra2Updated 67w ago

About mcp-email-docker

mcp-email-docker is a TypeScript MCP service for sending email notifications through SMTP. It supports Docker deployment and communicates with clients over SSE or Streamable HTTP.

Key features

  1. 01SMTP email notifications
  2. 02SSE and Streamable HTTP
  3. 03Docker deployment
  4. 04HTTP-based client communication

Use cases

  1. 01Sending email notifications from an MCP client
  2. 02Running the service locally in Docker
  3. 03Deploying the service remotely in Docker

MCP support

The MCP server exposes email notification sending to MCP clients. It supports SSE and Streamable HTTP communication.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"mcp_email_docker": {
"command": "npx",
"args": [
"-y",
"ts-node"
]
}
}
}
Run commandnpx -y ts-node

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmts-node

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

MseeP.ai Security Assessment Badge

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:邮件内容

依赖


License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.