Skip to main content
Glama
SDK-E

mailbox-mcp

by SDK-E

mailbox

CI npm license

Un sumidero de correo para desarrollo local: ejecuta un servidor SMTP y una API HTTP para toda tu máquina y apunta cada proyecto a él. Los correos nunca salen de tu dispositivo; en su lugar, aterrizan en una bandeja de entrada inspeccionable con una interfaz web, una CLI y un servidor MCP para agentes de IA.

Una instancia compartida elimina las colisiones de puertos por proyecto: iníciala una vez y conecta muchos.

Install

pnpm add -D @sdk-e/mailbox   # or npm i -D / yarn add -D

O ejecuta ad hoc:

npx @sdk-e/mailbox

Related MCP server: qmailing MCP server

Quick start

mailbox            # SMTP on :11025, inbox UI on http://localhost:11090

Envía correo a smtp://127.0.0.1:11025 desde cualquier aplicación (nodemailer, modo dev de Resend, etc.), y luego:

open http://localhost:11090   # or: mailbox-cli open

Bins

Bin

Purpose

mailbox

Ejecuta el sumidero (SMTP + HTTP + interfaz de bandeja de entrada)

mailbox-cli

list, read <id>, wait [match] [--timeout s], clear, health, open

mailbox-mcp

Servidor MCP (list_emails, read_email, clear_emails, wait_for_email)

CLI examples

mailbox-cli list
mailbox-cli read 3
mailbox-cli wait "verification code" --timeout 10   # blocks until a new matching message arrives
mailbox-cli clear

wait solo coincide con mensajes que llegan después de que se inicia: inícialo antes de activar el envío.

Library use

import { startMailbox } from "@sdk-e/mailbox";

const mailbox = await startMailbox({ smtpPort: 0, httpPort: 0 }); // 0 = ephemeral
console.log(mailbox.smtpPort, mailbox.url);
await mailbox.close();

Ideal para pruebas de integración que necesitan una bandeja de entrada aislada y desechable.

HTTP API (stable wire protocol)

Route

Method

Response

/api/health

GET

{ ok, smtpPort, httpUrl, messageCount }

/api/email

GET

array de { id, receivedAt, from, to, subject, text, html }

/api/email/:id

GET

mensaje anterior más fuente raw; 404 {"error": …} si falta

/api/email/all

DELETE

{ ok: true, messageCount: 0 }

/

GET

interfaz de bandeja de entrada

Configuration

Variables de entorno (se cargan si existen .env.local y luego .env en el directorio de trabajo):

Variable

Default

Purpose

MAIL_SMTP_PORT

11025

Puerto de escucha SMTP

MAIL_HTTP_PORT

11090

Puerto de API/UI HTTP

MAIL_HTTP_URL

derivado del puerto

URL base utilizada por CLI/MCP para llegar al sumidero

MAILBOX_HOST

127.0.0.1

Interfaz de enlace (loopback por defecto)

Apunta el mailer de tu aplicación a smtp://127.0.0.1:$MAIL_SMTP_PORT localmente; en producción sigue usando tu proveedor real. El servidor se niega a iniciarse cuando NODE_ENV=production.

Why high ports?

1025/1080 (los clásicos valores por defecto estilo MailHog) chocan con frecuencia. mailbox usa por defecto 11025/11090 para que varios proyectos SDK-E puedan compartir una única instancia sin pisarse entre sí ni a otras herramientas locales.

Development

Requiere Node >= 20 y pnpm >= 11.

pnpm install
pnpm verify     # format, lint, typecheck, test, build

Consulta CONTRIBUTING.md.

License

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables LLMs to read, send, and manage emails via POP3 and SMTP with TLS support.
    6
    -
  • F
    license
    B
    quality
    D
    maintenance
    Enables AI agents to send and receive emails via POP3 and SMTP, with tools for polling, reading, deleting, and sending emails.
    5
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to interact with email accounts via IMAP and SMTP, supporting mailbox listing, email search, retrieval, sending, and management.
    MIT