Labsco
MCP SERVER · OFFICIAL PROJECT

Nuntly

by nuntly

Send transactional email and watch what happened to it, receive mail into inboxes and threads, and give an agent its own address with memory attached.

Email: Mailboxes & DeliveryOfficial source
Summary
It is not only a sending API — inboxes, threads and per-agent memory make the receiving side the more distinctive half of it.

Plenty of servers can send an email. What is less usual here is that create-inbox binds an agentId, threads carry labels and an agent assignment, and upsert-agent-memory stores memory against an inbox and a thread — which together is the shape you need for an agent that holds an ongoing conversation by email rather than firing notifications into one. Operational recovery is unusually complete too: list-webhook-event-deliveries returns every attempt with status codes and response times and replay-webhook-event re-delivers, so an event your endpoint dropped is recoverable rather than gone. Read delete-domain before reaching for it — it removes the domain's inboxes, received messages, attachments and sending configuration, and its own description calls the action irreversible.

What it is

An email platform client with 56 tools covering sending domains and scoped API keys, transactional and bulk sending with delivery events, receiving inboxes, messages and threads, namespaces and organisation usage, webhooks with replay, and per-agent memory.

What you get
  • Sending: send-email covers HTML and plain text with attachments, labels, custom headers, variables and scheduling; send-bulk-emails takes up to 20 emails in one request with a fallback for values shared across them; cancel-email cancels a scheduled send while it still has scheduled status.
  • What became of a send: retrieve-email returns its current delivery status and metadata, retrieve-email-events returns the event history from sent through delivered, opened and bounced, retrieve-email-content returns presigned URLs for the HTML, plain-text and raw MIME source, and retrieve-email-stats returns aggregated daily sending statistics.
  • Domains: create-domain adds one for sending, receiving or both; retrieve-domain returns its DNS record configuration with the current verification status of each record; update-domain toggles sending, receiving, open tracking and click tracking; delete-domain permanently removes the domain along with its inboxes, received messages, attachments and sending configuration.
  • Receiving as a first-class surface: create-inbox puts an address on a verified domain and can bind an agentId and a namespace, list-messages spans inboxes, retrieve-message returns one with inbox enrichment, retrieve-message-content returns presigned download URLs, and list-message-attachments with retrieve-message-attachment reach the files.
  • Conversation handling: reply-to-message with a replyAll flag, forward-message to new recipients, send-inbox-message to start one, update-message for labels, and threads through list-inbox-threads filtered by label, list-thread-messages in chronological order, retrieve-thread which can mark the thread read as it returns, and update-thread whose label changes apply to every message in the thread and which assigns an agent.
  • Agent memory tied to the mailbox: retrieve-agent-memory and upsert-agent-memory hold an agent's memory and summary against an inbox and a thread.
  • Tenancy and usage: namespaces group inboxes with create, update, list and a delete that refuses while active inboxes remain; retrieve-organization returns plan, region and account status, and retrieve-organization-usage returns daily and monthly sending and receiving against plan limits.
  • API keys with real scoping: create-api-key returns the key value once and only once, update-api-key changes the name and permission or restricts the key to specific sending domains, and delete-api-key causes requests using it to be rejected immediately.
  • Webhooks including recovery: create-webhook registers an endpoint against event types, update-webhook changes the URL and events or rotates the signing secret, list-webhook-event-deliveries returns every delivery attempt with HTTP status codes and response times, and replay-webhook-event re-delivers one.
Requirements

A Nuntly API key, supplied as NUNTLY_API_KEY, and a domain added and verified before an inbox or a send will work — retrieve-domain returns the DNS records to publish and the verification status of each.

Setup effort

One command plus a key — npx @nuntly/sdk-mcp, then supply credentials