电子邮件发送 MCP logo

电子邮件发送 MCP

Organization
resend

The official MCP server to send emails and interact with Resend

Publisherresend
Repositoryresend-mcp
LanguageTypeScript
Forks
77
Stars
512
Available tools
0
Transport typestdio
Categories
LicenseMIT
Links
  • Connect tools to AI workflows

    电子邮件发送 MCP exposes MCP capabilities that can be used by compatible AI clients and agents.

  • 0 available tools

    Browse the callable actions below, including names and descriptions when provided by the server.

  • Ready-to-copy setup

    Use the installation snippets to configure this server in your preferred MCP client.

  • Open source signals

    512 stars and 77 forks from the linked repository.

Resend MCP Server

smithery badge npm version

An MCP server for the Resend platform. Send and receive emails, manage contacts, broadcasts, domains, and more — directly from any MCP client like Claude Desktop, Cursor, or Claude Code.

Features

  • Emails — Send, list, get, cancel, update, and batch send emails. Supports HTML, plain text, attachments (local file, URL, or base64), CC/BCC, reply-to, scheduling, tags, and topic-based sending.
  • Received Emails — List and read inbound emails. List and download received email attachments.
  • Contacts — Create, list, get, update, and remove contacts. Manage segment memberships and topic subscriptions. Supports custom contact properties.
  • Broadcasts — Create, send, list, get, update, and remove broadcast campaigns. Supports scheduling, personalization placeholders, and preview text.
  • Templates — Create, list, get, update, publish, duplicate, and remove reusable email templates.
  • Visual Editor — Compose broadcast and template content that renders live in the Resend dashboard. Agents appear as a named avatar in the editor while working.
  • Domains — Create, list, get, update, remove, and verify sender domains. Configure tracking, TLS, and sending/receiving capabilities.
  • Segments — Create, list, get, and remove audience segments.
  • Topics — Create, list, get, update, and remove subscription topics.
  • Contact Properties — Create, list, get, update, and remove custom contact attributes.
  • API Keys — Create, list, and remove API keys.
  • Webhooks — Create, list, get, update, and remove webhooks for event notifications.

Setup

Create a free Resend account and create an API key. To send to addresses outside of your own, you'll need to verify your domain.

Usage

The server supports two transport modes: stdio (default) and HTTP.

Stdio Transport (Default)

Quick Setup

Install for all detected/selected agents and editors:

bash
npx add-mcp resend-mcp --name resend --env "RESEND_API_KEY=re_xxxxxxxxx"

Claude Code

bash
claude mcp add resend -e RESEND_API_KEY=re_xxxxxxxxx -- npx -y resend-mcp

Cursor

Open the command palette and choose "Cursor Settings" > "MCP" > "Add new global MCP server".

json
{
  "mcpServers": {
    "resend": {
      "command": "npx",
      "args": ["-y", "resend-mcp"],
      "env": {
        "RESEND_API_KEY": "re_xxxxxxxxx"
      }
    }
  }
}

Claude Desktop

Open Claude Desktop settings > "Developer" tab > "Edit Config".

json
{
  "mcpServers": {
    "resend": {
      "command": "npx",
      "args": ["-y", "resend-mcp"],
      "env": {
        "RESEND_API_KEY": "re_xxxxxxxxx"
      }
    }
  }
}

HTTP Transport

Run the server over HTTP for remote or web-based integrations. In HTTP mode, each client authenticates by passing their Resend API key as a Bearer token in the Authorization header.

Start the server:

bash
npx -y resend-mcp --http --port 3000

The server will listen on http://127.0.0.1:3000 and expose the MCP endpoint at /mcp using Streamable HTTP.

Claude Code

bash
claude mcp add resend --transport http http://127.0.0.1:3000/mcp --header "Authorization: Bearer re_xxxxxxxxx"

Cursor

Open the command palette and choose "Cursor Settings" > "MCP" > "Add new global MCP server".

json
{
  "mcpServers": {
    "resend": {
      "url": "http://127.0.0.1:3000/mcp",
      "headers": {
        "Authorization": "Bearer re_xxxxxxxxx"
      }
    }
  }
}

You can also set the port via the MCP_PORT environment variable:

