Lettr MCP

MCP para la API de correo electrónico transaccional de Lettr

Documentación

Servidor Lettr MCP

El servidor oficial de Model Context Protocol (MCP) para Lettr — la API de correo electrónico para desarrolladores. Envía correos transaccionales, gestiona plantillas con etiquetas de combinación, configura dominios y supervisa webhooks — directamente desde cualquier cliente MCP como Claude Desktop, Cursor o Claude Code.

¿Por qué Lettr?

Lettr es una plataforma moderna de envío de correos construida para desarrolladores. Ofrece una API REST limpia, un potente editor de plantillas de arrastrar y soltar, personalización con etiquetas de combinación, seguimiento de aperturas y clics, y la mejor capacidad de entrega de su clase. Ya sea que envíes restablecimientos de contraseña, confirmaciones de pedidos o secuencias de incorporación, Lettr lo hace simple y confiable.

Características

  • Enviar correos — Envía correos transaccionales con HTML, texto plano, CC/CCO, adjuntos, opciones de seguimiento, metadatos y etiquetas. Admite envío basado en plantillas con sustitución de etiquetas de combinación, entrega programada e inspección de mensajes y eventos enviados.
  • Plantillas — Lista, crea, obtén, actualiza y elimina plantillas de correo, transaccionales o de campaña. Recupera el HTML renderizado y las etiquetas de combinación para descubrir qué variables espera una plantilla antes de enviar.
  • Dominios — Lista, crea, obtén, elimina y verifica dominios de envío. Consulta los registros DNS requeridos para la autenticación SPF, DKIM y DMARC.
  • Webhooks — Lista, crea, obtén, actualiza y elimina configuraciones de webhook para notificaciones de eventos de correo en tiempo real.
  • Proyectos — Lista los proyectos disponibles para tu equipo para que puedas dirigir las herramientas de plantillas y correos a un proyecto específico.
  • Audiencia — Gestiona contactos, listas, temas de suscripción, propiedades personalizadas y segmentos. Crea y actualiza contactos (con doble opt-in), adjunta contactos a listas y temas, importación masiva y construye segmentos a partir de condiciones de coincidencia.
  • Sistema — Verificación de estado y validación de clave de API para configuración y diagnóstico del cliente.

Configuración

  1. Crea una cuenta gratuita de Lettr
  2. Crea una clave de API en tu panel de control
  3. Verifica tu dominio para enviar correos a cualquier destinatario

Uso

Claude Code

claude mcp add lettr -e LETTR_API_KEY=lttr_xxxxxxxxx -- npx -y lettr-mcp

Cursor

Abre la paleta de comandos y elige "Cursor Settings" > "MCP" > "Add new global MCP server".

{
  "mcpServers": {
    "lettr": {
      "command": "npx",
      "args": ["-y", "lettr-mcp"],
      "env": {
        "LETTR_API_KEY": "lttr_xxxxxxxxx"
      }
    }
  }
}

Claude Desktop

Abre la configuración de Claude Desktop > pestaña "Developer" > "Edit Config".

{
  "mcpServers": {
    "lettr": {
      "command": "npx",
      "args": ["-y", "lettr-mcp"],
      "env": {
        "LETTR_API_KEY": "lttr_xxxxxxxxx"
      }
    }
  }
}

Opciones

Puedes pasar argumentos adicionales para configurar el servidor:

  • --key: Tu clave de API de Lettr (alternativa a la variable de entorno LETTR_API_KEY)
  • --sender: Dirección de correo del remitente predeterminada de un dominio verificado
  • --reply-to: Dirección de correo de respuesta predeterminada

Variables de entorno:

  • LETTR_API_KEY: Tu clave de API de Lettr (obligatoria)
  • SENDER_EMAIL_ADDRESS: Dirección de correo del remitente predeterminada de un dominio verificado (opcional)
  • REPLY_TO_EMAIL_ADDRESS: Dirección de correo de respuesta predeterminada (opcional)

Nota: Si no proporcionas una dirección de correo del remitente, el servidor MCP la solicitará cada vez que envíes un correo.

Herramientas disponibles

Correos

HerramientaDescripción
send-emailEnvía un correo transaccional con HTML, texto plano, plantillas, adjuntos, seguimiento y personalización
list-emailsLista los correos enviados recientemente (paginados por cursor, con filtros de destinatario y fecha)
list-email-eventsLista los eventos de correo (entrega, rebote, clic, apertura, …) con filtros por tipo, destinatario, transmisión y rango de fechas
get-email-detailRecupera la línea de tiempo completa de entrega de una sola transmisión por ID de solicitud
schedule-emailPrograma un correo transaccional para entrega futura (5+ minutos adelante, dentro de 30 días)
list-scheduled-emailsLista los correos en espera de envío, con un filtro de estado
get-scheduled-emailObtén el estado y los eventos de un correo programado
cancel-scheduled-emailCancela un correo programado antes de que se envíe

Plantillas

HerramientaDescripción
list-templatesLista las plantillas de correo, filtrables por propósito y carpeta
get-templateObtén los detalles completos de la plantilla, incluido el contenido HTML
create-templateCrea una nueva plantilla con HTML o JSON del editor visual, transaccional o de campaña
update-templateActualiza el nombre y/o contenido de la plantilla (crea una nueva versión)
delete-templateElimina permanentemente una plantilla y todas sus versiones
get-merge-tagsDescubre las variables de etiquetas de combinación que espera una plantilla
get-template-htmlRecupera el HTML renderizado, el asunto y las etiquetas de combinación de una plantilla por ID de proyecto y slug

