lettr-mcp
v1.0.0
Published
MCP server for the Lettr email API — send transactional emails, manage templates, domains, and webhooks from any AI assistant
Maintainers
Readme
Lettr MCP Server
The official Model Context Protocol (MCP) server for Lettr — the email API for developers. Send transactional emails, manage templates with merge tags, configure domains, and monitor webhooks — directly from any MCP client like Claude Desktop, Cursor, or Claude Code.
Why Lettr?
Lettr is a modern email sending platform built for developers. It offers a clean REST API, a powerful drag-and-drop template editor, merge tag personalization, open and click tracking, and best-in-class deliverability. Whether you're sending password resets, order confirmations, or onboarding sequences, Lettr makes it simple and reliable.
- API Reference — Full REST API documentation
- Templates — Visual email editor with merge tags
- Domains — Domain verification and DNS setup
- Webhooks — Real-time event notifications
- Quickstart Guides — Node.js, PHP, Laravel, Python, Go, Rust, and more
Features
- Send Emails — Send transactional emails with HTML, plain text, CC/BCC, attachments, tracking options, metadata, and tags. Supports template-based sending with merge tag substitution.
- Templates — List, create, get, update, and delete email templates. Retrieve merge tags to discover which variables a template expects before sending.
- Domains — List, create, get, delete, and verify sending domains. View DNS records required for SPF, DKIM, and DMARC authentication.
- Webhooks — List and inspect webhook configurations for real-time email event notifications.
Setup
- Create a free Lettr account
- Create an API key in your dashboard
- Verify your domain to send emails to any recipient
Usage
Claude Code
claude mcp add lettr -e LETTR_API_KEY=lttr_xxxxxxxxx -- npx -y lettr-mcpCursor
Open the command palette and choose "Cursor Settings" > "MCP" > "Add new global MCP server".
{
"mcpServers": {
"lettr": {
"command": "npx",
"args": ["-y", "lettr-mcp"],
"env": {
"LETTR_API_KEY": "lttr_xxxxxxxxx"
}
}
}
}Claude Desktop
Open Claude Desktop settings > "Developer" tab > "Edit Config".
{
"mcpServers": {
"lettr": {
"command": "npx",
"args": ["-y", "lettr-mcp"],
"env": {
"LETTR_API_KEY": "lttr_xxxxxxxxx"
}
}
}
}Options
You can pass additional arguments to configure the server:
--key: Your Lettr API key (alternative toLETTR_API_KEYenv var)--sender: Default sender email address from a verified domain--reply-to: Default reply-to email address
Environment variables:
LETTR_API_KEY: Your Lettr API key (required)SENDER_EMAIL_ADDRESS: Default sender email address from a verified domain (optional)REPLY_TO_EMAIL_ADDRESS: Default reply-to email address (optional)
Note: If you don't provide a sender email address, the MCP server will ask for one each time you send an email.
Available Tools
Emails
| Tool | Description |
|------|-------------|
| send-email | Send a transactional email with HTML, plain text, templates, attachments, tracking, and personalization |
Templates
| Tool | Description |
|------|-------------|
| list-templates | List email templates with pagination |
| get-template | Get full template details including HTML content |
| create-template | Create a new template with HTML or visual editor JSON |
| update-template | Update template name and/or content (creates new version) |
| delete-template | Permanently delete a template and all versions |
| get-merge-tags | Discover merge tag variables a template expects |
Domains
| Tool | Description |
|------|-------------|
| list-domains | List all sending domains and their verification status |
| create-domain | Register a new sending domain |
| get-domain | Get domain details with DNS records |
| delete-domain | Remove a sending domain |
| verify-domain | Trigger DNS verification for a domain |
Webhooks
| Tool | Description |
|------|-------------|
| list-webhooks | List all webhook configurations |
| get-webhook | Get webhook details and delivery status |
Local Development
- Clone and build:
git clone https://github.com/nicholasgriffintn/lettr-mcp.git
cd lettr-mcp
pnpm install
pnpm run build- Use the local build in your MCP client:
{
"mcpServers": {
"lettr": {
"command": "node",
"args": ["ABSOLUTE_PATH_TO_PROJECT/dist/index.js"],
"env": {
"LETTR_API_KEY": "lttr_xxxxxxxxx"
}
}
}
}Testing with MCP Inspector
Make sure you've built the project first (see Local Development above).
Set your API key:
export LETTR_API_KEY=lttr_your_key_hereStart the inspector:
pnpm inspectorIn the browser (Inspector UI):
- Choose stdio (launch a process).
- Command:
node - Args:
dist/index.js - Env:
LETTR_API_KEY=lttr_your_key_here - Click Connect, then use "List tools" to verify the server is working.
Resources
- Lettr Website
- API Documentation
- MCP Setup Guide
- MCP Tools Reference
- Template Language
- DNS Setup Guides
- Knowledge Base
License
MIT
