Skip to main content
Glama
SDK-E

mailbox-mcp

by SDK-E

mailbox

CI npm license

Ein lokaler Entwicklungs-Mail-Sink: Betreiben Sie einen SMTP-Server plus eine HTTP-API für Ihre gesamte Maschine und richten Sie jedes Projekt darauf aus. E-Mails verlassen Ihr Gerät nie — stattdessen landen sie in einem einsehbaren Posteingang mit einer Weboberfläche, einem CLI und einem MCP-Server für KI-Agenten.

Eine gemeinsame Instanz beseitigt Portkollisionen pro Projekt: Starten Sie sie einmal, verbinden Sie viele.

Install

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

Oder führen Sie es ad hoc aus:

npx @sdk-e/mailbox

Related MCP server: qmailing MCP server

Quick start

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

Senden Sie E-Mails an smtp://127.0.0.1:11025 von jeder App (nodemailer, Resend-Entwicklungsmodus usw.), dann:

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

Bins

Bin

Zweck

mailbox

Führen Sie den Sink aus (SMTP + HTTP + Posteingangs-UI)

mailbox-cli

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

mailbox-mcp

MCP-Server (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 matcht nur Nachrichten, die nach dem Start eintreffen — starten Sie es, bevor Sie den Versand auslösen.

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 für Integrationstests, die einen isolierten Wegwerf-Posteingang benötigen.

HTTP API (stable wire protocol)

Route

Method

Antwort

/api/health

GET

{ ok, smtpPort, httpUrl, messageCount }

/api/email

GET

Array von { id, receivedAt, from, to, subject, text, html }

/api/email/:id

GET

Nachricht wie oben plus raw-Quelle; 404 {"error": …} falls fehlend

/api/email/all

DELETE

{ ok: true, messageCount: 0 }

/

GET

Posteingangs-UI

Configuration

Umgebungsvariablen (eine .env.local, dann .env, im Arbeitsverzeichnis werden geladen, falls vorhanden):

Variable

Default

Zweck

MAIL_SMTP_PORT

11025

SMTP-Listener-Port

MAIL_HTTP_PORT

11090

HTTP-API/UI-Port

MAIL_HTTP_URL

derived from port

Basis-URL, die von CLI/MCP verwendet wird, um den Sink zu erreichen

MAILBOX_HOST

127.0.0.1

Bind-Interface (standardmäßig Loopback)

Richten Sie den Mailer Ihrer App lokal auf smtp://127.0.0.1:$MAIL_SMTP_PORT aus; in Produktion verwenden Sie weiterhin Ihren echten Anbieter. Der Server weigert sich zu starten, wenn NODE_ENV=production ist.

Why high ports?

1025/1080 (klassische MailHog-Standardwerte) kollidieren häufig. mailbox verwendet standardmäßig 11025/11090, sodass mehrere SDK-E-Projekte eine einzelne Instanz gemeinsam nutzen können, ohne sich gegenseitig oder mit anderen lokalen Tools zu überschneiden.

Development

Erfordert Node >= 20 und pnpm >= 11.

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

Siehe CONTRIBUTING.md.

License

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    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