cancel-email
Cancel a scheduled email before delivery. Only emails with scheduled status can be cancelled.
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.
LABSCO SUMMARY
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.
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.
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.
One command plus a key — npx @nuntly/sdk-mcp, then supply credentials
USE CASES
Add the domain, publish the DNS records it returns and re-read the verification status, then send and check the delivery events rather than assuming it landed.
Create the inbox bound to the agent, read its threads, reply in place, and keep what the agent learned against the thread it learned it in.
Find the send, read its current status, walk the event history for the bounce or the block, and pull the raw source when the content is in question.
List recent events, look at every delivery attempt with its status code and timing, and re-deliver the ones that failed.
Create the key and store the value it returns once, narrow it to the sending domains it should reach, and revoke it the moment it is no longer needed.
Send up to 20 messages in a single call with shared defaults, read back what was submitted, and check the daily totals afterwards.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
cancel-emailCancel a scheduled email before delivery. Only emails with scheduled status can be cancelled.
create-api-keyGenerate a new API key. The key value is only returned once. Store it securely.
create-domainAdd a domain for sending or receiving emails.
create-inboxCreate a new inbox on a verified domain.
create-namespaceCreate a new namespace.
create-webhookRegister an endpoint to start receiving webhook events for your organization.
delete-api-keyRevoke an API key. Requests authenticating with this key will be rejected immediately.
delete-domainPermanently deletes a domain along with its inboxes, received messages, attachments, and sending configuration. This action is irreversible.
delete-inboxSoft-delete an inbox.
delete-namespaceSoft-delete a namespace. Rejects if it has active inboxes.
delete-webhookRemove a webhook endpoint. No further events will be delivered to this URL.
forward-messageForward a message to new recipients.
list-api-keysReturns all API keys for the organization. Key values are never included in list responses.
list-domainsReturns all domains with their verification and capability status.
list-emailsReturns sent emails ordered by submission date, newest first.
list-inbox-threadsList threads in an inbox.
list-inboxesList all inboxes.
list-message-attachmentsList all attachments for a message.
list-messagesList all received messages across inboxes.
list-namespace-inboxesList inboxes in a namespace.
list-namespacesList all namespaces.
list-organizationsReturns all organizations the authenticated user belongs to.
list-thread-messagesList messages in a thread (chronological order).
list-webhook-event-deliveriesReturns all delivery attempts for a webhook event, including HTTP status codes and response times.
list-webhooksReturns all registered webhook endpoints for the organization.
list-webhooks-eventsReturns recent webhook events across all registered endpoints.
replay-webhook-eventRe-deliver a webhook event to its endpoint. Useful for retrying failed deliveries.
reply-to-messageReply to a message. Set replyAll to true to reply to all recipients.
retrieve-agent-memoryRetrieve the memory for an AI agent.
retrieve-api-keyReturns API key metadata. The key value is never returned after creation.
retrieve-bulk-emailsReturns the emails submitted in a bulk request.
retrieve-domainReturns a domain with its DNS record configuration and current verification status for each record.
retrieve-emailReturns an email with its current delivery status and metadata.
retrieve-email-contentReturns presigned URLs to download the HTML, plain-text, and raw MIME source of a sent email.
retrieve-email-eventsReturns the delivery event history for an email (sent, delivered, opened, bounced, etc.).
retrieve-email-statsReturns aggregated daily sending statistics for the current period.
retrieve-inboxRetrieve an inbox.
retrieve-messageRetrieve a single message with inbox enrichment.
retrieve-message-attachmentRetrieve an attachment with a presigned download URL.
retrieve-message-contentReturns presigned URLs to download the HTML, plain-text, and raw MIME source of a received message.
retrieve-namespaceRetrieve a namespace with inbox stats.
retrieve-organizationReturns the organization's profile, plan, region, and account status.
retrieve-organization-usageReturns current period usage metrics (daily and monthly) for sending and receiving, against your plan limits.
retrieve-threadRetrieve a thread. Pass ?markRead=true to automatically remove the unread label from all messages.
retrieve-webhookReturns a webhook endpoint with its URL, subscribed events, and configuration.
send-bulk-emailsSend up to 20 emails in a single request. Use fallback to set default values shared across all messages.
send-emailSend transactional emails through Nuntly platform. It supports HTML and plain-text emails, attachments, labels, custom headers and scheduling.
send-inbox-messageSend a new message from an inbox.
update-api-keyUpdate the key name, permissions, or restrict it to specific sending domains.
update-domainToggle sending, receiving, open tracking, or click tracking capabilities for a domain.
update-inboxUpdate an inbox.
update-messageUpdate message labels. Only available for messages in user-created inboxes.
update-namespaceUpdate a namespace.
update-threadUpdate thread labels and agent assignment. Label operations apply to all messages in the thread.
update-webhookUpdate the endpoint URL, subscribed event types, or rotate the signing secret.
upsert-agent-memoryCreate or update the memory for an AI agent.
BEFORE YOU INSTALL
56 tools when we connected. The set includes writes such as send-email, create-domain and create-api-key, not only reads.
All 3 documented clients run the server on your machine.
CONTEXT COST
Rated by the size of the 56 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx @nuntly/sdk-mcp{
"mcpServers": {
"nuntly": {
"command": "npx",
"args": [
"@nuntly/sdk-mcp"
],
"env": {
"NUNTLY_API_KEY": "<YOUR_NUNTLY_API_KEY>"
}
}
}
}