Resend Email

公式

エディタから直接Resend APIを使ってメールを送信します。

Resend Email MCPで何ができますか?

  • Send and manage emails — AIに指示して、HTML、添付ファイル、CC/BCC、カスタムヘッダーを使用したメールの送信、スケジュール設定、一括送信をsendEmailおよび関連ツールで実行します。
  • Manage contacts and audiences — 連絡先の作成、更新、インポート、削除、およびセグメントメンバーシップとトピック購読の管理を行います。
  • Create and send broadcast campaigns — パーソナライズプレースホルダーとプレビューテキストを使用したブロードキャストメールの作成、スケジュール設定、送信を行います。
  • Verify and configure domains — 送信元ドメインの追加、検証、更新を行い、トラッキング、TLS、受信設定を構成します。
  • Inspect API logs and webhooks — 完全なリクエスト/レスポンス本文を含むAPIリクエストログを取得して調査し、Webhookエンドポイントを管理します。
  • Collaborate on templates and broadcasts — Resendビジュアルエディターに接続して、テンプレートとブロードキャストの下書きコンテンツを読み取り、反復的に改善します。

ドキュメント

Resend MCP サーバー

smithery badge npm version

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 経由で実行する代わりに別のサービスに埋め込むことができます。接続する各クライアントは、Bearer トークンとして渡された独自の Resend API キーで認証します。

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 キーによって保護されている場合は、host0.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 キー(HTTP モードではクライアントからの Bearer トークンを使用するため、stdio モードのみ)
  • --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 ダッシュボードのビジュアルエディターへの接続(および切断)、ブロードキャストやテンプレートの共同作業中のドラフトコンテンツの読み取り。

ローカル開発

  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(プロセスを起動)を選択します。
    • Command: node
    • Args: dist/index.js(または dist/index.js へのフルパス)
    • Env: RESEND_API_KEY=re_your_key_here(同じターミナルで既にエクスポートしている場合は空白のままにします)。
    • Connect をクリックし、「List tools」を使用してサーバーが動作していることを確認します。

HTTP トランスポートの使用

  1. 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 トグルを有効にします。
    • Connect をクリックし、「List tools」を使用してサーバーが動作していることを確認します。