Resend MCP Server
Official Resend MCP server. Send and receive emails, manage contacts, broadcasts, templates, domains, audiences, and API keys via the Resend API.
The Resend MCP Server is the official integration that exposes Resend's email platform to MCP clients like Claude Desktop, Cursor, and Claude Code. It lets AI agents send and receive emails, manage contacts and audiences, build and dispatch broadcast campaigns, verify domains, and administer API keys and webhooks, all through natural language.
The server covers most of Resend's REST API surface: transactional and batch email sending with HTML, plain text, attachments (local, URL, or base64), CC/BCC, reply-to, scheduling, and tags; inbound message reading; contact management with custom properties and segment membership; broadcast composition with personalization and scheduled delivery; reusable templates with a visual editor; domain verification with tracking and TLS configuration; and infrastructure tools for API keys and webhooks.
It supports two transports: a default stdio mode that runs locally via npx resend-mcp, and an HTTP mode where clients pass their Resend API key as a Bearer token in the Authorization header. Optional defaults like sender address and reply-to can be preconfigured.
Tools
| Tool | Description |
|---|---|
Emails |
Send, list, get, cancel, update, and batch send emails with HTML/plain text, attachments (file, URL, or base64), CC/BCC, reply-to, scheduling, tags, and topic-based sending. |
Received Emails |
List and read inbound messages and list or download received attachments. |
Contacts |
Create, list, get, update, and remove contacts with custom properties, segment membership, and subscription state. |
Broadcasts |
Create, send, list, get, update, and remove campaign broadcasts with scheduling, personalization placeholders, and preview text. |
Templates |
Create, list, get, update, publish, duplicate, and remove reusable message templates. |
Domains |
Create, list, get, update, remove, and verify sender domains and configure tracking, TLS, and other capabilities. |
Segments |
Create, list, get, and remove audience segments. |
Topics |
Create, list, get, update, and remove subscription topics for opt-in management. |
Contact Properties |
Create, list, get, update, and remove custom contact attributes. |
API Keys |
Create, list, and remove Resend API keys. |
Webhooks |
Create, list, get, update, and remove webhooks for event notifications. |
Prerequisites
- A free Resend account
- A Resend API key from resend.com/api-keys
- A verified sender domain (required for sending to external addresses)
Claude Code (stdio)
claude mcp add resend -e RESEND_API_KEY=re_xxxxxxxxx -- npx -y resend-mcp
Claude Desktop / Cursor
Add to your MCP config (e.g. claude_desktop_config.json or .cursor/mcp.json):
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
HTTP Transport
Start the server:
npx -y resend-mcp --http --port 3000
The endpoint is http://127.0.0.1:3000/mcp. Clients authenticate by passing the Resend API key as a Bearer token in the Authorization header.
Environment Variables
RESEND_API_KEY(required): Your Resend API keySENDER_EMAIL_ADDRESS(optional): DefaultfromaddressREPLY_TO_EMAIL_ADDRESSES(optional): Comma-separated default reply-to addressesMCP_PORT(optional): HTTP port override
CLI Flags
--key: API key (stdio only)--sender: Default sender email--reply-to: Default reply-to address--http: Enable HTTP transport--port: HTTP port (default 3000)
- Send transactional emails (welcome, password reset, receipts) from an agent without writing API calls by hand
- Draft, schedule, and dispatch broadcast campaigns to a Resend audience with personalization placeholders
- Triage inbound emails by listing received messages, reading content, and downloading attachments inside an agent workflow
- Manage contact lists at scale: bulk add contacts to segments, update custom properties, and clean unsubscribed addresses
- Provision and verify new sender domains and rotate API keys or webhook endpoints during infrastructure setup
- "Send a plain-text email from founders@acme.com to the 12 trial users who signed up yesterday thanking them for joining."
- "Create a broadcast for the 'Newsletter' audience with this HTML, schedule it for Tuesday 9am ET, and add a preview text."
- "List all unverified domains in my Resend account and start verification for acme.io."
- "Show me the last 20 inbound emails sent to support@acme.com and summarize the open issues."
- "Add a webhook pointing to https://api.acme.com/resend-events for the email.delivered and email.bounced events."
- Official server maintained by Resend, distributed as the
resend-mcpnpm package - Broad API coverage: emails, broadcasts, templates, contacts, domains, webhooks, and API keys
- Supports both stdio and HTTP transports, with Bearer-token auth for remote use
- Optional defaults (sender, reply-to) reduce repetitive prompting
- Requires a verified domain in Resend before agents can send to external recipients
- Giving an agent an API key with full scope can send real email to real users, so scoped keys and review steps matter
- Inbound email features depend on Resend's inbound product being configured for your domain
- Postmark MCP for transactional email via Postmark
- SendGrid (community MCP implementations exist) for transactional and marketing email
- Gmail MCP server when you want to send from a personal Google account rather than a domain via Resend