Unosend MCP Server
Send emails from AI assistants using the Unosend API. Works with Claude Desktop, Cursor, and other MCP clients.
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 verified domain)
Installation
# Clone and build
git clone https://github.com/unosend/mcp-server.git
cd mcp-server
npm install
npm run build
Setup
1. Get your API Key
- Go to Unosend Dashboard
- Create a new API key
- Copy the key (starts with
un_)
2. Verify your domain
To send emails from your own domain, verify it first.
Configuration
Cursor
Open Cursor Settings → MCP → Add new global MCP server:
{
"mcpServers": {
"unosend": {
"type": "command",
"command": "node /path/to/unosend-mcp/build/index.js --key=un_YOUR_API_KEY --sender=hello@yourdomain.com"
}
}
}
Claude Desktop
Open Claude Desktop settings → Developer → Edit Config:
{
"mcpServers": {
"unosend": {
"command": "node",
"args": ["/path/to/unosend-mcp/build/index.js"],
"env": {
"UNOSEND_API_KEY": "un_YOUR_API_KEY",
"SENDER_EMAIL_ADDRESS": "hello@yourdomain.com",
"REPLY_TO_EMAIL_ADDRESS": "support@yourdomain.com"
}
}
}
}
Arguments
| Argument | Environment Variable | Description |
|---|---|---|
--key | UNOSEND_API_KEY | Your Unosend API key (required) |
--sender | SENDER_EMAIL_ADDRESS | Default sender email (optional) |
--reply-to | REPLY_TO_EMAIL_ADDRESS | Default reply-to email (optional) |
Usage
Once configured, you can ask Claude or Cursor to send emails:
"Send an email to john@example.com with the subject 'Meeting Tomorrow' and let him know we're meeting at 3pm"
"Email the team a summary of today's work"
"Schedule an email to be sent tomorrow at 9am reminding me about the deadline"
Available Tools
Email Tools
| Tool | Description |
|---|---|
send_email | Send an email with HTML/text, CC/BCC, scheduling |
get_email | Get details and status of a sent email |
list_emails | List recent emails from your account |
cancel_email | Cancel a scheduled email |
SMS Tools
| Tool | Description |
|---|---|
send_sms | Send an SMS message ($0.0075/segment) |
get_sms | Get details of an SMS message |
Validation Tools
| Tool | Description |
|---|---|
validate_email | Validate an email address ($0.01/validation) |
Domain Tools
| Tool | Description |
|---|---|
list_domains | List all verified domains |
get_domain | Get domain details and DNS records |
Audience & Contact Tools
| Tool | Description |
|---|---|
list_audiences | List all audiences (contact lists) |
create_contact | Add a contact to an audience |
list_contacts | List contacts in an audience |
Utility Tools
| Tool | Description |
|---|---|
check_api_status | Verify API connectivity and key validity |
send_email Parameters
| Parameter | Required | Description |
|---|---|---|
to | Yes | Recipient email(s), comma-separated |
subject | Yes | Email subject |
html | No | HTML content |
text | No | Plain text content |
from | No | Sender email (uses default if not provided) |
cc | No | CC recipients |
bcc | No | BCC recipients |
reply_to | No | Reply-to address |
scheduled_at | No | ISO 8601 datetime for scheduling |
Example
Create an email.md file:
to: john@example.com
subject: Weekly Report
# Weekly Report
Here's what we accomplished this week:
- Launched new feature
- Fixed 12 bugs
- Improved performance by 30%
Best,
Your Team
Then tell your AI: "Send this as an email"
License
MIT