重新发送完整的MCP服务器
全面的 模型上下文协议(MCP) 提供100%覆盖率的服务器 重新发送API。此实现使AI助手能够与Resend强大的电子邮件基础设施无缝集成,涵盖Resend电子邮件平台中可用的所有12个模块和70多种工具。
🚀 概述
此MCP服务器通过模型上下文协议公开完整的Resend API功能,允许AI助手和LLM应用程序处理从发送事务电子邮件到管理广播活动和配置域设置的所有事务。
✨ 特性
🎯 API全面覆盖
此MCP服务器实现 全部 来自Resend API的12个综合模块的端点:
📧 电子邮件 (8工具)
- send_邮件 -发送带有HTML/文本、附件和模板的个人交易或营销电子邮件
- send_batch_emails -一次请求最多发送100封电子邮件
- list_邮件 -使用分页检索已发送的电子邮件
- get_email -获取特定电子邮件的状态和详细信息
- update_邮件 -修改电子邮件属性和计划电子邮件
- cancel_邮件 -在发送之前取消已安排的电子邮件
- list_email_attachments -列出已发送电子邮件的附件
- get_email_attachment -检索特定附件
📨 接收电子邮件 (4个工具)
- list_received_emails -列出收到的电子邮件
- get_received_email -获取收到的电子邮件详细信息
- list_received_email_attachments -列出收到的电子邮件中的附件
- get_received_email_attachment -获取特定收到的电子邮件附件
🌐 域管理 (6个工具)
- 创建域 -添加和配置新的发送域
- list_domains -查看所有已配置的域
- get_domain -检索特定域的详细信息
- update_domain -修改域设置(单击跟踪,打开跟踪)
- delete_domain -从您的帐户中删除域
- 验证域 -验证域身份验证的DNS记录
🔑 API密钥管理 (3个工具)
- create_api_key -生成具有特定权限的新API密钥
- list_api_keys -查看所有API密钥
- delete_api_key -吊销API密钥
👥 观众 (4个工具)
- 创建_审核 -创建新的受众群体/邮件列表
- 列表_观众 -查看所有受众
- 获取审计 -使用联系人数量检索受众详细信息
- 删除审计 -删除观众
📇 联系人 (13个工具)
- create_contact -向受众添加联系人
- list_contacts -查看受众中的所有联系人
- get_contact_by-email -通过电子邮件地址获取联系方式
- get_contact_by_id -通过ID获取联系方式
- update_contact_by-email -通过电子邮件更新联系信息
- update_contact_by_id -按ID更新联系信息
- 删除联系人_电子邮件 -通过电子邮件删除联系人
- 删除联系人_by_id -按ID删除联系人
- add_contact_to-section -将联系人添加到分段
- remove_contact_rom_segment -从分段中删除联系人
- list_contact_segments -列出联系人的细分市场
- get_contact_topics -获取联系人主题订阅
- update_contact_tops -更新联系人主题订阅
📝 模板 (7工具)
- create_template -创建电子邮件模板
- list_templates -列出所有模板
- get_template -获取模板详细信息
- update_template -更新模板
- delete_template -删除模板
- publish_template -发布草稿模板
- 复制模板 -复制现有模板
📢 广播操作 (6个工具)
- create_broadcast -设置电子邮件广播活动
- 列表_广播 -查看所有广播
- get_broadcast -使用统计数据检索广播详细信息
- update_broadcast -修改广播设置
- 删除广播 -删除广播
- send_broadcast -向观众执行广播活动
🪝 Webhook管理 (5个工具)
- create_webhook -为电子邮件事件设置webhooks
- list_webhooks -查看所有已配置的Webhook
- get_webhook -检索webhook配置详细信息
- update_webhook -修改webhook设置
- delete_webhook -删除webhook
支持的Webhook事件:
email.sent-电子邮件已被重新发送接受email.delivered-电子邮件已成功送达email.delivery_delayed-交货延迟email.complained-收件人将电子邮件标记为垃圾邮件email.bounced-电子邮件被退回email.opened-收件人打开了电子邮件email.clicked-收件人单击了链接email.received-收到入站电子邮件
🎯 片段 (4个工具)
- create_segment -创建受众细分
- list_segments -列出所有分段
- get_segment -获取细分市场详细信息
- 删除_段 -删除分段
🏷️ 话题 (5个工具)
- 创建主题 -创建订阅主题
- 列表主题 -列出所有主题
- get_topic -获取主题详细信息
- update_topic -更新主题
- 删除主题 -删除主题
🔧 联系人属性 (5个工具)
- create_contact_property -创建自定义联系人属性
- 列表_联系方式_属性 -列出所有联系人属性
- get_contact_property -获取房产详细信息
- update_contact_property -更新属性
- delete_contact_property -删除属性
🛠️ MCP能力
- 工具:所有作为可调用工具公开的Resend API操作(70多个工具)
- 资源:访问电子邮件模板和配置
- 提示:常见电子邮件操作的预配置提示
- 错误处理:全面的错误消息和验证
- 速率限制:尊重重新发送的速率限制(默认为2个请求/秒)
📋 先决条件
- Node.js 18+(推荐:v20或更高版本)
- TypeScript 5+
- A. 重新发送API密钥 (在这里买一个)
- 一 MCP兼容客户端 (Claude Desktop、Continue、Cline等)
🛠️ 安装
使用npm/npx
# Install globally
npm install -g @qrcommunication/resend-full-mcp
# Or use directly with npx
npx @qrcommunication/resend-full-mcp使用Python
# Install from PyPI
pip install resend-full-mcp
# Run the server
resend-mcp来源
# Clone the repository
git clone https://github.com/QrCommunication/resend-full-mcp.git
cd resend-full-mcp
# Install dependencies
npm install
# Build the project
npm run build
# Start the server
npm start发展模式
# Start with auto-reload
npm run dev🔧 配置
环境变量
创建 .env 项目根目录中的文件:
# Copy the example file
cp .env.example .env必修的:
# Your Resend API key from the dashboard
RESEND_API_KEY=re_xxxxxxxxxxxxxxxxxxxx可选:
# API base URL (default: https://api.resend.com)
RESEND_API_BASE_URL=https://api.resend.com
# Enable debug logging (default: false)
DEBUG=true
# Custom rate limit (requests per second, default: 2)
RATE_LIMIT=2安全说明:永远不要承诺你的.env文件到版本控制。它已经包含在.gitignore.
MCP客户端配置
克劳德桌面版
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "@qrcommunication/resend-full-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxxxxxxxxxxxxx"
}
}
}
}Continue.dev
添加到您的 config.json:
{
"mcpServers": [
{
"name": "resend",
"command": "npx",
"args": ["-y", "@qrcommunication/resend-full-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxxxxxxxxxxxxx"
}
}
]
}克莱恩
添加到MCP设置中:
{
"resend": {
"command": "npx",
"args": ["-y", "@qrcommunication/resend-full-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxxxxxxxxxxxxx"
}
}
}📖 用法
配置后,您可以通过MCP客户端使用服务器。以下是一些交互示例:
发送电子邮件
AI交互:
You: Can you send an email to john@example.com about our new product launch?
AI: I'll send that email using the send_email tool...直接工具调用:
{
"method": "tools/call",
"params": {
"name": "send_email",
"arguments": {
"from": "Your Name ",
"to": ["john@example.com"],
"subject": "New Product Launch",
"html": "
We're excited to announce our new product!
",
"text": "We're excited to announce our new product!"
}
}
}批量电子邮件发送
AI交互:
You: Send a welcome email to these 50 new users: [list of emails]
AI: I'll use the send_batch_emails tool to send all 50 emails efficiently...直接工具调用:
{
"method": "tools/call",
"params": {
"name": "send_batch_emails",
"arguments": {
"emails": [
{
"from": "team@yourdomain.com",
"to": ["user1@example.com"],
"subject": "Welcome!",
"html": "
Welcome to our service!
"
},
{
"from": "team@yourdomain.com",
"to": ["user2@example.com"],
"subject": "Welcome!",
"html": "
Welcome to our service!
"
}
]
}
}
}管理域名
AI交互:
You: Add my domain example.com and show me the DNS records I need to configure
AI: I'll create the domain and retrieve the verification records...直接工具调用:
{
"method": "tools/call",
"params": {
"name": "create_domain",
"arguments": {
"name": "example.com",
"region": "us-east-1"
}
}
}设置Webhooks
AI交互:
You: Set up a webhook to notify me when emails are delivered or bounced
AI: I'll create a webhook for email.delivered and email.bounced events...直接工具调用:
{
"method": "tools/call",
"params": {
"name": "create_webhook",
"arguments": {
"endpoint": "https://yourapp.com/webhooks/resend",
"events": ["email.delivered", "email.bounced"]
}
}
}与观众和联系人合作
创建受众:
{
"method": "tools/call",
"params": {
"name": "create_audience",
"arguments": {
"name": "Newsletter Subscribers"
}
}
}添加联系人:
{
"method": "tools/call",
"params": {
"name": "create_contact",
"arguments": {
"audience_id": "your_audience_id",
"email": "subscriber@example.com",
"first_name": "John",
"last_name": "Doe"
}
}
}创建和发送广播
AI交互:
You: Create a broadcast for our monthly newsletter to the "customers" audience
AI: I'll set up the broadcast campaign...直接工具调用:
{
"method": "tools/call",
"params": {
"name": "create_broadcast",
"arguments": {
"name": "Monthly Newsletter",
"segment_id": "your_segment_id",
"from": "newsletter@yourdomain.com",
"subject": "This Month's Updates",
"html": "
Monthly Updates
Here's what happened this month...
",
"send": false
}
}
}列出所有可用工具
{
"method": "tools/list",
"params": {}
}这将返回所有70多个工具及其描述和输入模式。
🏗️ 项目结构
resend-full-mcp/
├── src/
│ └── index.ts # Main MCP server implementation
├── dist/ # Compiled JavaScript (generated)
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── .env # Environment variables (not in git)
├── .env.example # Environment template
├── .gitignore # Git ignore rules
├── LICENSE # MIT License
└── README.md # This file🔒 安全
API密钥管理
- 将Resend API密钥安全地存储在环境变量中
- 永远不要将API密钥提交到版本控制
- 尽可能使用受限的API密钥(仅限sending_access)
- 定期旋转API键
- 将API密钥限制到特定域以供生产使用
Webhook安全
- 始终验证webhook签名
- 为Webhook使用HTTPS端点
- 实现webhook密钥验证
- 速率限制webhook端点
- 记录webhook事件以供审核
数据隐私
- 此MCP服务器不存储任何电子邮件内容或收件人数据
- 所有数据均实时处理,并直接发送到重新发送
- 在处理联系人数据时遵循GDPR和其他隐私法规
- 实施适当的取消订阅机制
⚡ 速率限制
重新发送强制执行速率限制以确保服务质量:
- 默认:每秒2个请求
- 爆裂:短时间内最多10个请求
- 升级:付费计划有更高的限额
服务器会自动处理速率限制,并在适当的时候重试请求。
🔧 错误处理
服务器为常见问题提供详细的错误消息:
身份验证错误
401 Unauthorized-API密钥无效或丢失403 Forbidden-权限不足
验证错误
400 Bad Request-参数无效或缺少必填字段422 Unprocessable Entity-语法有效,但数据无效
资源错误
404 Not Found-资源不存在409 Conflict-资源已存在或冲突
速率限制
429 Too Many Requests-超出费率限制
服务器错误
500 Internal Server Error-重新发送服务问题503 Service Unavailable-临时服务中断
🐛 故障排除
错误:“未设置RESEND_API_KEY环境变量”
解决方案:创建一个 .env 使用重新发送API密钥的文件:
echo "RESEND_API_KEY=re_your_key_here" > .env错误:“工具执行失败”
可能的原因:
- API密钥无效
- 缺少必要参数
- 超过API费率限制
- 网络连接问题
解决方案:检查错误消息详细信息,并验证API密钥和参数。
错误:“未知工具”
解决方案:使用验证工具名称 tools/list 方法查看所有可用工具。
🛠️ 发展
从源头构建
# Install dependencies
npm install
# Build the project
npm run build
# Run tests (if available)
npm test以开发模式运行
# Start with auto-reload
npm run dev代码质量
# Linting
npm run lint
# Formatting
npm run format
# Type checking
npm run typecheck🤝 贡献
我们欢迎捐款!请遵循以下指南:
- 克隆该仓库 并创建一个特征分支
- 遵循现有代码样式 和公约
- 编写测试 对于新功能
- 更新文档 根据需要
- 提交拉取请求 描述清晰
开发设置
- 克隆你的叉子:
git clone https://github.com/YOUR_USERNAME/resend-full-mcp.git - 安装依赖项:
npm install - 创建
.env使用重新发送API密钥的文件 - 运行测试:
npm test - 进行更改
- 确保所有测试均已通过,且棉绒保持清洁
- 提交PR
报告问题
在报告问题时,请包括:
- 问题的详细描述
- 重现步骤
- 预期行为与实际行为
- 环境详细信息(操作系统、节点/Python版本、MCP客户端)
- 相关错误消息或日志
🗺️ 路线图
计划的未来增强功能:
- \[\]资源缓存以提高性能
- \[\]高级电子邮件模板支持
- \[\]内置电子邮件验证
- \[\]用于测试的Webhook事件模拟
- \[\]分析和报告工具
- \[\]域和联系人的批处理操作
- \[\]自定义重试策略
- \[\]对大型操作的流媒体支持
📝 更新日志
v1.0.0(2026-02-03)
- 初始版本
- 100%重新发送API覆盖范围(12个模块中有70多个工具)
- 所有电子邮件操作(发送、批处理、计划、取消)
- 完整的域管理
- Webhook配置和管理
- 联系人和受众管理
- 广播业务
- API密钥管理
- 模板支持
- 细分市场和主题管理
- 联系物业支持
- 全面的错误处理
- 速率限制支持
📄 许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
版权所有(c)2026 Qr Communication
特此免费向任何获得副本的人授予许可 本软件和相关文档文件(“软件”),以处理 在软件中不受限制,包括但不限于权利 使用、复制、修改、合并、发布、分发、再许可和/或销售 软件的副本,并允许软件的接收者 根据以下条件提供:
上述版权声明和本许可声明应包含在所有 软件的副本或实质性部分。
软件按“原样”提供,不提供任何形式的明示或明示担保 隐含的,包括但不限于适销性保证, 适用于特定目的且不造成伤害。在任何情况下 作者或版权持有人对任何索赔、损害赔偿或其他 因以下原因产生的责任,无论是在合同、侵权或其他诉讼中, 出于或与软件、使用或其他交易有关 软件。
🙏 致谢
📞 支持
- 文档:
- 问题:
- 讨论:
- 重新发送文档: https://resend.com/docs
- 重新发送API参考: https://resend.com/docs/api-reference
- MCP文件: https://modelcontextprotocol.io
🔗 相关项目
______________________________________________________________________
由...制作❤️ 通过 Qr通信
*此MCP服务器提供Resend API的完整覆盖,通过AI助手和LLM应用程序实现无缝电子邮件操作。*
