# Resend MCP

> Resend connects your AI client directly to a world-class email infrastructure for sending transactional emails. You send high-fidelity messages, verify domain health, and manage contact audiences—all without leaving your chat window. Stop opening separate dashboards; run full email operations from natural conversation.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** transactional-email, email-api, domain-verification, smtp, email-delivery, developer-experience

## Description

This server hooks your AI client up to Resend's email infrastructure, letting you run full sending operations right from your chat window. You don't have to jump between dashboards or open separate web pages just to manage emails. It handles everything: sending messages, checking domain health, and keeping track of who’s on your list.

### Sending Emails

When you need to send an email, you use the `send_email` tool. You provide a recipient's address, the subject line, and either plain text or custom HTML content for the body. This sends one single message from a specified 'from' address. If you're checking out your sending record later, the `list_sent_emails` tool pulls back a paginated list of everything that went out, including who got it and what the delivery status codes were.

### Managing Domains and Deliverability

Making sure your emails actually land in the inbox requires keeping an eye on domain health. You can run `verify_domain` to check a specific domain's current deliverability setup. To get more context, the `get_domain_details` tool pulls detailed status information for one domain name. If you need to see all the domains connected to your Resend account for management checks, `list_domains` gives you that list of every registered domain.

### Handling Contacts and Audiences

Keeping your contact lists clean is half the battle. You can use `create_audience` when you build a brand new group of contacts—you just give it a name. If you need to see what audiences you already run, `list_audiences` gives you that complete overview. Once you have an audience list, you can pull every single individual contact inside it using the `list_contacts` tool. For auditing purposes, you'll also find the `list_api_keys` tool lets you display all active API keys linked to your Resend account so you can review them for security.

When you need to add people to a list, the `add_contact_to_audience` tool takes a specified contact and places them into an existing audience group. To check specific details about any email address, use `get_email_details`; if you just want to know more about one domain name without running a full verification, `get_domain_details` handles that.

### What You Get Out of It

You can manage your entire mailing list structure—creating audiences and adding contacts—and simultaneously send high-fidelity emails using custom HTML or plain text. You're not just sending messages; you're running full email operations without leaving the chat window. You verify domain health, check the delivery status of recent sends by listing sent emails, and audit your contact list size by pulling records from any given audience group. This gives you total control over transactional email right where you work.

It’s built for speed. It lets you perform these complex tasks—sending messages, checking domain validity, managing contacts, and reviewing history—all through simple conversation with your AI client.

## Tools

### create_audience
Builds and names a brand new contact audience group.

### add_contact_to_audience
Adds a specified contact to an existing audience list.

### get_domain_details
Retrieves detailed status information for one specific domain name.

### get_email_details
Gets specific details about a particular email address.

### list_api_keys
Displays all active API keys associated with your Resend account for security review.

### list_audiences
Shows a complete list of all contact audiences you currently maintain.

### list_contacts
Pulls and lists every individual contact contained within a specific audience group.

### list_domains
Lists all registered domains connected to your Resend account for management checks.

### list_sent_emails
Retrieves a paginated list of recently sent emails, including recipients and status codes.

### send_email
Sends one single email message to a recipient using provided 'from,' 'to,' and subject details.

### verify_domain
Runs a check against a domain name to confirm its current deliverability status.

## Prompt Examples

**Prompt:** 
```
Send a welcome email to test@example.com using HTML.
```

**Response:** 
```
Processing email delivery... Your welcome message has been successfully accepted by Resend for delivery. Should I track the status for you?
```

**Prompt:** 
```
Show me the delivery analytics for all emails sent through Resend this week.
```

**Response:** 
```
Email analytics this week. Total sent: 4,567. Delivered: 4,489 (98.3%). Opened: 2,890 (64.4% open rate). Clicked: 1,234 (27.5% click rate). Bounced: 56 (1.2%). Complained: 12 (0.26%). Top performing: "Welcome Email" at 78% open rate. Lowest performer: "Newsletter #42" at 34% open. By domain: gmail.com 42%, outlook.com 23%, corporate domains 35%. Peak send time: Tuesday 10 AM. Average delivery time: 1.2 seconds.
```

**Prompt:** 
```
Send a transactional email with the invoice PDF attachment to client@meridian.io.
```

**Response:** 
```
Email sent successfully via Resend. To: client@meridian.io. From: billing@yourcompany.com. Subject: "Invoice #INV-2025-156 - May 2025". Attachment: invoice_2025_156.pdf (234 KB). Message ID: msg_7f2a9b. Delivery confirmed in 0.9 seconds. The email used your verified domain with DKIM and SPF authentication. Open tracking and click tracking enabled. A webhook will fire when the recipient opens the email.
```