Propósito de la plantilla. Una plantilla es transactional (el predeterminado — recibos, restablecimientos de contraseña, alertas) o campaign (marketing enviado a una lista de audiencia). Una campaña solo puede enviar una plantilla cuyo propósito sea campaign, y el propósito no se puede cambiar después de la creación, por lo que un boletín creado con el predeterminado debe reconstruirse. Pasa purpose a create-template siempre que el mensaje vaya a una audiencia en lugar de a una persona.

Estado de preparación. Las plantillas importadas se renderizan de forma asíncrona, por lo que una plantilla puede existir antes de poder enviarse. list-templates y get-template informan pending, ready o failed. Después de una actualización, el renderizado anterior sigue sirviendo hasta que el nuevo se asiente, por lo que una plantilla pendiente aún se envía — solo que aún no con el contenido nuevo.

Carpetas

HerramientaDescripción
list-foldersLista las carpetas en las que se archivan las plantillas, con propósito y recuento de plantillas

Las carpetas son la única forma de descubrir un folder_id. Sin esta herramienta, la opción es omitir folder_id y aceptar la carpeta que elija la API, o adivinar un entero leído de una URL de la aplicación. El propósito de una carpeta es independiente del de sus plantillas — archivar una plantilla en una carpeta de campaña no la convierte en una plantilla de campaña.

Dominios

HerramientaDescripción
list-domainsLista todos los dominios de envío y su estado de verificación
create-domainRegistra un nuevo dominio de envío
get-domainObtén los detalles del dominio con registros DNS
delete-domainElimina un dominio de envío
verify-domainActiva la verificación DNS de un dominio

Webhooks

HerramientaDescripción
list-webhooksLista todas las configuraciones de webhook
get-webhookObtén los detalles del webhook y el estado de entrega
create-webhookCrea una nueva suscripción de webhook con autenticación y selección de tipo de evento
update-webhookActualiza un webhook existente (nombre, URL, autenticación, eventos, indicador de activo)
delete-webhookElimina una suscripción de webhook

Proyectos

HerramientaDescripción
list-projectsLista los proyectos propiedad del equipo — útil para descubrir IDs de proyectos

Audiencia

HerramientaDescripción
list-audience-listsLista las listas de audiencia (contactos) con paginación
create-audience-listCrea una nueva lista de audiencia
get-audience-listObtén una sola lista y su recuento de contactos
update-audience-listRenombra una lista de audiencia
delete-audience-listElimina una lista de audiencia
bulk-delete-audience-listsElimina hasta 50 listas en una sola llamada
list-audience-contactsLista contactos con filtros de búsqueda, estado, lista y segmento
get-audience-contactObtén un contacto con sus propiedades, listas y temas
create-audience-contactCrea un contacto, opcionalmente con doble opt-in
bulk-create-audience-contactsCrea muchos contactos, ya sea desde una lista plana de correos o una fila por contacto
update-audience-contactActualiza el correo, estado o propiedades de un contacto
delete-audience-contactElimina un contacto
attach-contact-to-listAgrega un contacto a una lista
detach-contact-from-listElimina un contacto de una lista
subscribe-contact-to-topicSuscribe un contacto a un tema
unsubscribe-contact-from-topicCancela la suscripción de un contacto a un tema
bulk-attach-contacts-to-listsAdjunta muchos contactos a muchas listas a la vez
bulk-detach-contacts-from-listsDesadjunta muchos contactos de muchas listas a la vez
bulk-subscribe-contacts-to-topicsSuscribe muchos contactos a muchos temas a la vez
bulk-unsubscribe-contacts-from-topicsCancela la suscripción de muchos contactos a muchos temas a la vez
list-audience-topicsLista los temas de suscripción con paginación
create-audience-topicCrea un tema de suscripción
get-audience-topicObtén un solo tema
update-audience-topicActualiza el nombre, descripción o visibilidad de un tema
delete-audience-topicElimina un tema de suscripción
list-audience-propertiesLista las propiedades personalizadas de contactos
create-audience-propertyDefine una nueva propiedad personalizada
get-audience-propertyObtén una sola propiedad
update-audience-propertyActualiza el valor de respaldo de una propiedad
delete-audience-propertyElimina una propiedad personalizada
list-audience-segmentsLista los segmentos, opcionalmente filtrados por lista
create-audience-segmentCrea un segmento a partir de condiciones de coincidencia
get-audience-segmentObtén un solo segmento y sus condiciones
update-audience-segmentActualiza el nombre, lista o condiciones de un segmento
delete-audience-segmentElimina un segmento

Sistema

HerramientaDescripción
health-checkVerifica el estado de salud de la API de Lettr
auth-checkValida la clave de API configurada y devuelve el ID del equipo

Desarrollo local

  1. Clona y compila:
git clone https://github.com/nicholasgriffintn/lettr-mcp.git
cd lettr-mcp
pnpm install
pnpm run build
  1. Usa la compilación local en tu cliente MCP:
{
  "mcpServers": {
    "lettr": {
      "command": "node",
      "args": ["ABSOLUTE_PATH_TO_PROJECT/dist/index.js"],
      "env": {
        "LETTR_API_KEY": "lttr_xxxxxxxxx"
      }
    }
  }
}

Pruebas con MCP Inspector

Asegúrate de haber compilado el proyecto primero (consulta Desarrollo local arriba).

  1. Establece tu clave de API:

    export LETTR_API_KEY=lttr_your_key_here
    
  2. Inicia el inspector:

    pnpm inspector
    
  3. En el navegador (Interfaz del Inspector):

    • Elige stdio (iniciar un proceso).
    • Comando: node
    • Argumentos: dist/index.js
    • Entorno: LETTR_API_KEY=lttr_your_key_here
    • Haz clic en Conectar, luego usa "List tools" para verificar que el servidor funciona.

Recursos

Licencia

MIT