返回市场
邮戳-mcp

邮戳-mcp

作者:ActiveCampaign11 星标更新:2025-10-27

项目介绍

Postmark MCP Server

用于Postmark电子邮件服务的MCP服务器实现。

特性

  • 通过Postmark发送电子邮件的MCP服务器接口
  • 简单的环境变量配置
  • 完整的错误处理和优雅的关闭机制
  • 安全的日志记录实践(不暴露敏感数据)
  • 自动配置电子邮件跟踪

反馈

我们非常希望听到您的反馈!请通过我们的反馈表单分享您的意见和建议。

要求

  • Node.js(推荐使用v16或更高版本)
  • Postmark账户和服务器令牌

设置

  1. 克隆仓库:

    git clone https://github.com/ActiveCampaign/postmark-mcp
    cd postmark-mcp
    
  2. 安装依赖项:

    npm install
    
  3. 配置环境变量:

    • 复制.env.example.env
      cp .env.example .env
      
    • 编辑.env并填写您的Postmark凭证和设置。
    变量名称描述必填
    POSTMARK_SERVER_TOKEN您的Postmark服务器API令牌
    DEFAULT_SENDER_EMAIL默认发件人电子邮件地址
    DEFAULT_MESSAGE_STREAMPostmark消息流(例如:"outbound")
  4. 运行服务器:

    npm start
    

通过Cursor深层链接快速安装

您可以通过点击以下按钮在Cursor中快速安装此MCP服务器:

<div> <a href="cursor://anysphere.cursor-deeplink/mcp/install?name=Postmark&config=eyJjb21tYW5kIjoibm9kZSIsImFyZ3MiOlsiaW5kZXguanMiXSwiZW52Ijp7IlBPU1RNQVJLX1NFUlZFUl9UT0tFTiI6IiIsIkRFRkFVTFRfU0VOREVSX0VNQUlMIjoiIiwiREVGQVVMVF9NRVNTQUdFX1NUUkVBTSI6Im91dGJvdW5kIn19"> <img src="https://img.shields.io/badge/Add_Postmark_MCP_Server-to_Cursor-00A4DB?style=for-the-badge&logo=cursor&logoColor=white" alt="添加Postmark MCP服务器到Cursor" /> </a> </div>

注意:点击按钮后,您需要:

  1. 在MCP配置中设置您的POSTMARK_SERVER_TOKEN
  2. 在MCP配置中设置您的DEFAULT_SENDER_EMAIL
  3. 在MCP配置中设置您的DEFAULT_MESSAGE_STREAM(默认为"outbound")

Claude和Cursor MCP配置示例

{
  "mcpServers": {
    "postmark": {
      "command": "node",
      "args": ["path/to/postmark-mcp/index.js"],
      "env": {
        "POSTMARK_SERVER_TOKEN": "your-postmark-server-token",
        "DEFAULT_SENDER_EMAIL": "your-sender-email@example.com",
        "DEFAULT_MESSAGE_STREAM": "your-message-stream"
      }
    }
  }
}

工具参考

本节提供了完整的Postmark MCP服务器工具参考,包括每个工具的示例提示和预期负载。

目录

电子邮件管理工具

1. sendEmail

发送单个文本电子邮件。

示例提示:

使用Postmark向recipient@example.com发送一封主题为"会议提醒"的邮件,内容为"不要忘记我们明天下午2点的团队会议。请带上您的季度统计数据报告(也许还有一些小吃)。"

预期负载:

{
  "to": "recipient@example.com",
  "subject": "会议提醒",
  "textBody": "不要忘记我们明天下午2点的团队会议。请带上您的季度统计数据报告(也许还有一些小吃)。",
  "htmlBody": "HTML版本的邮件正文", // 可选
  "from": "sender@example.com", // 可选,未提供时使用DEFAULT_SENDER_EMAIL
  "tag": "meetings" // 可选
}

响应格式:

邮件发送成功!
MessageID: message-id-here
To: recipient@example.com
Subject: 会议提醒

2. sendEmailWithTemplate

使用预定义模板发送电子邮件。

示例提示:

使用Postmark模板别名"welcome"向customer@example.com发送一封电子邮件,并使用以下模板变量:
{
  "name": "John Doe",
  "product_name": "MyApp",
  "login_url": "https://myapp.com/login"
}

预期负载:

{
  "to": "customer@example.com",
  "templateId": 12345, // 必须提供templateId或templateAlias之一,但不能同时提供
  "templateAlias": "welcome", // 必须提供templateId或templateAlias之一,但不能同时提供
  "templateModel": {
    "name": "John Doe",
    "product_name": "MyApp",
    "login_url": "https://myapp.com/login"
  },
  "from": "sender@example.com", // 可选,未提供时使用DEFAULT_SENDER_EMAIL
  "tag": "onboarding" // 可选
}

响应格式:

模板邮件发送成功!
MessageID: message-id-here
To: recipient@example.com
Template: template-id-or-alias-here

模板管理工具

3. listTemplates

列出所有可用的模板。

示例提示:

显示我们Postmark账户中所有可用的电子邮件模板列表。

响应格式:

📋 找到了2个模板:

• Basic
  - ID: 12345678
  - 别名: basic
  - 主题: none

• Welcome
  - ID: 02345679
  - 别名: welcome
  - 主题: none

统计与跟踪工具

4. getDeliveryStats

获取电子邮件投递统计信息。

示例提示:

显示我们从2025年5月1日至2025年5月15日带有"营销"标签的Postmark电子邮件投递统计信息。

预期负载:

{
  "tag": "营销", // 可选
  "fromDate": "2025-05-01", // 可选,YYYY-MM-DD格式
  "toDate": "2025-05-15" // 可选,YYYY-MM-DD格式
}

响应格式:

电子邮件统计摘要

已发送: 100封邮件
打开率: 45.5% (99封追踪邮件中的45封)
点击率: 15.2% (99个追踪链接中的15个)

期间: 2025年5月1日至2025年5月15日
标签: 营销

实现细节

自动配置

所有电子邮件都会自动配置:

  • TrackOpens: true
  • TrackLinks: "HtmlAndText"
  • 消息流来自DEFAULT_MESSAGE_STREAM环境变量

错误处理

服务器实现了全面的错误处理:

  • 验证所有必需的环境变量
  • 在SIGTERM和SIGINT信号上优雅地关闭
  • 对API调用进行适当的错误处理
  • 日志中不暴露敏感信息
  • 一致的错误消息格式化

日志记录

  • 使用适当的日志级别(正常操作使用info,错误使用error
  • 日志中排除敏感信息
  • 提供清晰的操作状态和结果

有关Postmark API的更多信息,请访问Postmark开发者文档