Email

Resend MCP Server

Connect your account, then chat with AI to run tools.

Resend is a modern transactional email API for developers. Send transactional emails, track delivery status, manage verified domains, and monitor email analytics. Built for scalability with simple pricing and excellent deliverability rates. Perfect for sending welcome emails, password resets, notifications, invoices, and automated email campaigns.

Managed
37 tools
Agent guide included

Opens MCPBundles Studio with this server selected. After sign-in, chat and run tools from the same thread.

Browse all tools

AI Skill
SKILL.md

Domain knowledge for Resend — workflow patterns, data models, and gotchas for your AI agent.

Resend

Resend is a transactional email API. Domains must be verified before sending. Segments and broadcasts support marketing use cases. Templates provide reusable email layouts. Webhooks deliver real-time delivery notifications.

MCPBundles ops workflows

Broadcast post-send check
  1. resend_get_broadcasts — list or pass broadcast_id for schedule/status (not open/click rates).
  2. growth/resend/scripts/pull_emails.py (or make growth-source-resend-refresh) — per-recipient last_event aggregates by subject.
  3. Postgres users.email_marketing_opt_out_date since send time — unsub count (webhooks + reconcile may lag).

For campaign sizing before send: resend_get_contacts with segment_id and summary_only=true.

Tool naming

Read tools use Pattern A: resend_get_* with optional resource id (omit id to list). Delete tools are resend_delete_* with plain UUID params. Discover slugs: mcpbundles tools --server resend.

Data Model

  • Domains — must pass DNS verification before they may appear in from addresses.
  • Emails — outbound message history; use resend_get_emails (pass email_id or omit to list).
  • Segments / Audiences — contacts live on global segments (newsletter) or legacy audiences.
  • Contactsresend_get_contacts with segment_id or audience_id; summary_only=true for targetable counts.
  • Broadcasts — bulk sends; resend_get_broadcasts, resend_upsert_broadcast, resend_send_broadcast.
  • Templates — reusable HTML layouts; must be published before use in Automations.
  • Automations — event-triggered drip workflows (resend_upsert_automation, resend_get_automations, resend_send_event). Use {{{RESEND_UNSUBSCRIBE_URL}}} in template HTML.
  • Events — custom trigger names (resend_create_event, resend_send_event).
  • Webhooks — HTTPS endpoints for sent, delivered, bounced, opened, clicked events.

Gotchas

  • From domain must be verified: Sending from @yourdomain.com requires that domain to be verified in Resend.
  • Throughput: Marketing and transactional bursts should be paced — queue large mail jobs instead of firing blindly.
  • Broadcast metrics: Open/click/bounce rates come from resend_get_emails (list) or growth pull scripts — not from broadcast GET alone.
  • Template publishing: Templates start as drafts and must be published before they can be used in emails.
  • Webhook verification: Webhook requests include a signing secret returned at creation — use it to verify request authenticity.

Tools in this Server (37)

Resend Cancel Email

Cancel a scheduled email before it's sent. Only works on emails with scheduled_at in the future.

Resend Create Api Key

Create a new API key. Returns the token once — it cannot be retrieved later. Optionally restrict to sending-only access or a specific domain.

Resend Create Audience

Create a new audience (mailing list). Audiences group contacts for broadcast campaigns. Use resend_upsert_contact to add contacts afterwards.

Resend Create Contact Property

Create a custom contact property definition (account-wide). Properties can be set on contacts and used in broadcast templates as {{{property_key}}}. K...

Resend Create Event

Create a custom Resend event definition for automation triggers. Event names cannot start with the reserved resend: prefix.

Resend Create Template

Create a reusable email template with HTML content and optional defaults for subject and sender. Templates must be published before use.

Resend Create Webhook

Create a webhook to receive real-time notifications for email events. Returns a signing secret for request verification.

Resend Delete Api Key

Revoke an API key. The token stops working immediately and cannot be recovered.

Resend Delete Audience

Delete a legacy audience and its contacts. Prefer segments for newsletter sync; do not delete production segments.

Resend Delete Broadcast

Delete a draft or scheduled broadcast. Sent broadcasts are immutable and cannot be deleted.

Resend Delete Contact

Delete a contact. For legacy audiences pass audience_id. For global/segment contacts omit audience_id (uses DELETE /contacts/{contact_id}).

Resend Delete Domain

Delete a sending domain from Resend. Sending from that domain will fail until re-added and verified.

Resend Delete Template

Delete an email template.

Resend Delete Webhook

Delete a webhook endpoint. Resend stops delivering events to that URL.

Resend Get Api Keys

Get API keys. Pass api_key_id for one row; omit to list key names and IDs (never the secret token).

Resend Get Audiences

