mailcue-mcp Server

Give AI agents their own local mailbox to read, send, and triage email.

Documentation


MailCue
A realistic email testing server in a single Docker container.

CI MIT License GHCR GitHub Stars Latest Release Olib AI
OpenAPI Spec Postman Collection


MailCue packages Postfix, Dovecot, OpenDKIM, OpenDMARC, SpamAssassin, a FastAPI REST API, and a React web UI into one Docker container managed by s6-overlay. It runs a full mail stack with IMAP/POP3 access, DKIM signing, DMARC verification, spam filtering, TLS, and GPG encryption, so you can test email the way it behaves in production. Set MAILCUE_MODE=production and the same container runs as a real mail server.

Features ยท Quick start ยท Documentation ยท Contributing

MailCue inbox showing a rich HTML invoice email

MailCue displaying a PGP-encrypted email with credentials

MailCue settings page with GPG keys, TLS certificate, mail server, and domain management tabs

Features

CapabilityWhat it does
Catch-all SMTPAccepts mail for any address on any domain. Nothing leaves the container.
IMAP and POP3Read captured mail with any standard client over STARTTLS or implicit TLS.
Web UIReact app with a mailbox sidebar, folder navigation, an email viewer, and a compose dialog.
REST API and SDKsJSON API for sending, receiving, injecting, searching, and deleting email, with Python and Node SDKs.
Email injectionInsert messages straight into a mailbox over IMAP APPEND for deterministic test setup, with realistic headers.
DKIM, DMARC, SPFOpenDKIM signing, OpenDMARC verification, and SPF policy checks, with Authentication-Results headers.
Spam filteringSpamAssassin scores inbound mail with a configurable threshold, Bayesian filtering, and RBL checks.
TLS everywhereAuto-generated certificates for SMTP STARTTLS, IMAPS, and POP3S. Upload your own from the UI.
GPG / PGP-MIMEPer-mailbox GPG keys. Sign, encrypt, verify, and decrypt mail (RFC 3156). Publish keys to keys.openpgp.org.
Real-time eventsA Server-Sent Events stream pushes email.received, email.deleted, mailbox.created, and more.
Scoped API keysX-API-Key auth with per-key scopes (read, send, delete, and more) and an optional mailbox allow-list.
MCP serverAn official Model Context Protocol server gives an AI agent its own mailbox.
Domain managementAdd custom domains with automatic DKIM and a DNS dashboard for MX, SPF, DKIM, DMARC, MTA-STS, and TLS-RPT.
Multi-userPer-user mailbox quotas and isolated mailboxes, emails, GPG keys, and API keys.
Production modeA hardened mail server with strict domains, required TLS, DMARC reject, and Let's Encrypt certificates.
Provider sandboxCapture outbound SMS, voice, and chat API traffic with wire-identical endpoints and signed webhooks.
Single containerOne docker run. No external database, Redis, or message queue. SQLite with optional AES-256 encryption.

Quick start

Docker Compose

git clone https://github.com/Olib-AI/mailcue.git
cd mailcue
docker compose up -d

Open http://localhost:8088 and log in with username admin and password mailcue.

Docker run

docker run -d \
  --name mailcue \
  -p 8088:80 \
  -p 25:25 \
  -p 587:587 \
  -p 143:143 \
  -p 993:993 \
  -v mailcue-data:/var/mail/vhosts \
  -v mailcue-db:/var/lib/mailcue \
  -e MAILCUE_DOMAIN=mailcue.local \
  -e MAILCUE_ADMIN_PASSWORD=mailcue \
  ghcr.io/olib-ai/mailcue

Check it works

curl http://localhost:8088/api/v1/health

Documentation

๐Ÿ“– Read the full, interactive guides on the Official MailCue Documentation Website.

GuideCovers
ArchitectureContainer layout, request flow, and tech stack.
ConfigurationEnvironment variables and exposed ports.
API referenceREST endpoints, authentication, and API key scopes.
Production deploymentHardened mode, DNS records, and TLS certificates.
Email clients and TLS trustIMAP/POP3/SMTP setup and trusting the CA.
Using in CI/CDPipeline setup and platform examples.
MCP serverGive an AI agent its own mailbox over MCP.
Provider sandbox and HTTP binCapture SMS, voice, and chat traffic, and inspect HTTP requests.
Sharing MailCue across projectsRun one container behind a shared Docker network.
Development and contributingLocal setup, linting, tests, and the PR process.

The API is also served as interactive Swagger UI at /api/docs, with machine-readable specs in openapi.json and postman_collection.json.

The SDKs and MCP server have their own docs: Python SDK, Node SDK, and MCP server.

Contributing

Contributions are welcome. See Development and contributing for local setup, linting, type checks, tests, and the pull request process.

License

MIT. See LICENSE.

Star History

Star History Chart

Links


If you find MailCue useful, please consider giving it a star on GitHub. It helps others discover the project.

Built by Olib AI