Resend MCP server

OfficialResend522Config last verified Jun 1, 2026

Resend's official MCP server lets agents send, schedule, and manage email plus contacts, broadcasts, and domains.

Resend MCP is Resend's official server for sending and managing email from any MCP client. The agent can send a single transactional email or batch send to many recipients, with full support for HTML and plain text, attachments by local path, URL, or base64, CC/BCC, reply-to, scheduling in natural language, and tags. Beyond sending it manages the full Resend surface: inbound received emails and their attachments, contacts and segment and topic memberships, broadcast campaigns, reusable templates with a live visual editor, sender domains, audience segments, subscription topics, custom contact properties, automations, events, logs, API keys, and webhooks.

The canonical setup is stdio over npx (npx -y resend-mcp) with a RESEND_API_KEY environment variable, which is the simplest way to wire it into Claude Desktop, Cursor, or Claude Code. It can also run over HTTP for remote or web-based integrations, in which case each client authenticates by passing its Resend API key as a bearer token in the Authorization header. An optional default sender and reply-to address can be supplied so the agent does not have to ask each time.

Quick install

Copy-paste configs are provided for all 8 supported clients. Pick your client below.

Add to ~/.claude.json

~/.claude.json
json
{
  "mcpServers": {
    "resend": {
      "command": "npx",
      "args": [
        "-y",
        "resend-mcp"
      ],
      "env": {
        "RESEND_API_KEY": "<RESEND_API_KEY>",
        "SENDER_EMAIL_ADDRESS": "<SENDER_EMAIL_ADDRESS>",
        "REPLY_TO_EMAIL_ADDRESSES": "<REPLY_TO_EMAIL_ADDRESSES>"
      }
    }
  }
}
Or via CLI
bash
claude mcp add resend -- npx -y resend-mcp

Available tools

ToolDescription
send-emailSends a single transactional email immediately or scheduled, with HTML/text, attachments, CC/BCC, and tags.
send-batch-emailsSends a batch of emails in a single request.
list-emailsLists sent emails.
get-emailRetrieves a sent email and its delivery status by ID.
update-emailUpdates a scheduled email, such as its send time.
cancel-emailCancels a scheduled email before it sends.
list-sent-email-attachmentsLists the attachments on a sent email.
get-sent-email-attachmentRetrieves a specific attachment from a sent email.
list-received-emailsLists inbound received emails.
get-received-emailRetrieves a received email by ID.
list-received-email-attachmentsLists the attachments on a received email.
get-received-email-attachmentDownloads a specific attachment from a received email.
create-contactCreates a contact in an audience.
list-contactsLists contacts in an audience.
get-contactRetrieves a contact by ID.
update-contactUpdates a contact's details.
remove-contactRemoves a contact from an audience.
add-contact-to-segmentAdds a contact to a segment.
remove-contact-from-segmentRemoves a contact from a segment.
list-contact-segmentsLists the segments a contact belongs to.
list-contact-topicsLists a contact's subscription topics.
update-contact-topicsUpdates a contact's topic subscriptions.
create-broadcastCreates a broadcast campaign.
compose-broadcastComposes broadcast content that renders live in the Resend editor.
send-broadcastSends or schedules a broadcast campaign.
list-broadcastsLists broadcast campaigns.
get-broadcastRetrieves a broadcast by ID.
update-broadcastUpdates a broadcast campaign.
remove-broadcastRemoves a broadcast campaign.
create-templateCreates a reusable email template.
compose-templateComposes template content that renders live in the Resend editor.
list-templatesLists templates.
get-templateRetrieves a template by ID.
update-templateUpdates a template.
publish-templatePublishes a template so it can be used.
duplicate-templateDuplicates an existing template.
remove-templateRemoves a template.
create-domainAdds a sender domain.
list-domainsLists sender domains.
get-domainRetrieves a domain by ID.
update-domainUpdates a domain's tracking, TLS, or sending settings.
verify-domainTriggers verification of a sender domain.
remove-domainRemoves a sender domain.
create-segmentCreates an audience segment.
list-segmentsLists audience segments.
get-segmentRetrieves a segment by ID.
remove-segmentRemoves an audience segment.
create-topicCreates a subscription topic.
list-topicsLists subscription topics.
get-topicRetrieves a topic by ID.
update-topicUpdates a subscription topic.
remove-topicRemoves a subscription topic.
create-contact-propertyCreates a custom contact property.
list-contact-propertiesLists custom contact properties.
get-contact-propertyRetrieves a custom contact property by ID.
update-contact-propertyUpdates a custom contact property.
remove-contact-propertyRemoves a custom contact property.
create-automationCreates an automation workflow.
update-automationUpdates an automation workflow.
get-automationRetrieves an automation by ID.
remove-automationRemoves an automation workflow.
get-automation-runsRetrieves the runs of an automation.
send-eventSends an event that can trigger automations.
manage-eventsManages the events used by automations.
list-logsLists API request logs.
get-logRetrieves a single API request log by ID.
create-api-keyCreates a Resend API key.
list-api-keysLists API keys.
remove-api-keyRemoves an API key.
create-webhookCreates a webhook for event notifications.
list-webhooksLists webhooks.
get-webhookRetrieves a webhook by ID.
update-webhookUpdates a webhook.
remove-webhookRemoves a webhook.
get-tiptap-json-contentRetrieves the editor's structured content for a broadcast or template.
connect-to-editorConnects the agent to the Resend visual editor session.
disconnect-from-editorDisconnects the agent from the Resend visual editor session.

Required configuration

  • RESEND_API_KEYRequired

    Your Resend API key (required for stdio mode; optional in HTTP mode where clients pass it as a bearer token).

  • SENDER_EMAIL_ADDRESSOptional

    Default sender email address from a verified domain. Optional.

  • REPLY_TO_EMAIL_ADDRESSESOptional

    Comma-separated default reply-to email addresses. Optional.

What you can do with it

Send and schedule transactional email

An agent drafts and sends a one-off email, or schedules it with natural language like 'tomorrow at 10am', then checks delivery status with get-email.

Run a broadcast campaign

The agent creates a broadcast, composes it in the visual editor, and sends it to an audience, then manages contacts, segments, and topics around it.

FAQ

Is it free?
The MCP server itself is open source and free to run. You need a Resend account, which has a free tier; sending volume beyond it is billed by Resend.
Does it support remote/OAuth?
The default is local stdio with a RESEND_API_KEY. It can also run over HTTP for remote integrations, where each client passes its Resend API key as a bearer token in the Authorization header. There is no OAuth flow.
How do I install it?
Run npx -y resend-mcp with RESEND_API_KEY set, or use claude mcp add resend -e RESEND_API_KEY=re_xxx -- npx -y resend-mcp for Claude Code.
← Browse all email servers