mcpField
M
mcp-email-docker

mcp-email-docker

本地服务
github.com/fantasy-lotus云与基础设施267 周前更新

关于 mcp-email-docker

mcp-email-docker 是基于 TypeScript 的 MCP 邮件通知服务,通过 SMTP 发送邮件。它支持 Docker 部署,并可通过 SSE 或 Streamable HTTP 与客户端通信。

主要功能

  1. 01通过 SMTP 发送邮件通知
  2. 02支持 SSE 和 Streamable HTTP
  3. 03支持 Docker 部署
  4. 04通过 HTTP 与客户端通信

适用场景

  1. 01由 MCP 客户端发送邮件通知
  2. 02在本地通过 Docker 运行服务
  3. 03通过 Docker 远程部署服务

MCP 相关

该 MCP 服务向 MCP 客户端提供发送邮件通知的能力,支持 SSE 和 Streamable HTTP 通信。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"mcp_email_docker": {
"command": "npx",
"args": [
"-y",
"ts-node"
]
}
}
}
启动命令npx -y ts-node

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmts-node

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

来自项目 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。