Resend Email
公式エディタから直接Resend APIを使ってメールを送信します。
Resend Email MCPで何ができますか?
- メールの送信と管理 — アシスタントに、添付ファイル、CC/BCC、スケジュール設定、カスタムヘッダーを備えたメールの送信、一覧表示、取得、キャンセル、一括送信を依頼できます(
send_emailを使用)。 - 連絡先とオーディエンスの管理 — 連絡先の作成、更新、削除、セグメントメンバーシップやトピック購読の管理、CSVからの連絡先インポートを
create_contactで行えます。 - ブロードキャストの作成と送信 — パーソナライズプレースホルダーとプレビューテキストを備えたブロードキャストキャンペーンの作成、スケジュール設定、送信、キャンセルを
create_broadcastで行えます。 - 受信メールの処理 — 受信メールの一覧表示と閲覧、受信メッセージからの添付ファイルのダウンロードを
list_received_emailsで行えます。 - テンプレートとドメインの管理 — 変数付きのメールテンプレートの作成、更新、公開、複製、送信者ドメインの検証や設定を
create_templateとverify_domainで行えます。 - 監視と自動化 — APIリクエストログの確認、ウェブフックの管理、連絡先へのイベント送信による自動化のトリガーを
list_logsとsend_eventで行えます。
ドキュメント
Resend MCP サーバー
AI エージェントを Resend プラットフォームに接続します。Claude、Cursor、Claude Code などのあらゆる MCP クライアントから、メールの送受信、連絡先、ブロードキャスト、ドメインなどの管理を直接行えます。
Resend がホストする リモート MCP サーバー と、ローカル MCP サーバー(このパッケージ)の両方を提供しています。
リモート MCP サーバー
Resend は MCP サーバーを次の場所でホストしています:
https://mcp.resend.com/mcp
リモートサーバー(Streamable HTTP)をサポートする任意の MCP クライアントを接続できます。インストールするものはなく、ローカルプロセスを実行する必要もないため、Claude のような Web ベースのクライアントやホスト型エージェントプラットフォームに最適なオプションです。
接続すると、クライアントはブラウザウィンドウを開いて Resend にログインし、OAuth を使用してアクセスを承認します。
Claude Code
claude mcp add --transport http resend https://mcp.resend.com/mcp
次に、Claude Code で /mcp を実行し、resend を選択して OAuth ログインを完了します。
Claude
Claude(Web またはデスクトップ)で、Settings > Connectors > Add custom connector を開き、次を入力します:
https://mcp.resend.com/mcp
Cursor
コマンドパレットを開き、「Cursor Settings」>「MCP」>「Add new global MCP server」を選択します。
{
"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、ヘッドレスエージェント)でクライアントを実行する場合は、OAuth の代わりに Resend API キー を Bearer トークンとして渡します。
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 の 2 つのトランスポートモードをサポートしています。
以下の好みのモードとクライアントを選択して開始してください。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 Settings」>「MCP」>「Add new global MCP server」を選択します。
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
Claude Desktop
Claude Desktop の設定 >「Developer」タブ >「Edit Config」を開きます。
{
"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 で、Settings > Connections > MCP Servers を開き、Add a custom MCP をクリックします。詳細な手順については Devin ガイド を参照してください。
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx",
"SENDER_EMAIL_ADDRESS": "onboarding@resend.dev"
}
}
}
}
HTTP トランスポート
Resend の ホスト型リモート MCP サーバー を使用する代わりに、独自のトンネルやリバースプロキシの背後など、リモートまたは Web ベースの統合のために HTTP 経由でサーバーを実行します。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 Settings」>「MCP」>「Add new global MCP server」を選択します。
{
"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: stdio の代わりに HTTP トランスポートを使用(デフォルト: stdio)--port:--http使用時の HTTP ポート(デフォルト: 3000、またはMCP_PORT環境変数)--host:--http使用時の DNS リバインディング保護用ホスト(デフォルト:127.0.0.1、またはMCP_HOST)。プロキシ/ロードバランサーの背後でHost検証を無効にするには0.0.0.0に設定します。--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)、CC/BCC、返信先、スケジュール、タグ、カスタムヘッダー、トピックベースの送信、冪等性キーをサポート。
- 受信メール: 受信メールの一覧表示と読み取り。受信メールの添付ファイルの一覧表示とダウンロード。
- テンプレート: メールテンプレートの作成、一覧表示、取得、更新、公開、複製、削除。テンプレートコンテンツの作成と
{{{VARIABLE}}}プレースホルダーをサポート。 - 連絡先: 連絡先の作成、一覧表示、取得、更新、削除。セグメントメンバーシップ、トピック購読、CSV 連絡先インポートの管理。カスタム連絡先プロパティをサポート。
- ブロードキャスト: ブロードキャストキャンペーンの作成、送信、キャンセル、一覧表示、取得、更新、削除。スケジュール、パーソナライゼーションプレースホルダー、プレビューテキストをサポート。
- オートメーション: オートメーションの作成、一覧表示、取得、更新、削除。オートメーションの実行を確認。
- イベント: 連絡先のオートメーションをトリガーするイベントを送信。イベント定義の作成、更新、削除。
- ドメイン: 送信者ドメインの作成、一覧表示、取得、更新、削除、検証。トラッキング、TLS、送受信機能の設定。ドメインクレームの作成と検証。
- セグメント: オーディエンスセグメントの作成、一覧表示、取得、削除。
- 抑制リスト: 抑制リストエントリの一覧表示、取得、追加、削除(個別または一括)。ハードバウンスとスパム苦情は自動的に抑制されます。連絡不要のリクエストに対応するため、アドレスを手動で追加します。
- トピック: 購読トピックの作成、一覧表示、取得、更新、削除。
- 連絡先プロパティ: カスタム連絡先属性の作成、一覧表示、取得、更新、削除。
- API キー: API キーの作成、一覧表示、削除。
- Webhook: イベント通知用の Webhook の作成、一覧表示、取得、更新、削除。
- ログ: 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/ を継続的に再ビルドし、別のディレクトリからビルドされた dist/index.js を別の MCP クライアントに指定します。コード変更を反映するには、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(同じターミナルでエクスポート済みの場合は空白のまま) - Connect をクリックし、「List tools」を使用してサーバーが動作していることを確認。
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でトグルを有効化。 - Connect をクリックし、「List tools」を使用してサーバーが動作していることを確認。