npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

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

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.

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

| 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

  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