Get legacy audiences (mailing lists). Pass audience_id for one list; omit to paginate all. Prefer newsletter segments for MCPBundles broadcasts. Audie...

Resend Get Automations

Get Resend Automations. Pass automation_id for the full step graph; omit to list automations (optional status filter).

Resend Get Broadcasts

Get broadcast campaigns. Pass broadcast_id for draft/scheduled/sent content and metadata. Omit broadcast_id to list status and send times. For open/cl...

Resend Get Contact Properties

Get all custom contact property definitions (key, type, fallback value).

Resend Get Contacts

Get contacts in a segment or legacy audience. Pass contact_id with segment_id or audience_id for one row. Omit contact_id to list one page, or set sum...

Resend Get Domains

Get sending domains. Pass domain_id for verification status and DNS records. Omit domain_id to list all domains. Only verified domains may appear in f...

Resend Get Emails

Get sent emails from Resend. Pass email_id for one message (subject, recipients, last_event, timestamps). Omit email_id to list with cursor pagination...

Resend Get Templates

Get email templates. Pass template_id for full HTML and publish status; omit to list templates.

Resend Get Webhooks

Get configured webhooks. Pass webhook_id for one endpoint; omit to list all.

Resend Publish Template

Publish an email template. Only published templates can be used in Resend Automations and transactional sends that reference a template id.

Resend Send Batch

Send up to 100 emails in one batch. Each email can have different recipients, subject, and content. Each is independent — one failure doesn't block ot...

Resend Send Broadcast

Send or schedule a broadcast to its audience. Once sent, the broadcast becomes immutable.

Resend Send Email

Send transactional email via Resend. Supports HTML/text, CC/BCC, custom headers, attachments, tags, and scheduled delivery. For bulk personalized send...

Resend Send Event

Send a custom event to trigger enabled Resend Automations for a contact. Provide email or contact_id. Used after verify to start onboarding drips.

Resend Update Email

Reschedule a previously scheduled email. Only works on emails that haven't been sent yet.

Resend Update Template

Update an existing template's name, HTML, subject, sender, or text.

Resend Update Webhook

Update a webhook's endpoint URL, event subscriptions, or enable/disable status.

Resend Upsert Automation

Create or update a Resend Automation (trigger, delays, send_email steps). Include {{{RESEND_UNSUBSCRIBE_URL}}} in published templates used by send_ema...

Resend Upsert Broadcast

Create or update a broadcast campaign. Broadcasts send to entire audiences with personalization variables. After creating, use resend_send_broadcast t...

Resend Upsert Contact

Create or update a Resend contact. Prefer segment_ids for global contacts (newsletter segments). Legacy audience_id still supported. Provide id to upd...

Resend Upsert Domain

Create a new domain or update domain settings. Creating returns DNS records to configure. Updating modifies tracking or TLS. After adding DNS records,...

Resend Verify Domain

Trigger domain verification to check DNS records. Use after adding SPF, DKIM, and other records from domain creation.

Frequently Asked Questions

What is the Resend MCP server?

Resend is a modern transactional email API for developers. Send transactional emails, track delivery status, manage verified domains, and monitor email analytics. Built for scalability with simple pricing and excellent deliverability rates. Perfect for sending welcome emails, password resets, notifications, invoices, and automated email campaigns. It provides 37 tools that AI agents can use through the Model Context Protocol (MCP).

How do I connect Resend to my AI agent?

Add the MCPBundles server URL to your MCP client configuration (Claude Desktop, Cursor, VS Code, etc.). The URL format is: https://mcp.mcpbundles.com/bundle/resend. Authentication is handled automatically.

How many tools does Resend provide?

Resend provides 37 tools that can be called by AI agents, along with a SKILL.md that gives your AI agent domain knowledge about when and how to use them.

What authentication does Resend require?

Resend uses API Key. Resend requires credentials. Connect via MCPBundles and authentication is handled automatically.

Setup Instructions

Connect Resend to any MCP client in minutes

MCP URL
https://mcp.mcpbundles.com/bundle/resend

One-click install:

The link prefills the Add custom connector dialog — you still review the values and click Add, then Connect to complete OAuth.

Or add manually

  1. Open claude.ai → Settings → Connectors.
  2. Click the + button and choose Add custom connector.
  3. Set Name to Resend and paste the MCP URL into Remote MCP server URL.
  4. Click Add. Resend will appear under Not connected — select it and click Connect to complete OAuth.
Name: Resend
Remote MCP server URL: https://mcp.mcpbundles.com/bundle/resend
Authentication: OAuth

Custom connectors at claude.ai require a paid Claude plan (Pro, Max, Team, or Enterprise).

Ready to use Resend?

Sign in to connect your credentials and start running tools from the chat.

Resend MCP Server & Skill — 37 Tools