Labsco
lettr-com logo

Lettr MCP

from lettr-com

MCP for Lettr transactional email API

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedPaid serviceNeeds API keys

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, scheduled delivery, and inspecting sent messages and events.
  • Templates โ€” List, create, get, update, and delete email templates. Retrieve rendered HTML and 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, create, get, update, and delete webhook configurations for real-time email event notifications.
  • Projects โ€” List the projects available to your team so you can target template and email tools at a specific project.
  • Audience โ€” Manage contacts, lists, subscription topics, custom properties, and segments. Create and update contacts (with double opt-in), attach contacts to lists and topics, bulk import, and build segments from match conditions.
  • System โ€” Health check and API key validation for client setup and diagnostics.

Available Tools

Emails

ToolDescription
send-emailSend a transactional email with HTML, plain text, templates, attachments, tracking, and personalization
list-emailsList recently sent emails (cursor-paginated, with recipient and date filters)
list-email-eventsList email events (delivery, bounce, click, open, โ€ฆ) with filters by type, recipient, transmission, and date range
get-email-detailRetrieve the full delivery timeline for a single transmission by request ID
schedule-emailSchedule a transactional email for future delivery (5+ minutes ahead, within 3 days)
get-scheduled-emailGet the state and events of a scheduled transmission
cancel-scheduled-emailCancel a scheduled transmission before it is sent

Templates

ToolDescription
list-templatesList email templates with pagination
get-templateGet full template details including HTML content
create-templateCreate a new template with HTML or visual editor JSON
update-templateUpdate template name and/or content (creates new version)
delete-templatePermanently delete a template and all versions
get-merge-tagsDiscover merge tag variables a template expects
get-template-htmlRetrieve a template's rendered HTML, subject, and merge tags by project ID and slug

Domains

ToolDescription
list-domainsList all sending domains and their verification status
create-domainRegister a new sending domain
get-domainGet domain details with DNS records
delete-domainRemove a sending domain
verify-domainTrigger DNS verification for a domain

Webhooks

ToolDescription
list-webhooksList all webhook configurations
get-webhookGet webhook details and delivery status
create-webhookCreate a new webhook subscription with auth and event-type selection
update-webhookUpdate an existing webhook (name, URL, auth, events, active flag)
delete-webhookDelete a webhook subscription

Projects

ToolDescription
list-projectsList projects owned by the team โ€” useful for discovering project IDs

Audience

ToolDescription
list-audience-listsList audience (contact) lists with pagination
create-audience-listCreate a new audience list
get-audience-listGet a single list and its contact count
update-audience-listRename an audience list
delete-audience-listDelete an audience list
bulk-delete-audience-listsDelete up to 50 lists in one call
list-audience-contactsList contacts with search, status, list, and segment filters
get-audience-contactGet a contact with its properties, lists, and topics
create-audience-contactCreate a contact, optionally with double opt-in
bulk-create-audience-contactsCreate many contacts from a list of emails
update-audience-contactUpdate a contact's email, status, or properties
delete-audience-contactDelete a contact
attach-contact-to-listAdd a contact to a list
detach-contact-from-listRemove a contact from a list
subscribe-contact-to-topicSubscribe a contact to a topic
unsubscribe-contact-from-topicUnsubscribe a contact from a topic
bulk-attach-contacts-to-listsAttach many contacts to many lists at once
bulk-detach-contacts-from-listsDetach many contacts from many lists at once
list-audience-topicsList subscription topics with pagination
create-audience-topicCreate a subscription topic
get-audience-topicGet a single topic
update-audience-topicUpdate a topic's name, description, or visibility
delete-audience-topicDelete a subscription topic
list-audience-propertiesList custom contact properties
create-audience-propertyDefine a new custom property
get-audience-propertyGet a single property
update-audience-propertyUpdate a property's fallback value
delete-audience-propertyDelete a custom property
list-audience-segmentsList segments, optionally filtered by list
create-audience-segmentCreate a segment from match conditions
get-audience-segmentGet a single segment and its conditions
update-audience-segmentUpdate a segment's name, list, or conditions
delete-audience-segmentDelete a segment

System

ToolDescription
health-checkCheck the Lettr API health status
auth-checkValidate the configured API key and return the team ID

Local Development

  1. Clone and build:
git clone https://github.com/nicholasgriffintn/lettr-mcp.git
cd lettr-mcp
pnpm install
pnpm run build
  1. 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).

  1. Set your API key:

    export LETTR_API_KEY=lttr_your_key_here
  2. Start the inspector:

    pnpm inspector
  3. In 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

License

MIT