The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Resend MCP Server listing page.
An MCP server for Resend — connect any MCP-compatible client to the Resend transactional email API.
An MCP (Model Context Protocol) server that gives AI assistants and agents full access to Resend's email API — send single or batch emails, manage sending domains, API keys, audiences, and contacts — through natural language.
Use it with Claude Desktop, Cursor, Windsurf, Cline, Continue, or any MCP-compatible client to send emails, manage infrastructure, and build automation around email.
Add to your MCP client config (e.g. claude_desktop_config.json):
Get a free API key at resend.com/api-keys.
Ask your AI assistant things like:
abc-123?"mail.acme.com"domain-xyz"audience-1"| Tool | Description |
|---|---|
send_email | Send a transactional email (HTML or plain text, with Cc/Bcc/Reply-To) |
send_batch_email | Send up to 100 emails in a single API call |
list_emails | List recent sent emails with their delivery status |
get_email | Get details for a specific email by ID |
create_domain | Add a new sending domain |
list_domains | List all sending domains in your account |
verify_domain | Trigger DNS verification for a domain |
delete_domain | Remove a sending domain |
create_api_key | Create a new API key (full, sending, or domain-scoped) |
list_api_keys | List all API keys (tokens are hidden) |
delete_api_key | Delete an API key by ID |
list_audiences | List all audiences in your account |
create_audience | Create a new audience for organizing contacts |
list_contacts | List contacts in an audience |
get_contact | Get details for a specific contact by ID |
create_contact | Add a new contact to an audience |
update_contact | Update a contact's email, name, or subscription status |
delete_contact | Remove a contact from an audience |
"Send a welcome email to every new signup" — automate onboarding flows, receipts, and notifications through natural language. No more switching between email dashboards.
"Add mail.acme.com as a sending domain and verify it" — manage DNS records, DKIM, and SPF through your AI assistant instead of logging into Resend's dashboard.
"Add jane@example.com to my VIP audience" — build and segment contact lists without touching a spreadsheet. Full CRUD on contacts and audiences.
"Send this newsletter to all contacts in audience-1" — batch-send up to 100 emails in one call. Perfect for newsletters, product announcements, or re-engagement campaigns.
"List all my API keys and domains" — audit your Resend setup in seconds. See which keys are active, which domains are verified, and clean up stale resources.
The server auto-retries on 429 with a 2s backoff. Free tier allows 10 req/s. The server caps at ~9 req/s to stay safe. If you hit this frequently, consider upgrading your Resend plan.
Verify your RESEND_API_KEY starts with re_ and is active at resend.com/api-keys. Keys take up to 30 seconds to propagate after creation.
Make sure Node.js 18+ is installed: node --version. If using npx, ensure npm is up to date: npm install -g npm@latest.
Verify the config path is correct. Claude Desktop uses ~/Library/Application Support/Claude/claude_desktop_config.json on macOS and %APPDATA%\Claude\claude_desktop_config.json on Windows. Restart the client after config changes.
Check list_emails for delivery status. Common issues: missing DNS records (run verify_domain), bounce due to invalid address, or domain not yet verified. Resend's dashboard shows detailed webhook events.
RESEND_API_KEY)The server automatically rate-limits requests to ~9 calls/second to stay safely under Resend's free-tier limit of 10 req/s. If you hit a 429 anyway, it waits 2s and retries once.
MIT