Email sending MCP ๐
This is a simple MCP server that sends emails using Resend's API. Why? Now you can let Cursor or Claude Desktop compose emails for you and send it right away without having to copy and paste the email content.
As an example, you could use this to run local scripts, chat with Claude, or process data and send the results to yourself or your team.
Built with:
Features
- Emails โ Send, list, get, cancel, update, and send batch emails. Supports plain text, HTML, attachments, CC/BCC, reply-to, scheduling, and tags. Manage sent and received email attachments.
- Contacts โ Create, list, get, update, and remove contacts. Manage contact segment memberships and topic subscriptions.
- Broadcasts โ Create, send, list, get, update, and remove broadcast emails to audiences.
- Domains โ Create, list, get, update, remove, and verify sender domains.
- API Keys โ Create, list, and remove API keys.
- Segments โ Create, list, get, and remove audience segments.
- Topics โ Create, list, get, update, and remove topics.
- Contact Properties โ Create, list, get, update, and remove custom contact properties.
- Webhooks โ Create, list, get, update, and remove webhooks.
Demo
https://github.com/user-attachments/assets/8c05cbf0-1664-4b3b-afb1-663b46af3464
Setup
Currently, you must build the project locally to use this MCP server. Then add the server in Cursor or Claude Desktop to use it in any Cursor or Claude Desktop chat.
- Clone this project locally.
git clone https://github.com/resend/resend-mcp.git
- Build the project
pnpm install
pnpm run build
- Setup Resend
Create a free Resend account and Create an API Key. To send to other addresses, you'll also need to verify your own domain.
[!NOTE]For more info on how to send emails with Resend, see the docs.
Cursor
- Open Cursor Settings.
Open the command palette (cmd+shift+p on macOS or ctrl+shift+p on Windows) and choose "Cursor Settings".
- Add the MCP server
Select "MCP" from the left sidebar and click "Add new global MCP server".
Add the following config:
{
"mcpServers": {
"resend": {
"type": "command",
"command": "node ABSOLUTE_PATH_TO_MCP_SEND_EMAIL_PROJECT/build/index.js --key=YOUR_RESEND_API_KEY"
}
}
}
You can get the absolute path to your build script by right-clicking on the /build/index.js file in Cursor and selecting Copy Path.
Possible arguments
--key: Your Resend API key (required)--sender: Your sender email address from a verified domain (optional)--reply-to: Your reply-to email address (optional)
[!NOTE]If you don't provide a sender email address, the MCP server will ask you to provide one each time you call the tool.
- Test the sending
Now you can test out sending emails by going to email.md.
- Replace the to: email address with your own
- Select all text in
email.md, and presscmd+l - Tell cursor to "send this as an email" in the chat (make sure cursor is in Agent mode by selecting "Agent" on lower left side dropdown).
Claude Desktop
- Open Claude's Developer config file
Open Claude Desktop settings and navigate to the "Developer" tab. Click Edit Config.
- Add the MCP server
Add the following config:
{
"mcpServers": {
"resend": {
"command": "node",
"args": [
"ABSOLUTE_PATH_TO_MCP_SEND_EMAIL_PROJECT/build/index.js"
],
"env": {
"RESEND_API_KEY": "YOUR_RESEND_API_KEY",
}
}
}
}
You can get the absolute path to your build script by right-clicking on the /build/index.js file in your IDE and selecting Copy Path.
Possible environment variables
RESEND_API_KEY: Your Resend API key (required)SENDER_EMAIL_ADDRESS: Your sender email address from a verified domain (optional)REPLY_TO_EMAIL_ADDRESS: Your reply-to email address (optional)
[!NOTE]If you don't provide a sender email address, the MCP server will ask you to provide one each time you call the tool.
- Test the sending
Close and reopen Claude Desktop. Verify that the resend tool is available in the Claude developer settings.
Chat with Claude and tell it to send you an email using the resend tool.
Testing with MCP Inspector
Note: Make sure you've built the project first (see Setup section above).
Set your API key (so the server can talk to Resend):
export RESEND_API_KEY=re_your_key_hereStart the inspector:
pnpm inspectorIn the Inspector UI (browser):
- Choose stdio (launch a process).
- Command:
node - Args:
build/index.js(or the full path tobuild/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.