Resend Email

官方

直接從編輯器使用 Resend API 發送電子郵件。

你可以用 Resend Email MCP 做什麼?

  • 發送交易型電子郵件 — 請您的助理透過 https://mcp.resend.com/mcp 撰寫並發送包含附件、CC/BCC 及自訂標頭的 HTML 或純文字電子郵件。
  • 管理電子郵件範本 — 讓您的助理使用 {{{VARIABLE}}} 佔位符建立、更新、發布或複製範本,以用於可重複使用的行銷活動。
  • 追蹤投遞與互動 — 請您的助理列出已發送的電子郵件並取得投遞指標,或在排定發送前取消排程。
  • 處理收件匣電子郵件 — 請您的助理直接從您的 Resend 收件匣讀取收到的訊息並下載其附件。
  • 管理聯絡人與受眾 — 指示您的助理建立、更新或分類聯絡人,並匯入帶有自訂屬性的 CSV 清單。
  • 監控 API 使用量 — 請求帳戶層級的配額與速率限制資訊,以隨時掌握您的電子郵件基礎架構狀況。

託管 MCP 伺服器

npx add-mcp 'https://mcp.resend.com/mcp'

可安裝到 Claude Code、Codex、Cursor 等客戶端

文件

Resend MCP 伺服器

npm version

將您的 AI 代理連接到 Resend 平台。直接從任何 MCP 用戶端(如 Claude、Cursor 或 Claude Code)發送和接收電子郵件、管理聯絡人、廣播、網域等。

我們提供由 Resend 託管的遠端 MCP 伺服器和本機 MCP 伺服器(此套件)。

遠端 MCP 伺服器

Resend 在以下位置託管 MCP 伺服器:

https://mcp.resend.com/mcp

連接任何支援遠端伺服器(Streamable HTTP)的 MCP 用戶端。無需安裝任何東西,也無需執行本機程序,這使其成為基於網頁的用戶端(如 Claude)和託管代理平台的最佳選擇。

連接時,您的用戶端會開啟瀏覽器視窗,使用 OAuth 登入 Resend 並核准存取。

Claude Code

claude mcp add --transport http resend https://mcp.resend.com/mcp

然後在 Claude Code 中執行 /mcp,並選擇 resend 以完成 OAuth 登入。

Claude

在 Claude(網頁版或桌面版)中,開啟 設定 > 連接器 > 新增自訂連接器,然後輸入:

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 執行伺服器以進行遠端或基於網頁的整合,例如在您自己的隧道或反向代理後面,而不是使用 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);

預設情況下,伺服器僅套用 localhost 的 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(或 MCP_ALLOWED_HOSTS)時以逗號分隔的 Host 允許清單

環境變數:

  • 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:建立、列出、取得、更新和移除用於事件通知的 webhook,並檢查其送達歷史記錄 — 發送到 webhook 的事件、單一事件的負載,以及嘗試送達的次數。重播事件以排入另一次送達,並輪換 webhook 的簽章密鑰。
  • 日誌:列出和檢查 API 請求日誌,包括完整的請求和回應主體。
  • 使用量:擷取帳戶層級的使用量和配額資訊:電子郵件、聯絡人、區段、廣播、AI 點數、自動化執行、網域和 API 速率限制。
  • 編輯器:連接(和斷開)Resend 儀表板中的視覺編輯器,並在協作處理廣播和範本時讀取草稿內容。

本機開發

  1. 複製此專案並建置:
git clone https://github.com/resend/resend-mcp.git
pnpm install
pnpm run build
  1. 若要使用本機建置,請將 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 範例:

  1. 執行 TypeScript 監看器以在儲存時自動重新建置:

    pnpm tsc --watch
    
  2. 在單獨的目錄中,建立指向建置輸出的 .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"
          }
        }
      }
    }
    
  3. 從該目錄啟動 Claude Code 並使用 MCP 工具。進行程式碼變更後,啟動新的 Claude Code 工作階段以套用新的建置。

相同的原則適用於任何 MCP 用戶端 — 將您的測試環境與開發環境分開,使用 dist/index.js 的絕對路徑,並在重新建置後重新連接 MCP 伺服器。

使用 MCP Inspector 進行測試

注意: 請確保您已先建置專案(請參閱上方本機開發章節)。

使用 Stdio 傳輸

  1. 設定您的 API 金鑰:

    export RESEND_API_KEY=re_your_key_here
    
  2. 啟動 inspector:

    pnpm inspector
    
  3. 在瀏覽器中(Inspector UI):

    • 選擇 stdio(啟動程序)。
    • 命令: node
    • 引數: dist/index.js(或 dist/index.js 的完整路徑)
    • 環境變數: RESEND_API_KEY=re_your_key_here(如果您已在同一個終端機中匯出,則可留空)。
    • 按一下 連接,然後使用「列出工具」驗證伺服器是否正常運作。

使用 HTTP 傳輸

  1. 在一個終端機中啟動 HTTP 伺服器:

    node dist/index.js --http --port 3000
    
  2. 在另一個終端機中啟動 inspector:

    pnpm inspector
    
  3. 在瀏覽器中(Inspector UI):

    • 選擇 Streamable HTTP(連接到 URL)。
    • URL: http://127.0.0.1:3000/mcp
    • 新增自訂標頭:Authorization: Bearer re_your_key_here 並啟用切換開關。
    • 按一下 連接,然後使用「列出工具」驗證伺服器是否正常運作。