SMTP MCP Server

SMTP MCP Server

支持通过 SMTP 发送电子邮件,具备模板管理功能,支持多 SMTP 配置、使用变量替换创建模板,以及批量电子邮件发送和速率限制。

通信
本地
TypeScript
访问服务器

Tools

send-email

Send an email to one or more recipients

send-bulk-emails

Send emails in bulk to multiple recipients with rate limiting

get-smtp-configs

Get all SMTP configurations

add-smtp-config

Add a new SMTP configuration

update-smtp-config

Update an existing SMTP configuration

delete-smtp-config

Delete an SMTP configuration

get-email-templates

Get all email templates

add-email-template

Add a new email template

update-email-template

Update an existing email template

delete-email-template

Delete an email template

get-email-logs

Get logs of all email sending activity

README

SMTP 邮件 MCP 服务器

一个模型上下文协议 (MCP) 服务器,为 Claude 和其他兼容 MCP 的 AI 助手提供电子邮件发送功能。

功能

  • 多种 SMTP 配置: 配置和管理多个 SMTP 服务器
  • 邮件模板: 创建、更新和使用可重用的邮件模板
  • 批量邮件发送: 通过批处理和速率限制向多个收件人发送邮件
  • HTML 支持: 完全支持 HTML,实现丰富的邮件内容
  • 日志记录: 全面记录所有邮件活动
  • 模板变量: 使用模板变量实现动态内容

安装

# 克隆仓库
git clone https://github.com/samihalawa/mcp-server-smtp.git
cd mcp-server-smtp

# 安装依赖
npm install

# 构建服务器
npm run build

使用

启动服务器

npm start

配置

将服务器添加到您的 MCP 配置中:

{
  "servers": {
    "smtp-email-server": {
      "command": "/path/to/node",
      "args": ["/path/to/mcp-server-smtp/build/index.js"],
      "enabled": true,
      "port": 3007,
      "environment": {
        "NODE_PATH": "/path/to/node_modules",
        "PATH": "/usr/local/bin:/usr/bin:/bin"
      }
    }
  }
}

可用工具

send-email

向一个或多个收件人发送邮件。

参数:

  • to: 收件人数组,包含电子邮件地址和可选的姓名
  • subject: 邮件主题
  • body: 邮件正文(支持 HTML)
  • from: (可选) 发件人电子邮件地址和姓名
  • cc: (可选) 抄送收件人
  • bcc: (可选) 密送收件人
  • templateId: (可选) 要使用的模板 ID
  • templateData: (可选) 用于填充模板变量的数据
  • smtpConfigId: (可选) 要使用的 SMTP 配置 ID

send-bulk-emails

分批向多个收件人发送邮件。

参数:

  • recipients: 收件人数组,包含电子邮件地址和可选的姓名
  • subject: 邮件主题
  • body: 邮件正文(支持 HTML)
  • from: (可选) 发件人电子邮件地址和姓名
  • cc: (可选) 抄送收件人
  • bcc: (可选) 密送收件人
  • templateId: (可选) 要使用的模板 ID
  • templateData: (可选) 用于填充模板变量的数据
  • batchSize: (可选) 每个批次发送的邮件数量
  • delayBetweenBatches: (可选) 批次之间的延迟(毫秒)
  • smtpConfigId: (可选) 要使用的 SMTP 配置 ID

get-smtp-configs

获取所有已配置的 SMTP 服务器。

参数:无

add-smtp-config

添加新的 SMTP 服务器配置。

参数:

  • name: 配置名称
  • host: SMTP 服务器主机名
  • port: SMTP 服务器端口
  • secure: 是否使用 SSL/TLS
  • auth: 身份验证凭据(用户名和密码)
  • isDefault: (可选) 是否为默认配置

update-smtp-config

更新现有的 SMTP 服务器配置。

参数:

  • id: 要更新的配置 ID
  • name: 配置名称
  • host: SMTP 服务器主机名
  • port: SMTP 服务器端口
  • secure: 是否使用 SSL/TLS
  • auth: 身份验证凭据(用户名和密码)
  • isDefault: (可选) 是否为默认配置

delete-smtp-config

删除 SMTP 服务器配置。

参数:

  • id: 要删除的配置 ID

get-email-templates

获取所有邮件模板。

参数:无

add-email-template

添加新的邮件模板。

参数:

  • name: 模板名称
  • subject: 邮件主题模板
  • body: 邮件正文模板(支持 HTML)
  • isDefault: (可选) 是否为默认模板

update-email-template

更新现有的邮件模板。

参数:

  • id: 要更新的模板 ID
  • name: 模板名称
  • subject: 邮件主题模板
  • body: 邮件正文模板(支持 HTML)
  • isDefault: (可选) 是否为默认模板

delete-email-template

删除邮件模板。

参数:

  • id: 要删除的模板 ID

get-email-logs

获取已发送邮件的日志。

参数:无

使用示例

  1. 配置 SMTP 服务器:

    add-smtp-config(
      name: "Gmail",
      host: "smtp.gmail.com",
      port: 587,
      secure: false,
      auth: {
        user: "your-email@gmail.com",
        pass: "your-app-password"
      },
      isDefault: true
    )
    
  2. 创建邮件模板:

    add-email-template(
      name: "Welcome Email",
      subject: "欢迎来到 {{company}}!",
      body: "<h1>你好 {{name}},</h1><p>欢迎来到 {{company}}!</p>",
      isDefault: false
    )
    
  3. 使用模板发送邮件:

    send-email(
      to: [{ email: "recipient@example.com", name: "John Doe" }],
      templateId: "welcome-email",
      templateData: {
        name: "John",
        company: "ACME Corp"
      }
    )
    
  4. 发送批量邮件:

    send-bulk-emails(
      recipients: [
        { email: "user1@example.com", name: "User 1" },
        { email: "user2@example.com", name: "User 2" }
      ],
      subject: "重要公告",
      body: "<p>这是一项重要公告。</p>",
      batchSize: 10,
      delayBetweenBatches: 1000
    )
    

要求

  • Node.js 14+
  • Nodemailer 用于邮件发送
  • 访问 SMTP 服务器

许可证

MIT

推荐服务器

Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Excel MCP Server

Excel MCP Server

一个模型上下文协议服务器,使 AI 助手能够读取和写入 Microsoft Excel 文件,支持诸如 xlsx、xlsm、xltx 和 xltm 等格式。

精选
本地
Go
Playwright MCP Server

Playwright MCP Server

提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
Apple MCP Server

Apple MCP Server

通过 MCP 协议与 Apple 应用(如“信息”、“备忘录”和“通讯录”)进行交互,从而使用自然语言发送消息、搜索和打开应用内容。

精选
本地
TypeScript
contentful-mcp

contentful-mcp

在你的 Contentful Space 中更新、创建、删除内容、内容模型和资源。

精选
TypeScript
serper-search-scrape-mcp-server

serper-search-scrape-mcp-server

这个 Serper MCP 服务器支持搜索和网页抓取,并且支持 Serper API 引入的所有最新参数,例如位置。

精选
TypeScript
The Verge News MCP Server

The Verge News MCP Server

提供从The Verge的RSS feed获取和搜索新闻的工具,允许用户获取今日新闻、检索过去一周的随机文章,以及在最近的Verge内容中搜索特定关键词。

精选
TypeScript
MCP Server Trello

MCP Server Trello

通过 Trello API 促进与 Trello 看板的交互,提供速率限制、类型安全、输入验证和错误处理等功能,以实现对卡片、列表和看板活动的无缝管理。

精选
TypeScript