Send emails with your AI agent. Transactional and marketing.
Your agent sets up the domain, builds the automations, and sends. Send & Retain is the email API and MCP server that makes it safe: nothing goes live until you approve.
Paste this into your agent
Set up Send & Retain from sendandretain.com/agents✓Free to start. Unlimited contacts on every tier.
- server registered · sendandretain.com/api/mcp
- signed in over OAuth · no key pasted
- email_get_connection_status · domain verified
- welcome automation built · 3 emails · tested
- paused · nothing sends until you approve
[ 01 / 07 ]Pick your client
Which AI agents work with Send & Retain?
Each page has the exact command or config, the sign-in step, and a check that the tools are live.
- Claude CodeOne claude mcp add command, or the plugin with six slash commands.
- CursorOne JSON block in ~/.cursor/mcp.json.
- CodexOne codex mcp add command, shared by every Codex client.
- OpenClawOne mcp.servers entry in openclaw.json, so every channel gets the tools.
- Grok botA remote MCP tool on the bot's xAI API requests.
- HermesOne HTTP MCP server in ~/.hermes/config.yaml.
- ClaudeA custom connector under Customize → Connectors, on web, Desktop, and mobile.
- Claude CoworkThe same custom connector as claude.ai, enabled for Cowork.
- ChatGPTA developer-mode app, on paid plans on the web.
- Gemini CLIOne entry in ~/.gemini/settings.json.
- WindsurfOne serverUrl entry in mcp_config.json. Windsurf is now Devin Desktop.
- VS CodeOne .vscode/mcp.json file you can commit for the team.
- eveOne MCP connection file, with a scoped, expiring API key.
- Any MCP clientOne URL for any client that speaks remote MCP.
[ 02 / 07 ]How it works
From one URL to a working agent
Register the server
Add one URL wherever your agent keeps its MCP servers. Nothing to install or host.
MCP server URLhttps://sendandretain.com/api/mcpApprove once
Sign in through the browser. The consent screen shows what the connection can do, and no key ever lands in a config file. Headless agents use a scoped API key instead.
Ask in plain English
From then on your agent has the tools. Ask for an audit, an automation, or last week's numbers, and it picks the tool itself.
[ 03 / 07 ]Setup by URL
Your agent can set this up itself. Hand it the URL.
It reads this page, follows the setup for the client it's running in, and stops for you to approve the sign-in.
## For AI agents reading this page
You are reading https://sendandretain.com/agents. Send & Retain is an email API for transactional email and email automation, and every dashboard action is also an MCP tool. Work out which client you are running in, then follow its setup.
1. Register the MCP server (https://sendandretain.com/api/mcp, streamable HTTP):
- Claude Code: claude mcp add --transport http sendandretain https://sendandretain.com/api/mcp
- Cursor: add { "sendandretain": { "url": "https://sendandretain.com/api/mcp" } } under mcpServers in ~/.cursor/mcp.json
- Codex: codex mcp add sendandretain --url https://sendandretain.com/api/mcp, then codex mcp login sendandretain
- Gemini CLI: add { "sendandretain": { "httpUrl": "https://sendandretain.com/api/mcp" } } under mcpServers in ~/.gemini/settings.json, then run /mcp auth sendandretain
- Claude, Claude Cowork: you cannot add a connector yourself. Tell the user to add https://sendandretain.com/api/mcp as a custom connector under Customize → Connectors.
- ChatGPT: you cannot add an app yourself. Tell the user to turn on Developer mode (Settings → Security and login), then create a developer-mode app with https://sendandretain.com/api/mcp from Plugins.
- Anything else: https://sendandretain.com/agents/mcp
2. Sign in. The server uses OAuth 2.1 and the client opens the browser sign-in. Do not add an Authorization header. If you run without a browser, ask the user for a scoped aem_ API key and send it as a Bearer header. Never enter the user's credentials yourself.
3. Verify. Confirm the email_* tools are listed. If they are not, stop and tell the user what failed.
4. Orient. Call email_list_projects, then email_get_connection_status for the project the user means. Pass that projectId to every project-scoped tool.
5. Report back. Tell the user what exists and ask what they want first.
Rules: Start read-only. Automations are created paused: enabling one, sending to real recipients, or changing sending settings needs the user's explicit go-ahead. Provider and API keys never travel over MCP: email_get_connection_status returns the settings URL where the human enters them.
Reference
- MCP endpoint: https://sendandretain.com/api/mcp (streamable HTTP, OAuth 2.1)
- MCP guide: https://sendandretain.com/docs/mcp
- Docs index for agents: https://sendandretain.com/llms.txt
- Every client: https://sendandretain.com/agents[ 04 / 07 ]Three ways in
How do AI agents connect to Send & Retain?
Three entry points, one system behind them.
MCP server, with browser sign-in
For people driving Claude Code, Cursor, Codex, ChatGPT, or Claude. OAuth 2.1, no key to paste.
MCP server, with a scoped API key
For agents that run unattended. Pinned to one project, ranked scope, an expiry, and it never auto-applies a change.
REST API, for your app
Your product sends receipts and resets through the same send checks the agent uses.
[ 05 / 07 ]Example prompts
What can you ask your agent to do?
Start read-only, then hand it a real change.
Audit
“Check my sending setup and tell me what's misconfigured. Don't change anything.”
Wire an event
“Find where we create users in this repo, send a signup event to Send & Retain, and build a paused welcome automation for it.”
Diagnose
“Why did open rates drop last week? Break it down by automation and template.”
Daily digest
“Every morning, post yesterday's sends, bounces, and complaints for each project.”
[ 06 / 07 ]Capabilities
What can your agent do with Send & Retain?
It can read everything. Every change it makes is scoped and logged.
Get the domain sending
Create the domain, hand you the DNS records, verify them, and set up a sender.
Write and test templates
Draft react.email templates in the company's brand, render them, and send you a test.
Run email automations
Welcome, trial, and win-back emails triggered by what users do, created paused.
Send transactional email
Receipts, resets, and alerts through the same checks as every other send.
Explain what happened
Follow any email to inbox, bounce, or complaint, and compare automations week over week.
Move off your old platform
Read automations from Klaviyo, ActiveCampaign, or HubSpot and rebuild them paused.
[ 07 / 07 ]Guardrails
Why you can give an agent write access
Agents, apps, and people all send through the same checks, so no prompt can talk past them.
- Automations start paused. Turning one on needs your explicit confirmation.
- No blasts. Every email goes to one person, so broad sending only comes from automations you turned on.
- Complaint suppressions can never be removed. Not by the agent, not by you.
- Every queued email re-checks the pause switch and daily cap right before it sends.
Refuse unsafe sends first
Details
not yet sentChecks before dispatch
- DomainSPF · DKIM · DMARC
- RecipientAddress verified
- SuppressionNo active block
- RouteProvider healthy
Questions people ask us
Give your agent a real email system.
Paste one prompt, approve the sign-in, and ask for a read-only audit first.