bash
MCP_PORT=3000 npx -y resend-mcp --http

Options

You can pass additional arguments to configure the server:

  • --key: Your Resend API key (stdio mode only; HTTP mode uses the Bearer token from the client)
  • --sender: Default sender email address from a verified domain
  • --reply-to: Default reply-to email address (can be specified multiple times)
  • --http: Use HTTP transport instead of stdio (default: stdio)
  • --port: HTTP port when using --http (default: 3000, or MCP_PORT env var)

Environment variables:

  • RESEND_API_KEY: Your Resend API key (required for stdio, optional for HTTP since clients pass it via Bearer token)
  • SENDER_EMAIL_ADDRESS: Default sender email address from a verified domain (optional)
  • REPLY_TO_EMAIL_ADDRESSES: Comma-separated reply-to email addresses (optional)
  • MCP_PORT: HTTP port when using --http (optional)

[!NOTE] If you don't provide a sender email address, the MCP server will ask you to provide one each time you call the tool.

Local Development

  1. Clone this project and build:
git clone https://github.com/resend/resend-mcp.git
pnpm install
pnpm run build
  1. To use the local build, replace the npx command with the path to your local build:

Claude Code (stdio):

bash
claude mcp add resend -e RESEND_API_KEY=re_xxxxxxxxx -- node ABSOLUTE_PATH_TO_PROJECT/dist/index.js

Claude Code (HTTP):

bash
claude mcp add resend --transport http http://127.0.0.1:3000/mcp --header "Authorization: Bearer re_xxxxxxxxx"

Cursor / Claude Desktop (stdio):

json
{
  "mcpServers": {
    "resend": {
      "command": "node",
      "args": ["ABSOLUTE_PATH_TO_PROJECT/dist/index.js"],
      "env": {
        "RESEND_API_KEY": "re_xxxxxxxxx"
      }
    }
  }
}

Cursor (HTTP):

json
{
  "mcpServers": {
    "resend": {
      "url": "http://127.0.0.1:3000/mcp",
      "headers": {
        "Authorization": "Bearer re_xxxxxxxxx"
      }
    }
  }
}

Live Testing with an MCP Client

When developing, you can test changes in a real MCP client session while editing code in another.

The idea: run tsc --watch to continuously rebuild dist/, and point a separate MCP client at the built dist/index.js from a different directory. When you want to pick up code changes, restart the MCP client session (MCP servers are long-lived stdio processes that don't hot-reload).

Example with Claude Code:

  1. Run the TypeScript watcher to auto-rebuild on save:

    bash
    pnpm tsc --watch
  2. In a separate directory, create a .mcp.json pointing at the build output:

    bash
    mkdir -p /tmp/mcp-test
    json
    // /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. Start Claude Code from that directory and use the MCP tools. After making code changes, start a new Claude Code session to pick up the new build.

The same principle applies to any MCP client — separate your test environment from your dev environment, use an absolute path to dist/index.js, and reconnect the MCP server after rebuilding.

Testing with MCP Inspector

Note: Make sure you've built the project first (see Local Development section above).

Using Stdio Transport

  1. Set your API key:

    bash
    export RESEND_API_KEY=re_your_key_here
  2. Start the inspector:

    bash
    pnpm inspector
  3. In the browser (Inspector UI):

    • Choose stdio (launch a process).
    • Command: node
    • Args: dist/index.js (or the full path to dist/index.js)
    • Env: RESEND_API_KEY=re_your_key_here (or leave blank if you already exported it in the same terminal).
    • Click Connect, then use "List tools" to verify the server is working.

Using HTTP Transport

  1. Start the HTTP server in one terminal:

    bash
    node dist/index.js --http --port 3000
  2. Start the inspector in another terminal:

    bash
    pnpm inspector
  3. In the browser (Inspector UI):

    • Choose Streamable HTTP (connect to URL).
    • URL: http://127.0.0.1:3000/mcp
    • Add a custom header: Authorization: Bearer re_your_key_here and activate the toggle.
    • Click Connect, then use "List tools" to verify the server is working.

Installation

TypingMind
Prerequisites:

Node.js 18+

{
  "mcpServers": {
    "resend-resend-mcp": {
      "command": "",
      "args": []
    }
  }
}

Use 电子邮件发送 MCP MCP with multiple AI models

TypingMind connects MCP tools at the workspace level, so once 电子邮件发送 MCP is connected, you can use it with different AI models in TypingMind instead of setting it up separately for each model. This MCP runs locally through the TypingMind MCP connector on your device.

Setup guide to use the local connector

Use this when the MCP server needs access to local files, apps, or private resources on your computer.

1

Open the MCP settings

In TypingMind, go to Settings, Advanced Settings, then Model Context Protocol and choose Setup Connector.

  1. Open TypingMind in your browser.
  2. Click the Settings icon.
  3. Go to Advanced Settings.
  4. Open the Model Context Protocol section.
  5. Click Setup Connector and choose This Device.
TypingMind MCP connector setup screen with This Device selected
2

Run the connector command

Choose This Device, copy the command from TypingMind, and run it in Terminal. Keep the process running while you use MCP.

  1. Copy the setup command shown by TypingMind.
  2. Open Terminal on macOS or Windows Terminal on Windows.
  3. Paste and run the command.
  4. Approve the package install if Terminal asks you to proceed.
  5. Keep the Terminal window running while using MCP tools.
3

Add 电子邮件发送 MCP as a server

When the connector status is Ready, click Edit Servers and paste the MCP server configuration.

  1. Wait until the connector status shows Ready.
  2. Click Edit Servers.
  3. Paste the 电子邮件发送 MCP MCP server configuration.
  4. Save the server list.
  5. Refresh if you want to confirm the connector is still ready.
TypingMind MCP settings showing active server and Edit Servers button
{
  "mcpServers": {
    "resend-resend-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "resend-mcp"
      ]
    }
  }
}
4

