What is an MCP Server?
MCP (Model Context Protocol) is an open protocol that standardizes how applications provide context to LLMs. It allows AI assistants like Claude and Cursor to perform actions on your behalf. Unosend’s MCP Server enables you to send emails directly from your AI assistant conversations.Features
Send Emails
Send plain text and HTML emails from chat
Schedule Emails
Schedule emails for future delivery
CC & BCC
Add CC and BCC recipients
Reply-To
Configure reply-to addresses
Installation
Clone and build the MCP server: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
- Claude Desktop
Open Cursor Settings → MCP → Add new global MCP server:
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) |
If you don’t provide a sender email, the MCP server will ask for one each time you send an email.
Usage Examples
Once configured, you can ask your AI assistant to send emails naturally:Send a simple email
Send a simple email
“Send an email to john@example.com with the subject ‘Meeting Tomorrow’ and let him know we’re meeting at 3pm”
Send to multiple recipients
Send to multiple recipients
“Email the team at alice@example.com, bob@example.com about the project update”
Schedule an email
Schedule an email
“Schedule an email to be sent tomorrow at 9am reminding me about the deadline”
Send with HTML formatting
Send with HTML formatting
“Send a nicely formatted email with a heading, bullet points, and a link to our website”
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 (from $0.013/SMS) |
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 |
send_sms Parameters
| Parameter | Required | Description |
|---|---|---|
to | Yes | Phone number in E.164 format (+1234567890) |
body | Yes | SMS message content |
from | No | Sender phone number (if you have one) |
validate_email Parameters
| Parameter | Required | Description |
|---|---|---|
email | Yes | Email address to validate |
create_contact Parameters
| Parameter | Required | Description |
|---|---|---|
audience_id | Yes | The audience ID to add contact to |
email | Yes | Contact email address |
first_name | No | Contact first name |
last_name | No | Contact last name |
unsubscribed | No | Whether contact is unsubscribed |
Example Workflow
Create anemail.md file in your project:
Troubleshooting
Error: API key is required
Error: API key is required
Make sure you’ve provided the
--key argument or set the UNOSEND_API_KEY environment variable.Error: Sender email is required
Error: Sender email is required
Either provide
--sender argument, set SENDER_EMAIL_ADDRESS env var, or specify from in each email request.MCP server not showing in Claude Desktop
MCP server not showing in Claude Desktop
- Make sure the path to
build/index.jsis absolute - Restart Claude Desktop completely
- Check Developer settings to verify the server is listed
Cannot send to external addresses
Cannot send to external addresses
Make sure your sender domain is verified at unosend.co/domains.