An MCP server for the Resend platform. Send and receive emails, manage contacts, broadcasts, domains, and more — directly from any MCP client like Claude Desktop, Cursor, or Claude Code.
- Emails — Send, list, get, cancel, update, and batch send emails. Supports HTML, plain text, attachments (local file, URL, or base64), CC/BCC, reply-to, scheduling, tags, and topic-based sending.
- Received Emails — List and read inbound emails. List and download received email attachments.
- Contacts — Create, list, get, update, and remove contacts. Manage segment memberships and topic subscriptions. Supports custom contact properties.
- Broadcasts — Create, send, list, get, update, and remove broadcast campaigns. Supports scheduling, personalization placeholders, and preview text.
- Domains — Create, list, get, update, remove, and verify sender domains. Configure tracking, TLS, and sending/receiving capabilities.
- Segments — Create, list, get, and remove audience segments.
- Topics — Create, list, get, update, and remove subscription topics.
- Contact Properties — Create, list, get, update, and remove custom contact attributes.
- API Keys — Create, list, and remove API keys.
- Webhooks — Create, list, get, update, and remove webhooks for event notifications.
Create a free Resend account and create an API key. To send to addresses outside of your own, you'll need to verify your domain.
claude mcp add resend -e RESEND_API_KEY=re_xxxxxxxxx -- npx -y resend-mcpOpen the command palette and choose "Cursor Settings" > "MCP" > "Add new global MCP server".
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}Open Claude Desktop settings > "Developer" tab > "Edit Config".
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}You can pass additional arguments to configure the server:
--key: Your Resend API key (alternative toRESEND_API_KEYenv var)--sender: Default sender email address from a verified domain--reply-to: Default reply-to email address (can be specified multiple times)
Environment variables:
RESEND_API_KEY: Your Resend API key (required)SENDER_EMAIL_ADDRESS: Default sender email address from a verified domain (optional)REPLY_TO_EMAIL_ADDRESSES: Comma-separated reply-to email addresses (optional)
Note
If you don't provide a sender email address, the MCP server will ask for one each time you send an email.
- Clone and build:
git clone https://github.com/resend/resend-mcp.git
cd resend-mcp
pnpm install
pnpm run build- Use the local build in your MCP client:
{
"mcpServers": {
"resend": {
"command": "node",
"args": ["ABSOLUTE_PATH_TO_PROJECT/dist/index.js"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}Note: Make sure you've built the project first (see Local Development section above).
-
Set your API key:
export RESEND_API_KEY=re_your_key_here -
Start the inspector:
pnpm inspector
-
In the browser (Inspector UI):
- Choose stdio (launch a process).
- Command:
node - Args:
dist/index.js(or the full path todist/index.js) - Env:
RESEND_API_KEY=re_your_key_here(or leave blank if you already exported it in the same terminal). - Click Connect, then use "List tools" to verify the server is working.