Use it across models

Save the server list, open Plugins, enable the 电子邮件发送 MCP MCP tools, then select any supported AI model in TypingMind and use the tools in chat or assign them to an AI agent.

  1. Open the Plugins page in TypingMind.
  2. Enable the 电子邮件发送 MCP MCP tools.
  3. Start a chat and choose the AI model you want to use.
  4. Use the MCP tools in chat or assign them to an AI agent.
  5. Switch to another AI model whenever needed without reconnecting MCP.
TypingMind chat using enabled MCP tools with a selected AI model
Can you use 电子邮件发送 MCP to help me with this task?
电子邮件发送 MCP
Sure. I read it.
Here is what I found using 电子邮件发送 MCP.

Frequently asked questions

What is the 电子邮件发送 MCP MCP server used for?

电子邮件发送 MCP is an MCP server that lets compatible AI clients connect to external tools and context. In TypingMind, you can add this MCP server once and make its tools available in your AI workspace.

Can I use 电子邮件发送 MCP MCP with multiple AI models in TypingMind?

Yes. TypingMind connects MCP tools at the workspace level, so you can use 电子邮件发送 MCP with different AI models such as Claude, ChatGPT, Gemini, or other models you have configured in TypingMind without setting up the MCP server separately for each model.

Why use 电子邮件发送 MCP MCP with TypingMind?

TypingMind is one of the best frontends for LLM chat because it brings multiple AI models, prompts, plugins, AI agents, API keys, and MCP tools into one workspace. With 电子邮件发送 MCP connected, you can use its MCP tools across your preferred models while keeping your chat workflow organized in TypingMind.

How do I connect 电子邮件发送 MCP MCP to TypingMind?

电子邮件发送 MCP runs through the TypingMind local MCP connector. This is best when the MCP server needs access to local files, desktop apps, command-line tools, or private resources on your computer.

What tools does 电子邮件发送 MCP MCP provide in TypingMind?

电子邮件发送 MCP exposes MCP capabilities that can be enabled from the TypingMind Plugins page and used in chat or assigned to AI agents.

Do I need to share my API keys with TypingMind to use 电子邮件发送 MCP MCP?

No. TypingMind is local-first and lets you keep your model providers, API keys, prompts, and MCP configuration under your control. If 电子邮件发送 MCP requires authentication, add the required headers, OAuth settings, or local configuration for that MCP server when you create the connection.

Related MCP Servers

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