About sendable
Sendable is a transactional email service and SDK for applications that turns an event name and data fields into a written, sent message. Its MCP server lets Claude and Cursor send email from an editor.
Key features
- 01Send email by event name and data
- 02Generate message copy without exposing field values to the writing model
- 03Substitute data values after copy generation
- 04Check drafts for unsupported claims
- 05JavaScript SDK and runnable examples
Use cases
- 01Notify a customer when an order ships
- 02Send a payment failure message
- 03Send email from Claude or Cursor
MCP support
The `sendableme-mcp` server lets MCP clients such as Claude and Cursor send transactional email. It can be started with `npx -y sendableme-mcp`.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y sendableme-mcpSENDABLE_API_KEYSecretYour Sendable API key. Free at https://www.sendable.me/keysLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
3Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| to | string | Yes | Email address, or a user id previously passed to identify. |
| data | object | No | Flat key/value pairs. Strings, numbers, booleans only — never nested objects or arrays. |
| event | string | Yes | What happened, snake_case past tense: order_shipped, trial_ending, invite_accepted. Free-form — there is no list to register against. |
Details
From the project READMESendable
One line, and your app knows how to talk to its users.
You describe what happened; Sendable writes the message and sends it. No templates to maintain, no dashboard step — your data is never rewritten, only the words around it.
npm i sendableme
import { send } from 'sendableme';
await send('[email protected]', 'order_shipped', { orderId: 'A-1042', eta: 'Friday' });
That's a complete integration. Adding a new message type is a new string.
Get a free API key at sendable.me/keys — 500 messages a month, no card.
Try it in your browser
One click imports the SaaS-welcome example and runs it on Replit — add your
SENDABLE_API_KEY in Secrets and hit Run:
What's in this repo
| Directory | What it is |
|---|---|
sdk/ | The sendableme npm package — the client SDK |
mcp/ | sendableme-mcp — an MCP server, so Claude and Cursor can send email by asking |
templates/ | Three runnable examples against the live API |
Your data is never rewritten
The model that writes the copy never sees your values — only your field names. It
writes copy containing {{placeholders}}, and your values are substituted
afterwards, so a price, a date, or a reset link cannot be altered. A second model
checks every draft for claims your data doesn't support and refuses rather than
guess.
await send(user.id, 'payment_failed', { amount: '$99.00' });
// "$99.00" appears exactly as written, always
MCP
npx -y sendableme-mcp
Add it to Claude Desktop or Cursor and send transactional email straight from the
editor. See mcp/ for the config block.
Docs
Full reference, written to be pasted into an AI assistant: sendable.me/llms.txt
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.