Lettr MCP

MCP for Lettr transactional email API

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.

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

  1. Create a free Lettr account
  2. Create an API key in your dashboard
  3. 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-mcp

Cursor

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 to LETTR_API_KEY env 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

ToolDescription
send-emailSend a transactional email with HTML, plain text, templates, attachments, tracking, and personalization

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

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

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

Related Servers