@skanda-yutori/mcp-send-email
Version:
MCP server for sending emails via Resend API
289 lines (199 loc) • 7.66 kB
Markdown
# MCP Send Email Server
A Model Context Protocol (MCP) server for sending emails using the Resend API. This package can be used as an MCP server or as a standalone CLI tool.
## Installation
### As an npx package (recommended)
```bash
npx @your-username/mcp-send-email --key YOUR_RESEND_API_KEY
```
### As a global package
```bash
npm install -g @your-username/mcp-send-email
mcp-send-email --key YOUR_RESEND_API_KEY
```
### As a local dependency
```bash
npm install @your-username/mcp-send-email
```
## Prerequisites
1. **Resend API Key**: Get your API key from [Resend](https://resend.com)
2. **Node.js**: Version 18 or higher
## Configuration
### Environment Variables
You can configure the server using environment variables:
- `RESEND_API_KEY`: Your Resend API key (required)
- `SENDER_EMAIL_ADDRESS`: Default sender email address (optional)
- `REPLY_TO_EMAIL_ADDRESSES`: Comma-separated list of reply-to email addresses (optional)
### Command Line Arguments
- `--key`: Resend API key
- `--sender`: Default sender email address
- `--reply-to`: Reply-to email address(es)
## Usage
### As an MCP Server
The server runs on stdio and can be integrated with MCP clients:
```bash
npx @your-username/mcp-send-email --key YOUR_API_KEY
```
### MCP Configuration
Add this to your MCP client configuration:
```json
{
"mcpServers": {
"email": {
"command": "npx",
"args": ["@your-username/mcp-send-email", "--key", "YOUR_API_KEY"]
}
}
}
```
### Available Tools
The server provides a `send-email` tool with the following parameters:
- `to` (required): Recipient email address
- `subject` (required): Email subject line
- `text` (required): Plain text email content
- `html` (optional): HTML email content
- `from` (optional): Sender email address (if not configured globally)
- `replyTo` (optional): Reply-to email addresses
- `cc` (optional): CC email addresses
- `bcc` (optional): BCC email addresses
- `scheduledAt` (optional): Schedule email using natural language (e.g., "tomorrow at 10am")
## Examples
### Basic Email
```javascript
// Using the MCP tool
await sendEmail({
to: "recipient@example.com",
subject: "Hello from MCP",
text: "This is a test email sent via MCP server."
});
```
### HTML Email with Scheduling
```javascript
await sendEmail({
to: "recipient@example.com",
subject: "HTML Email",
text: "Plain text fallback",
html: "<h1>Hello!</h1><p>This is an HTML email.</p>",
scheduledAt: "tomorrow at 9am PST"
});
```
## Development
### Building from Source
```bash
git clone https://github.com/your-username/mcp-send-email.git
cd mcp-send-email
npm install
npm run build
```
### Running in Development
```bash
npm install
npm run build
node build/index.js --key YOUR_API_KEY
```
## Publishing Updates
1. Update the version in `package.json`
2. Update `CHANGELOG.md`
3. Build the project: `npm run build`
4. Publish to npm: `npm publish`
## License
MIT License - see LICENSE file for details.
## Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Submit a pull request
## Support
- Issues: [GitHub Issues](https://github.com/your-username/mcp-send-email/issues)
- Documentation: [GitHub README](https://github.com/your-username/mcp-send-email#readme)
# Email sending MCP 💌
[](https://smithery.ai/server/@resend/mcp-send-email)
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:
- [Resend](https://resend.com/)
- [Anthropic MCP](https://docs.anthropic.com/en/docs/agents-and-tools/mcp)
- [Cursor](https://cursor.so/)
## Features
- Send plain text and HTML emails
- Schedule emails for future delivery
- Add CC and BCC recipients
- Configure reply-to addresses
- Customizable sender email (requires verification)
## 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](#cursor) or [Claude Desktop](#claude-desktop) to use it in any Cursor or Claude Desktop chat.
1. Clone this project locally.
```
git clone https://github.com/resend/mcp-send-email.git
```
2. Build the project
```
npm install
npm run build
```
3. Setup Resend
Create a free Resend account and [Create an API Key](https://resend.com/api-keys). To send to other addresses, you'll also need to [verify your own domain](https://resend.com/domains).
> [!NOTE]
> For more info on how to send emails with Resend, see the [docs](https://resend.com/docs/send-with-nodejs).
## Cursor
1. Open Cursor Settings.
Open the command palette (`cmd`+`shift`+`p` on macOS or `ctrl`+`shift`+`p` on Windows) and choose "Cursor Settings".
2. Add the MCP server
Select "MCP" from the left sidebar and click "Add new global MCP server".
Add the following config:
```json
{
"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.
3. 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 press `cmd+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).
<img width="441" alt="Cursor chat with email.md file selected and Agent mode enabled" src="https://github.com/user-attachments/assets/b07e9cbf-42d8-4910-8e90-3761d8d3bc06" />
## Claude Desktop
1. Open Claude's Developer config file
Open Claude Desktop settings and navigate to the "Developer" tab. Click `Edit Config`.
2. Add the MCP server
Add the following config:
```json
{
"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.
3. 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.