# Marmunk > Marmunk is the transactional email control plane safe for agents to operate: send, verify domains, trace delivery, and manage suppressions under explicit human approval. Agents connect to the hosted MCP endpoint at https://api.marmunk.com/mcp and operate the same durable, approval-gated, idempotent contract that human teams use. ## Connect your agent - [Connect your agent](https://docs.marmunk.com/connect): copy-paste setup for Cursor, Claude Code, VS Code, Codex, Gemini CLI, and mcp-remote, including OAuth and Bearer Agent credential paths. - [MCP for agents](https://docs.marmunk.com/guides/mcp): hosted Streamable HTTP endpoint, OAuth flow, and agent credential semantics. - [MCP server.json](https://docs.marmunk.com/llms.txt): this index; the server is listed on the official MCP Registry as com.marmunk/marmunk. ## Guides - [Queue an email without guessing what happened.](https://docs.marmunk.com/guides/quickstart): Marmunk accepts a durable intent first. Provider submission and recipient delivery happen asynchronously and remain traceable. - [Give every caller only the authority it needs.](https://docs.marmunk.com/guides/authentication): Marmunk supports tenant-bound API keys, browser sessions, and delegated OAuth for MCP. Sending approval remains a separate control. - [Retry the business action, not an uncertain network write.](https://docs.marmunk.com/guides/idempotency): Marmunk binds each idempotency key to canonical send semantics within one tenant and operation. - [Consume immutable delivery facts exactly once.](https://docs.marmunk.com/guides/webhooks): Marmunk normalizes provider events, signs the canonical request bytes, and retries webhook delivery with bounded backoff. - [Let agents operate the same contract humans use.](https://docs.marmunk.com/guides/mcp): The Marmunk MCP server is an authenticated adapter over the public API—not a privileged back door. - [Start with the message. Fall back to the request.](https://docs.marmunk.com/guides/send-debugging): A request ID identifies one API attempt. A message ID identifies the durable email across every asynchronous stage. ## Why Marmunk - [Why Marmunk](https://docs.marmunk.com/why-marmunk): direct answers on how Marmunk compares to raw Amazon SES and in-app SMTP for agent-driven transactional email. ## Articles - [Accepted vs delivered](https://docs.marmunk.com/articles/accepted-vs-delivered): what each email status proves — durable intent, provider submission, and normalized delivery evidence — and why agents must report outcomes in the status's own vocabulary. - [Can an AI agent safely send email?](https://docs.marmunk.com/articles/agent-email-approval): the approval boundary — what an agent can and cannot change, hard sending envelopes, and scoped expiring credentials. - [Why did the email send twice?](https://docs.marmunk.com/articles/duplicate-emails): how key-bound idempotency makes agent and client retries return the original message instead of duplicating it. - [Why is email from a new sending domain going to spam?](https://docs.marmunk.com/articles/spam-from-new-domain): reputation over content — DNS identity baseline, honest volume ramp, and what transactional senders get differently. - [MCP or REST API — which should an agent use?](https://docs.marmunk.com/articles/mcp-or-rest): both doors share one contract; choose by where the sending decision is made. ## Pricing - Test — 0/mo, 1,000 recipients/month, 10/day, 1 sending domain - Builder — 10/mo, 10,000 recipients/month, no cap/day, 5 sending domains - Growth — 70/mo, 100,000 recipients/month, no cap/day, 25 sending domains - Scale — 299/mo, 500,000 recipients/month, no cap/day, 250 sending domains - Enterprise — custom, no cap recipients/month, no cap/day, no cap sending domains Pricing last reviewed: 2026-10-14. Every plan is a hard cap — no metered overages. ## Reference - [OpenAPI document](https://docs.marmunk.com/openapi.json): the canonical REST contract; the MCP tools and TypeScript SDK are generated from the same types.