事务邮件服务器

Resend Blade MCP 是一款安全优先的事务邮件服务器,提供发送、管理联系人、广播、模板、域名和Webhook功能,具有编程安全控制。

  • by Groupthink-dev
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Groupthink-dev/resend-blade-mcp

使用说明

重新发送叶片MCP

安全第一的MCP服务器 重发 事务性电子邮件——通过编程安全控制发送、管理联系人、广播、模板、域和webhook。

建立在 FastMCP 2.0 和 httpx专为LLM自主运行的代理工作流程而设计。

为什么官方不重新发送MCP?

这 官方重新发送mcp 涵盖了整个API,但它是为人监督的聊天而设计的,而不是自主代理。在代理环境中,其安全模型会崩溃:

能力 重新发送刀片mcp 官方重新发送mcp 通用供应商mcp
写控制 程序化环境变量门 仅提示工程 通常没有
文件系统访问 无 --仅限base64/URL filePath 读取任何文件 变化
API密钥管理 完全排除 完全CRUD暴露于代理 经常暴露
凭证清除 所有错误路径已清除 未实现 很少
工具计数 28焦点 60+(上下文窗口膨胀) 变化
输出格式 管道分隔,空省略 原始JSON响应 原始JSON
HTTP传输身份验证 内置承载中间件 仅限每个会话密钥 很少
幂等性 原住民 Idempotency-Key header 不作为参数公开 很少
费率限制处理 键入 RateLimitError 在 原始错误传递后重试 变化

文件系统问题

官方MCP接受 filePath 在附件中,调用 fs.readFile() 没有路径验证。自主代理可以读取 /etc/passwd, ~/.ssh/id_rsa,或主机上的任何文件,并将其附加到发送到任何地址的电子邮件中。 重新发送刀片mcp 拒绝所有文件系统路径——只允许base64内容和HTTPS URL。

API关键问题

官方MCP曝光 create-api-key 和 remove-api-key 工具。代理可以创建一个完全访问的API密钥并对其进行过滤,或者删除现有密钥以中断服务。 重新发送刀片mcp 完全排除了API密钥管理-这些是属于带外的特权操作。

特性

  • 28工具 跨越8个类别:发送、联系人、分段、广播、模板、域、Webhook、日志
  • 写入门 --默认情况下禁用所有变异操作(RESEND_WRITE_ENABLED=true 启用)
  • 没有文件系统访问权限 --仅通过base64内容或HTTPS URL的附件
  • 没有API密钥CRUD --被设计排除在外,而不仅仅是封闭的
  • 凭证清除 — re_* 从所有错误输出中剥离API密钥
  • 代币高效 --管道分隔输出、空字段省略、带上限列表
  • 即时发送 --本地人 Idempotency-Key 支持防止重试时出现重复电子邮件
  • Webhook管理 --为事件驱动架构创建、列出、删除webhook端点
  • Sidereal市场 --一键安装的原生插件清单

需求

快速开始

# Clone and install
git clone https://github.com/Groupthink-dev/resend-blade-mcp.git
cd resend-blade-mcp
uv sync

# Set your API key
export RESEND_API_KEY=re_xxxxxxxx

# Run (stdio transport)
uv run resend-blade-mcp

克劳德代码

claude mcp add resend-blade -- uv run --directory ~/src/resend-blade-mcp resend-blade-mcp

克劳德桌面(Claude_Desktop_config.json)

{
  "mcpServers": {
    "resend-blade": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/resend-blade-mcp", "resend-blade-mcp"],
      "env": {
        "RESEND_API_KEY": "re_xxxxxxxx",
        "RESEND_WRITE_ENABLED": "false"
      }
    }
  }
}

工具(28)

发送(5)

工具 闸门 说明
resend_send write 发送电子邮件(HTML/文本、附件、计划、幂等)
resend_send_batch 写 批量发送多达100封电子邮件
resend_get_email read 按ID检索已发送的电子邮件
resend_list_emails read 列出已发送的电子邮件及其状态
resend_cancel_scheduled 写 取消已安排的电子邮件

联系人(4)

工具 闸门 说明
resend_create_contact write 创建具有属性的联系人
resend_list_contacts read 列出联系人
resend_update_contact write 更新联系人属性
resend_delete_contact write 删除联系人

分段(3)

工具 闸门 说明
resend_create_segment write 创建分段
resend_list_segments read 列出分段
resend_delete_segment write 删除段

广播(4)

工具 闸门 说明
resend_create_broadcast write 创建广播(草稿)
resend_send_broadcast write 发送或安排广播草稿
resend_list_broadcasts read 列出带有状态的广播
resend_delete_broadcast write 删除草稿/预定广播

模板(4)

工具 闸门 说明
resend_create_template write 创建带有变量的模板
resend_list_templates read 列出模板
resend_get_template read 获取包含HTML内容的模板
resend_publish_template write 发布模板以用于发送

域名(4)

工具 闸门 说明
resend_add_domain write 注册发送域(返回DNS记录)
resend_list_domains read 列出具有验证状态的域
resend_get_domain read 获取包含DNS记录详细信息的域
resend_verify_domain write 触发DNS验证

Webhooks(3)

工具 闸门 说明
resend_create_webhook write 创建webhook端点(返回签名密钥)
resend_list_webhooks read 列出webhook端点
resend_delete_webhook write 删除webhook

日志(1)

工具 闸门 说明
resend_list_logs read 列出最近的API请求日志

安全

图层 控制
API密钥 RESEND_API_KEY from env(从未记录,已清除错误)
传输 stdio默认值(无网络暴露)
写入门 RESEND_WRITE_ENABLED 默认 false --阻止所有17个写入工具
附件 仅限Base64内容或HTTPS URL--文件系统路径被拒绝
API密钥CRUD 已排除-任何工具都不能创建、列出或删除API密钥
批量限制 resend_send_batch 上限为100(重新发送API最大值)
凭证清除 re_* 从所有错误输出中删除模式
HTTP认证 可选承载令牌中间件(RESEND_MCP_API_TOKEN)
速率限制 429个响应按类型显示 RateLimitError 稍后重试

HTTP传输

export RESEND_MCP_TRANSPORT=http
export RESEND_MCP_HOST=127.0.0.1
export RESEND_MCP_PORT=8770
export RESEND_MCP_API_TOKEN=your-secret-token

uv run resend-blade-mcp

环境变量

变量 默认值 描述
RESEND_API_KEY (必需) 重新发送API密钥
RESEND_WRITE_ENABLED false 启用写入操作
RESEND_MCP_TRANSPORT stdio 运输: stdio 或 http
RESEND_MCP_HOST 127.0.0.1 HTTP绑定主机
RESEND_MCP_PORT 8770 HTTP绑定端口
RESEND_MCP_API_TOKEN (无) HTTP身份验证的承载令牌

发展

make install-dev    # Install with dev dependencies
make test           # Run unit tests (mocked, no Resend needed)
make test-e2e       # Run E2E tests (requires live API key)
make check          # Lint + format + type-check
make run            # Start the server

许可证

麻省理工学院