## Capabilities

### Send Transactional Emails
Dispatches single emails using custom HTML or plain text content while tracking delivery details.

### Verify Domain Health
Checks and triggers verification processes for a specific domain to ensure proper email deliverability settings are in place.

### Manage Contact Audiences
Creates new contact groups (audiences) or adds single contacts to existing lists using simple prompts.

### List and Inspect Contacts
Retrieves full lists of contacts within a given audience, allowing you to audit your mailing list size.

### Review Sending History
Pulls detailed records of all emails sent through the system, including metadata and delivery status.

## Use Cases

### Need to send an urgent test email after a domain change.
A DevOps engineer runs `verify_domain` first. The response confirms the DNS records are fixed. Immediately, they use `send_email` to send a test message to themselves. This verifies both the domain status and the active sending path in two continuous steps.

### A campaign requires segmenting contacts based on new data.
The Marketing Ops specialist first calls `list_contacts` for an existing audience, reviewing names. They then use `create_audience` to define a 'High Priority' group and call `add_contact_to_audience` repeatedly to move key users into the new segment.

### A founder needs proof of recent customer onboarding emails.
The founder asks their agent for delivery records. The agent uses `list_sent_emails`, providing a concise log summary. This instantly gives them audit-level proof that the welcome sequence was executed successfully.

### Auditing list size before a major outreach effort.
Before running an expensive campaign, the team calls `list_audiences` to see all groups. They then select one and use `list_contacts` to confirm the exact count of valid recipients, preventing accidental over-sending.

## Benefits

- Domain health checks are instant. Instead of navigating to a separate 'Domains' section, you run `verify_domain` and get real-time status updates right in the chat flow.
- Audience management gets simple. You can use `list_audiences` to see what groups exist, then call `create_audience`, all without leaving your current workflow context.
- Send emails with confidence. The `send_email` tool handles transactional delivery and uses your verified domain, ensuring high deliverability tracking in the response.
- Full visibility into list health. Use `list_contacts` to audit any audience, or use `add_contact_to_audience` to clean up data on the fly when you find a stray email address.
- Never lose history again. The `list_sent_emails` tool provides direct access to your sending logs, letting you track message IDs and delivery failures immediately.

## How It Works

The bottom line is: you manage complex, mission-critical email infrastructure through simple chat prompts.

1. Subscribe to this server on Vinkius Marketplace.
2. Input your Resend API Key (re_xxxxxxxxx) into the server settings.
3. Start a conversation with your AI client and issue commands like 'Send a welcome email to user@domain.com' or 'List all managed domains'.

## Frequently Asked Questions

**How do I check if my domain is ready to send emails with Resend MCP Server?**
Run the `verify_domain` tool and provide your domain name. The response tells you exactly what needs fixing—like missing SPF or DKIM records—before you should use `send_email`.

**What is the difference between using `list_audiences` and `list_contacts`?**
`list_audiences` gives you a list of your defined groups (e.g., 'VIP Clients,' 'Newsletter Sub'). You must then use `list_contacts` on a specific audience to see who is actually inside that group.

**How do I add people to my mailing list using Resend MCP Server?**
First, make sure the audience exists by calling `create_audience`. Then, use `add_contact_to_audience` and provide the email address and the correct group name.

**Can I see a list of all emails I sent using the Resend MCP Server?**
Yes. Use the `list_sent_emails` tool. It retrieves logs, letting you track message IDs and confirmation status for past sends.

**How do I check my API credentials and keys using the `list_api_keys` tool?**
The `list_api_keys` tool shows you all active API keys linked to your Resend account. This is critical for security audits; it lets you review, copy, or revoke specific keys without navigating the main dashboard.

**If I use `get_email_details`, what kind of message data can I retrieve?**
You get deep status information on a single email. This includes its current delivery state, whether it bounced and why, and confirmation details like the Message ID for tracking purposes.

**What is the purpose of running `list_domains` in the Resend MCP Server?**
`list_domains` gives you a complete inventory of every domain registered with your account. This helps verify which domains are available to send from, allowing for quick cross-checking before deployment.

**What happens if I use the `send_email` tool and include an attachment or miss required fields?**
The server validates your request first. If you omit a necessary field—like 'to' or 'subject'—or provide bad data, it returns a specific error code telling you exactly what needs fixing.

**Can my AI automatically find the details for a specific email just by providing its ID?**
Yes! Use the `get_email` tool with the Email ID. Your agent will respond with complete metadata, including delivery status, timestamps, and recipient info in seconds.

**How do I find my Resend API Key?**
Log in to your Resend dashboard, navigate to the **API Keys** section, and generate a new key (it will start with `re_`). Copy and save it securely.