Resend Email
官方使用 Resend API 直接从你的编辑器发送电子邮件。
你可以用 Resend Email MCP 做什么?
- 发送事务性邮件 — 让您的助手通过
https://mcp.resend.com/mcp编写并发送 HTML 或纯文本邮件,支持附件、抄送/密送及自定义邮件头。 - 管理邮件模板 — 让您的助手创建、更新、发布或复制模板,使用
{{{VARIABLE}}}占位符以便重复用于营销活动。 - 跟踪投递与互动情况 — 让您的助手列出已发送邮件并获取投递指标,或在定时发送前取消计划中的邮件。
- 处理入站邮件 — 让您的助手直接读取收件箱中的来信,并下载其附件。
- 管理联系人与受众 — 指示您的助手创建、更新或细分联系人,并导入带有自定义属性的 CSV 列表。
- 监控 API 使用情况 — 请求账户级别的配额和速率限制信息,以便随时掌握您的邮件基础设施状况。
托管 MCP 服务器
npx add-mcp 'https://mcp.resend.com/mcp'可安装到 Claude Code、Codex、Cursor 等客户端
文档
Resend MCP 服务器
将您的 AI 代理连接到 Resend 平台。直接从任何 MCP 客户端(如 Claude、Cursor 或 Claude Code)发送和接收电子邮件、管理联系人、广播、域名等。
我们提供由 Resend 托管的远程 MCP 服务器和本地 MCP 服务器(即本包)。
远程 MCP 服务器
Resend 在以下地址托管 MCP 服务器:
https://mcp.resend.com/mcp
连接任何支持远程服务器(Streamable HTTP)的 MCP 客户端。无需安装任何内容,也无需运行本地进程,这使其成为基于 Web 的客户端(如 Claude)和托管代理平台的最佳选择。
连接时,您的客户端会打开浏览器窗口以登录 Resend 并使用 OAuth 批准访问。
Claude Code
claude mcp add --transport http resend https://mcp.resend.com/mcp
然后在 Claude Code 中运行 /mcp 并选择 resend 以完成 OAuth 登录。
Claude
在 Claude(Web 或桌面版)中,打开 设置 > 连接器 > 添加自定义连接器,然后输入:
https://mcp.resend.com/mcp
Cursor
打开命令面板,选择“Cursor 设置”>“MCP”>“添加新的全局 MCP 服务器”。
{
"mcpServers": {
"resend": {
"url": "https://mcp.resend.com/mcp"
}
}
}
Codex
codex mcp add resend --url https://mcp.resend.com/mcp
Copilot
要在 VS Code 中使用 GitHub Copilot,请将以下内容添加到您的 settings.json:
{
"mcp": {
"servers": {
"resend": {
"type": "http",
"url": "https://mcp.resend.com/mcp"
}
}
}
}
Windsurf
{
"mcpServers": {
"resend": {
"serverUrl": "https://mcp.resend.com/mcp"
}
}
}
Warp
在 Warp 的设置中,导航到 Agents > MCP servers,然后点击 +Add 添加新服务器。
{
"resend": {
"serverUrl": "https://mcp.resend.com/mcp"
}
}
使用 API 密钥进行身份验证
如果您的客户端运行在无法进行浏览器登录的环境中(服务器、CI 或无头代理),请传递 Resend API 密钥 作为 Bearer 令牌,而不是使用 OAuth。
Claude Code:
claude mcp add --transport http resend https://mcp.resend.com/mcp --header "Authorization: Bearer re_xxxxxxxxx"
JSON 配置(Cursor、Windsurf 等),添加 Authorization 标头:
{
"mcpServers": {
"resend": {
"url": "https://mcp.resend.com/mcp",
"headers": {
"Authorization": "Bearer re_xxxxxxxxx"
}
}
}
}
本地 MCP 服务器
托管服务器运行的是与 NPM 上以 resend-mcp 形式提供的相同开源代码。如果您更愿意自行运行服务器,可以使用 npx 将其集成到任何受支持的 MCP 客户端中。您需要:
本地服务器支持两种传输模式:stdio(默认)和 HTTP。
在下方选择您偏好的模式和客户端以开始使用。请记得将 re_xxxxxxxxx 替换为您的实际 API 密钥。
Stdio 传输(默认)
快速设置
为所有检测到/选中的代理和编辑器安装:
npx add-mcp resend-mcp --name resend --env "RESEND_API_KEY=re_xxxxxxxxx"
Claude Code
claude mcp add resend -e RESEND_API_KEY=re_xxxxxxxxx -- npx -y resend-mcp
Codex
codex mcp add resend \
--env RESEND_API_KEY=re_xxxxxxxxx \
-- npx -y resend-mcp
Cursor
打开命令面板,选择“Cursor 设置”>“MCP”>“添加新的全局 MCP 服务器”。
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
Claude Desktop
打开 Claude Desktop 设置 >“开发者”选项卡 >“编辑配置”。
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
Copilot
要在 VS Code 中使用 GitHub Copilot,请将以下内容添加到您的 settings.json:
{
"mcp": {
"servers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
}
Gemini CLI
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
OpenCode
添加到您的 opencode.json 配置中:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"resend": {
"type": "local",
"command": ["npx", "-y", "resend-mcp"],
"enabled": true,
"environment": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
Windsurf
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
Devin
在 Devin 中,打开 设置 > 连接 > MCP 服务器,然后点击 添加自定义 MCP。有关完整的分步指南,请参阅 Devin 指南。
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx",
"SENDER_EMAIL_ADDRESS": "onboarding@resend.dev"
}
}
}
}
HTTP 传输
通过 HTTP 运行服务器以用于远程或基于 Web 的集成,例如在您自己的隧道或反向代理后面,而不是使用 Resend 的托管远程 MCP 服务器。在 HTTP 模式下,每个客户端通过在 Authorization 标头中传递其 Resend API 密钥作为 Bearer 令牌来进行身份验证。
启动服务器:
npx -y resend-mcp --http --port 3000
服务器将监听 http://127.0.0.1:3000,并使用 Streamable HTTP 在 /mcp 暴露 MCP 端点。
Claude Code
claude mcp add resend --transport http http://127.0.0.1:3000/mcp --header "Authorization: Bearer re_xxxxxxxxx"
Cursor
打开命令面板,选择“Cursor 设置”>“MCP”>“添加新的全局 MCP 服务器”。
{
"mcpServers": {
"resend": {
"url": "http://127.0.0.1:3000/mcp",
"headers": {
"Authorization": "Bearer re_xxxxxxxxx"
}
}
}
}
您还可以通过 MCP_PORT 环境变量设置端口:
MCP_PORT=3000 npx -y resend-mcp --http
作为库使用
HTTP 传输也被导出,因此可以嵌入到另一个服务中,而不是通过 CLI 运行。每个连接的客户端都使用自己的 Resend API 密钥作为 Bearer 令牌进行身份验证。
import { runHttp } from 'resend-mcp/http';
// Options are optional — pass `senderEmailAddress` / `replierEmailAddresses`
// to set defaults. Binds the port and returns the Node http.Server, exposing
// the MCP endpoint at POST/GET/DELETE /mcp and a GET /health check.
const server = await runHttp({}, 3000);
默认情况下,服务器应用仅限本地的 Host 验证(DNS 重新绑定保护)。当部署在反向代理或负载均衡器后面时,服务器受每个请求的 Bearer API 密钥保护,请将 host 设置为 0.0.0.0,以便代理转发的 Host 和负载均衡器健康检查不会被拒绝并返回 403 Invalid Host:
const server = await runHttp({}, 3000, { host: '0.0.0.0' });
// or pin specific hostnames instead of disabling validation:
const server = await runHttp({}, 3000, { allowedHosts: ['mcp.example.com'] });
通过 CLI,这映射到 --host / --allowed-hosts(或 MCP_HOST / MCP_ALLOWED_HOSTS)。
选项
您可以传递额外的参数来配置本地服务器:
--key:您的 Resend API 密钥(仅限 stdio 模式,因为 HTTP 模式使用客户端的 Bearer 令牌)--sender:来自已验证域名的默认发件人电子邮件地址--reply-to:默认回复电子邮件地址(可以多次指定)--http:使用 HTTP 传输而不是 stdio(默认:stdio)--port:使用--http时的 HTTP 端口(默认:3000,或MCP_PORT环境变量)--host:使用--http时用于 DNS 重新绑定保护的主机(默认:127.0.0.1,或MCP_HOST)。设置为0.0.0.0以在代理/负载均衡器后面禁用Host验证。--allowed-hosts:使用--http时的逗号分隔Host允许列表(或MCP_ALLOWED_HOSTS)
环境变量:
RESEND_API_KEY:您的 Resend API 密钥(stdio 必需,HTTP 可选,因为客户端通过 Bearer 令牌传递)SENDER_EMAIL_ADDRESS:来自已验证域名的默认发件人电子邮件地址(可选)REPLY_TO_EMAIL_ADDRESSES:逗号分隔的回复电子邮件地址(可选)MCP_PORT:使用--http时的 HTTP 端口(可选)MCP_HOST:使用--http时用于 DNS 重新绑定保护的主机(可选)MCP_ALLOWED_HOSTS:使用--http时的逗号分隔Host允许列表(可选)
[!NOTE] 如果您不提供发件人电子邮件地址,MCP 服务器将在您每次调用工具时要求您提供一个。
MCP 服务器工具
Resend 的 MCP 服务器通过单一集成为您的 AI 代理提供对完整 Resend 平台的原生访问。您可以使用自然语言管理电子邮件基础设施的所有方面。
- 电子邮件:发送、列出、获取、取消、更新、共享和批量发送电子邮件。检索投递和互动指标。支持 HTML、纯文本、附件(本地文件、URL 或 base64)、抄送/密送、回复地址、计划发送、标签、自定义标头、基于主题的发送和幂等键。
- 收到的电子邮件:列出和阅读入站电子邮件。列出和下载收到的电子邮件附件。
- 模板:创建、列出、获取、更新、发布、复制和删除电子邮件模板。支持编写模板内容和
{{{VARIABLE}}}占位符。 - 联系人:创建、列出、获取、更新和删除联系人。管理细分成员资格、主题订阅和 CSV 联系人导入。支持自定义联系人属性。
- 广播:创建、发送、取消、复制、列出、获取、更新和删除广播活动。列出广播的被点击链接及其按事件类型(已发送、已投递、已打开、已点击、已退回、已投诉、已退订、已抑制)划分的收件人。支持计划发送、个性化占位符和预览文本。
- 自动化:创建、列出、获取、更新、复制和删除自动化。查看自动化的运行记录。
- 事件:发送事件以触发联系人的自动化。创建、更新和删除事件定义。
- 域名:创建、列出、获取、更新、删除和验证发件域名。配置跟踪、TLS 和发送/接收能力。创建和验证域名声明。
- 细分:创建、列出、获取、更新和删除受众细分。
- 抑制列表:单独或批量列出、获取、添加和删除抑制列表条目。硬退回和垃圾邮件投诉会自动被抑制;手动添加地址以遵守不联系请求。
- 主题:创建、列出、获取、更新和删除订阅主题。
- 联系人属性:创建、列出、获取、更新和删除自定义联系人属性。
- API 密钥:创建、列出、更新和删除 API 密钥。
- Webhooks:创建、列出、获取、更新和删除用于事件通知的 Webhooks,并检查其投递历史——发送到 Webhook 的事件、单个事件的负载以及投递尝试。重放事件以排队另一次投递,并轮换 Webhook 的签名密钥。
- 日志:列出和检查 API 请求日志,包括完整的请求和响应体。
- 用量:检索账户级别的用量和配额信息:电子邮件、联系人、细分、广播、AI 积分、自动化运行、域名和 API 速率限制。
- 编辑器:连接(和断开)Resend 仪表板中的可视化编辑器,并在协作处理广播和模板时读取草稿内容。
本地开发
- 克隆此项目并构建:
git clone https://github.com/resend/resend-mcp.git
pnpm install
pnpm run build
- 要使用本地构建,请将
npx命令替换为本地构建的路径:
Claude Code(stdio):
claude mcp add resend -e RESEND_API_KEY=re_xxxxxxxxx -- node ABSOLUTE_PATH_TO_PROJECT/dist/index.js
Claude Code(HTTP):
claude mcp add resend --transport http http://127.0.0.1:3000/mcp --header "Authorization: Bearer re_xxxxxxxxx"
Cursor / Claude Desktop(stdio):
{
"mcpServers": {
"resend": {
"command": "node",
"args": ["ABSOLUTE_PATH_TO_PROJECT/dist/index.js"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
Cursor(HTTP):
{
"mcpServers": {
"resend": {
"url": "http://127.0.0.1:3000/mcp",
"headers": {
"Authorization": "Bearer re_xxxxxxxxx"
}
}
}
}
使用 MCP 客户端进行实时测试
在开发时,您可以在一个真实的 MCP 客户端会话中测试更改,同时在另一个会话中编辑代码。
思路:运行 tsc --watch 以持续重建 dist/,并将单独的 MCP 客户端指向从不同目录构建的 dist/index.js。当您想要获取代码更改时,请重启 MCP 客户端会话(MCP 服务器是长期运行的 stdio 进程,不支持热重载)。
Claude Code 示例:
-
运行 TypeScript 监视器以在保存时自动重建:
pnpm tsc --watch -
在单独的目录中,创建一个指向构建输出的
.mcp.json:mkdir -p /tmp/mcp-test// /tmp/mcp-test/.mcp.json { "mcpServers": { "resend-dev": { "command": "node", "args": ["/absolute/path/to/resend-mcp/dist/index.js"], "env": { "RESEND_API_KEY": "re_xxxxxxxxx" } } } } -
从该目录启动 Claude Code 并使用 MCP 工具。进行代码更改后,启动新的 Claude Code 会话以获取新构建。
同样的原则适用于任何 MCP 客户端——将您的测试环境与开发环境分开,使用 dist/index.js 的绝对路径,并在重建后重新连接 MCP 服务器。
使用 MCP Inspector 进行测试
注意: 请确保您已先构建项目(请参阅上面的本地开发部分)。
使用 Stdio 传输
-
设置您的 API 密钥:
export RESEND_API_KEY=re_your_key_here -
启动 Inspector:
pnpm inspector -
在浏览器中(Inspector UI):
- 选择 stdio(启动进程)。
- 命令:
node - 参数:
dist/index.js(或dist/index.js的完整路径) - 环境变量:
RESEND_API_KEY=re_your_key_here(如果您已在同一终端中导出,则留空)。 - 点击 连接,然后使用“列出工具”验证服务器是否正常工作。
使用 HTTP 传输
-
在一个终端中启动 HTTP 服务器:
node dist/index.js --http --port 3000 -
在另一个终端中启动 Inspector:
pnpm inspector -
在浏览器中(Inspector UI):
- 选择 Streamable HTTP(连接到 URL)。
- URL:
http://127.0.0.1:3000/mcp - 添加自定义标头:
Authorization: Bearer re_your_key_here并激活开关。 - 点击 连接,然后使用“列出工具”验证服务器是否正常工作。