# Resend MCP Server [Official] [Health: Active]

**Category:** 💬 Communication  
**Repository:** https://github.com/resend/resend-mcp  
**GitHub Stars:** 580  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/resend-mcp

## Description
Resend's official MCP server. Lets AI agents send emails and work with Resend domains, contacts and broadcasts. Use the hosted endpoint or run the resend-mcp npm package yourself.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

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

**Requires environment variables:** `RESEND_API_KEY` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What Resend MCP Server does

Resend MCP Server exposes Resend operations to AI agents through the Model Context Protocol. Its supported workflows include sending and receiving email, working with contacts, managing broadcasts, and managing domains. The hosted deployment is available at `https://mcp.resend.com/mcp`; the same open-source implementation can be launched locally from the `resend-mcp` npm package.

The server is suited to agents that need to act on a Resend account rather than only generate email content. A Resend API key and verified domain are needed for local operation. The hosted service can use OAuth, so clients can complete sign-in and authorization in a browser.

## How it works

Two deployment models are available:

- The remote server uses Streamable HTTP. MCP clients connect to Resend's hosted endpoint and authenticate through OAuth, or send a Resend API key as a Bearer token when browser login is unavailable.
- The local package defaults to stdio and can be started with `npx -y resend-mcp`. It can also run as an HTTP service with the MCP endpoint at `/mcp`.

HTTP mode authenticates each client with a Resend API key in the `Authorization` header. The HTTP implementation can also be embedded in another Node service through its exported `runHttp` function. It provides `/mcp` over POST, GET, and DELETE, along with a `/health` endpoint.

Local HTTP mode applies localhost-only Host validation by default. Deployments behind a reverse proxy or load balancer can set a host or allowed-host list to handle forwarded hostnames.

## Setup and configuration

For the hosted option, add `https://mcp.resend.com/mcp` to an MCP client that supports remote servers, then complete OAuth. The package includes setup examples for Claude Code, Claude, Cursor, Codex, VS Code with GitHub Copilot, Windsurf, Gemini CLI, Devin, and other clients.

For local stdio use, provide `RESEND_API_KEY` and launch the package through `npx`, or add it to the client's MCP configuration. A verified Resend domain is required. The default sender can be set with `--sender`, and one or more default reply-to addresses can be supplied with `--reply-to`.

Start HTTP mode with:

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

The port can instead be set with `MCP_PORT`. HTTP deployments can configure host validation with `MCP_HOST` or `MCP_ALLOWED_HOSTS`. CLI options include `--key` for the API key in stdio mode, `--http`, `--port`, `--host`, and `--allowed-hosts`.

## Tools and capabilities

- Send and receive email through Resend
- Manage Resend contacts
- Create and manage broadcasts
- Manage Resend domains
- Authenticate hosted connections with OAuth
- Authenticate headless and HTTP clients with Bearer API keys
- Run through stdio or Streamable HTTP

## Limitations and notes

The local server requires a Resend API key and a verified domain. In HTTP mode, the API key is supplied per request by the connecting client rather than configured as the server's stdio key. Local file attachments and CSV imports are restricted by allowed directories: stdio is unrestricted when no directory list is set, while HTTP access requires an explicit allowed-directory configuration.

When exposing HTTP mode through a proxy or load balancer, configure host validation appropriately. Setting the host to `0.0.0.0` disables Host validation; an explicit allowed-host list can be used instead. Keep API keys out of shared configuration and pass them through the client's protected environment or authorization settings.

_Full upstream README: https://allmcps.com/mcp/resend-mcp/readme_

