关于 Resend Email MCP
Resend Email MCP 提供 Resend 邮件、域名、联系人、广播、模板和 Webhook 操作工具,并包含投递与账号诊断功能,适用于通过 MCP 客户端管理 Resend 的用户。
主要功能
- 01发送、批量发送、定时发送和预览邮件
- 02管理域名、联系人和广播
- 03管理模板、细分群组和主题
- 04检查 API 日志和邮件生命周期
- 05诊断 DNS 与邮件投递问题
- 06只读模式及原始端点调用
适用场景
- 01通过 Resend 发送邮件或广播
- 02排查退信或邮件投递问题
- 03检查发信域名的 DNS 配置
- 04在不修改设置的情况下审计 Resend 账号
MCP 相关
该 MCP 服务提供 75 个工具和两个只读资源,用于 Resend 操作与诊断。它支持只读安全模式,并提供原始端点工具以调用尚未封装的 API 操作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y resend-email-mcpRESEND_API_KEY密钥Resend API key (https://resend.com/api-keys)RESEND_FROMDefault sender address (verified domain), e.g. 'Acme <[email protected]>'RESEND_REPLY_TODefault Reply-To addressRESEND_READONLYSet to 'true' to block every mutating toolRESEND_ATTACHMENTS_DIRDirectory that local-file attachments are restricted to (disk reads disabled unless set)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
75收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| cc | any | 否 | 收件人地址,例如 "[email protected]" 或 ["[email protected]","[email protected]"] |
| to | any | 是 | 收件人地址,例如 "[email protected]" 或 ["[email protected]","[email protected]"] |
| bcc | any | 否 | 收件人地址,例如 "[email protected]" 或 ["[email protected]","[email protected]"] |
| from | string | 否 | 发件人,例如 "Acme <[email protected]>"。默认使用 RESEND_FROM。域名必须已验证。 |
| html | string | 否 | HTML 正文(提供 html 和/或 text) |
| tags | array | 否 | |
| text | string | 否 | 纯文本正文(提供 html 和/或 text) |
| headers | object | 否 | 自定义标头,例如 {"X-Entity-Ref-ID": "123"} |
| replyTo | any | 否 | 回复地址。默认使用 RESEND_REPLY_TO。 |
| subject | string | 是 | 电子邮件主题行 |
| templateId | string | 否 | 使用已保存的模板发送,而不是使用 html/text |
| attachments | array | 否 | |
| scheduledAt | string | 否 | 稍后发送:ISO-8601 格式或自然语言,例如 "in 1 hour" / "tomorrow at 9am" |
| templateData | object | 否 | 要插入模板的变量 |
| idempotencyKey | string | 否 | 可选的 Idempotency-Key,用于确保重试安全(避免重复发送) |
详细介绍
resend-email-mcp
最全面的 Resend MCP 服务——全面覆盖 Resend API(邮件、域名、联系人、广播、模板、细分、主题、webhook、日志),并提供独一无二的调试与诊断层,这是其他 Resend MCP 服务所不具备的:投递能力分析、DNS 故障排查、邮件生命周期检查、退信原因说明和账户审计。
适用于 Claude Code、Cursor、Claude Desktop 以及任何其他 MCP 客户端。
为什么选择这个 MCP
| resend-email-mcp | 官方 resend-mcp | 精简版 MCP | |
|---|---|---|---|
| 发送 / 批量发送 / 定时发送 | ✅ | ✅ | 部分支持 |
| 域名、联系人、广播、模板、细分、主题、webhook | ✅ | ✅ | ❌ |
| API 请求日志工具 | ✅ | ❌ | ❌ |
| 调试层(诊断、分析、检查、说明、审计) | ✅ 7 个工具 | ❌ | ❌ |
| 只读安全模式 | ✅ | ❌ | ❌ |
| 用于调用新端点的原始接口 | ✅ | ❌ | ❌ |
| 幂等键支持 | ✅ | 部分支持 | ❌ |
75 个工具 + 2 个资源。
快速开始
1. 获取 Resend API 密钥
在 https://resend.com/api-keys 创建一个。
2. 添加到你的 MCP 客户端
Claude Code(CLI)
claude mcp add resend -e RESEND_API_KEY=re_xxxxxxxx -- npx -y resend-email-mcp
Cursor / Claude Desktop / 通用(mcp.json / claude_desktop_config.json)
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-email-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxx",
"RESEND_FROM": "Acme <[email protected]>"
}
}
}
}
配置文件位置:
- Claude Desktop(Windows):
%APPDATA%\Claude\claude_desktop_config.json - Claude Desktop(macOS):
~/Library/Application Support/Claude/claude_desktop_config.json - Cursor:
~/.cursor/mcp.json(或项目级.cursor/mcp.json)
重启客户端,然后询问:“向 [email protected] 发送一封测试邮件” 或 “审计我的 Resend 账户。”
配置
| 环境变量 | 必需 | 说明 |
|---|---|---|
RESEND_API_KEY | ✅ | 你的 Resend API 密钥 |
RESEND_FROM | – | send_email 在省略 from 时使用的默认发件人(必须是已验证的域名) |
RESEND_REPLY_TO | – | 默认 Reply-To 地址 |
RESEND_READONLY | – | true 会阻止所有会更改数据的工具(发送/创建/更新/删除)。可安全探索生产环境 |
RESEND_ATTACHMENTS_DIR | – | 限制 send_email 的 localPath 附件访问范围的目录。未设置 = 禁止读取磁盘(安全默认设置;会阻止路径遍历) |
RESEND_BASE_URL | – | 覆盖 API 基础 URL(默认值为 https://api.resend.com)。必须使用 https(仅 localhost 可使用 http) |
RESEND_MAX_RETRIES | – | 针对 429/5xx 的重试次数(默认值为 3) |
工具
邮件
send_email · send_batch_emails · get_email · list_emails · update_email · cancel_email · preview_email
send_email支持通过 base64content、公开path(URL)或localPath(磁盘上的文件,会自动读取并编码为 base64;仅在设置RESEND_ATTACHMENTS_DIR后启用,且访问范围受限于该目录)添加附件。preview_email会试运行邮件,解析最终发件人、计算附件大小并提示警告,但不会发送邮件。
附件(已发送和已接收)
list_email_attachments · get_email_attachment · list_received_emails · get_received_email · list_received_attachments · get_received_attachment
域名
create_domain · get_domain · list_domains · update_domain · delete_domain · verify_domain
API 密钥
create_api_key · list_api_keys · delete_api_key
广播
create_broadcast · get_broadcast · list_broadcasts · update_broadcast · send_broadcast · delete_broadcast
联系人
create_contact · get_contact · list_contacts · update_contact · delete_contact · get_contact_topics · update_contact_topics · list_contact_segments · add_contact_to_segment · remove_contact_from_segment
联系人属性
create_contact_property · get_contact_property · list_contact_properties · update_contact_property · delete_contact_property
细分
create_segment · get_segment · list_segments · delete_segment · list_segment_contacts
模板
create_template · get_template · list_templates · update_template · delete_template · publish_template · duplicate_template
主题
create_topic · get_topic · list_topics · update_topic · delete_topic
Webhook
create_webhook · get_webhook · list_webhooks · update_webhook · delete_webhook
日志
list_logs · get_log
🔍 调试与诊断(差异化优势)
| 工具 | 功能 |
|---|---|
diagnose_domain | 检查每条 DNS 记录(SPF/DKIM/DMARC),报告缺失项及修复方法 |
analyze_deliverability | 汇总近期发送数据,计算送达率/退信率/投诉率,并给出健康状况评估 |
inspect_email | 呈现一封邮件的完整生命周期时间线并标记问题 |
explain_bounce | 对退信分类(硬退信/软退信/拦截)并建议采取的操作 |
audit_account | 一次性检查域名、密钥和送达能力的健康状况 |
search_logs | 按状态/路径/收件人智能筛选 API 日志,以查找失败记录 |
test_send | 通过 Resend 沙盒地址安全模拟送达/退信/投诉 |
应急接口
resend_raw — 调用任何尚未封装为专用工具的 Resend 端点。
资源
除了工具之外,服务还提供两个只读 MCP 资源,让客户端无需消耗工具调用即可获取账户上下文:
| URI | 内容 |
|---|---|
resend://account | 域名 + API 密钥快照 |
resend://domains | 所有发送域名及其验证状态 |
每个工具都带有 MCP 提示(readOnlyHint、destructiveHint、idempotentHint),让客户端可以显示哪些操作安全、哪些需要确认。
示例提示词
- “诊断 acme.com 未通过验证的原因。” →
diagnose_domain - “我本周的邮件发送状况如何?” →
analyze_deliverability - “邮件 re_abc123 发生了什么?” →
inspect_email - “那封邮件为什么退信?我该怎么做?” →
explain_bounce - “我的 Resend 配置好像有问题——检查所有内容。” →
audit_account - “向 ‘beta’ 细分群组发送我们的上线新闻邮件。” →
create_broadcast+send_broadcast
安全测试
使用 Resend 的沙盒地址(不会影响信誉):
[email protected]— 模拟邮件送达[email protected]— 模拟硬退信[email protected]— 模拟垃圾邮件投诉
或者直接运行 test_send,然后使用返回的 ID 调用 inspect_email。
启用 RESEND_READONLY=true,即可安全地探索生产账户,而不会发送或删除任何内容。
故障排除
此 MCP 专为自我诊断而构建——发生故障时,请使用诊断工具,而不是凭猜测处理。
| 症状 / 错误 | 可能原因 | 要运行的工具 |
|---|---|---|
validation_error: from domain is not verified | 你的 from/RESEND_FROM 域名尚未验证 | list_domains → diagnose_domain(显示缺失的 DNS 记录和修复方法)→ verify_domain |
| 邮件已发送,但始终未送达 | 送达能力 / 信誉问题 | 先运行 analyze_deliverability,然后对示例 ID 运行 inspect_email |
missing_api_key / invalid_api_key (HTTP 401) | 未设置 RESEND_API_KEY 或密钥错误 | 检查 .env;在 resend.com/api-keys 创建密钥 |
restricted_api_key / not_authorized (403) | 密钥仅限发送权限或仅适用于一个域名 | 使用 full_access 密钥(运行 list_api_keys 查看) |
rate_limit_exceeded (429) | 请求过多 | 客户端会自动重试并采用退避策略;请降低请求量 |
daily_quota_exceeded | 已达到套餐发送限额 | 升级套餐或等待限额重置 |
| 某封邮件退信 | 收件人地址无效或被拦截 | explain_bounce(将其分类为硬退信 / 软退信 / 拦截,并提供处理建议) |
| “我的配置有问题吗?” | — | audit_account(一键健康检查) |
| 请求因未知原因失败 | — | 使用 only_errors: true 运行 search_logs |
此服务返回的每条错误都包含 HTTP 状态码、Resend 的错误名称,以及可供操作的 提示 行。
本地开发
git clone https://github.com/helbertparanhos/resend-email-mcp.git
cd resend-email-mcp
npm install
npm run build
cp .env.example .env # add your RESEND_API_KEY
npm run inspector # opens the MCP Inspector against the built server
许可证
MIT © Helbert Paranhos / Strat Academy
基于 Model Context Protocol 构建。与 Resend 无关联。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。