send.ad
v0.4.0
Published
Send CLI + MCP server — AI autopilot email marketing for people and AI agents. One-line brief in, campaign out. Pay per email sent, unlimited contacts.
Maintainers
Readme
send.ad
CLI + MCP server for Send — AI autopilot email marketing, built for people and AI agents alike. Describe a campaign in one line; the AI writes the subject, body and design, you approve (or let it run), and it sends. Pay per email sent, unlimited contacts.
Install
npm i -g send.ad # installs the `sendad` command
# or run without installing:
npx send.ad --helpRequires Node.js 18 or newer.
Quick start
sendad login --key sd_live_… # or: export SEND_API_KEY=sd_live_…
sendad contacts import ./subscribers.csv --list customers # Mailchimp exports are recognized
sendad ai "20% off gift sets until 9/25, free shipping" --list customers --send
sendad campaigns report <id> --jsonGet an API key from Settings → API keys in your Send workspace.
Commands
| Command | What it does |
| --- | --- |
| sendad login [--key sd_live_…] [--base URL] | Save an API key to ~/.sendad/config.json |
| sendad whoami | Workspace, role and balance |
| sendad balance | Balance, unit price, estimated sends left |
| sendad lists list · lists create <name> | Contact lists |
| sendad contacts list [--list L] [--q Q] [--status S] | Search contacts |
| sendad contacts add <email> [--first-name … --list L --tag T… --attr k=v…] | Add or update a contact |
| sendad contacts import <file.csv> --list L | Import a CSV |
| sendad templates | Starter and custom templates |
| sendad ai "<brief>" [--list L…] [--tone T] [--send] [--at ISO] [--wait] | One-line brief → AI campaign |
| sendad campaigns list [--status S] | Campaigns |
| sendad campaigns create --name N --subject S [--list L…] [--design d.json \| --html b.html] | Draft with your own content |
| sendad campaigns send <id> [--at ISO] | Send now or schedule |
| sendad campaigns status <id> · campaigns report <id> | Counts, rates, clicks by link |
| sendad send --to <email…> --subject S (--html H \| --html-file F \| --text T) | One-off / transactional email |
| sendad txn send --to <email…> --subject S [--merge k=v…] | Transactional API send (Mandrill-compatible; Mailchimp \|TAG\| merge tags work) |
| sendad txn messages [--status S] [--q Q] | Search transactional delivery status |
| sendad txn webhooks | List event webhooks (delivery events pushed to your URL) |
| sendad txn webhook-add <url> [--event open click …] | Register an event webhook — prints the signing secret once |
| sendad txn webhook-remove <id> | Delete a webhook |
| sendad approvals · approve <id> [--at ISO] · reject <id> [--note …] | Approval queue for AI drafts |
| sendad autopilot mode [manual\|approve\|auto] | How much the AI may do on its own |
| sendad autopilot create --name N --brief "…" --cadence weekly --dow 2 --hour 10 [--list L…] [--rss URL] | Recurring plan |
| sendad autopilot list · run <id> · pause <id> · resume <id> | Manage plans |
| sendad learning | What past results taught the AI; best send hours |
| sendad domains list · domains add <domain> · domains verify <id> | Sending domains |
| sendad mcp | Run the MCP server on stdio |
Every command accepts --json for a stable, machine-readable response (the raw API payload). Exit codes: 0 success, 1 error, 2 authentication failed.
Lists can be referenced by name or id anywhere a --list option appears.
Autopilot modes
manual— the AI only creates drafts; you send them yourself.approve— AI drafts wait for one approval (default). Approve from the CLI, the approval email, or the web app.auto— the AI sends on its own when the guardrails pass (balance, audience size, quiet hours, content checks).
MCP server
Expose Send to Claude Code, Claude Desktop, Cursor or any MCP client. Tools are named send_* (send_ai_campaign, send_add_contacts, send_campaign_status, send_approve_campaign, send_set_autopilot_mode, …).
claude mcp add sendad -e SEND_API_KEY=sd_live_… -- npx -y send.ad mcpConfiguration
| Setting | Where |
| --- | --- |
| API key | SEND_API_KEY env var, or sendad login --key … (stored in ~/.sendad/config.json) |
| API base URL | SEND_BASE_URL env var, or sendad login --base … (default https://send.ad) |
Money is shown in your workspace currency: ₩1,234 for KRW workspaces, $1.23 for USD workspaces (unit prices such as $0.002). --json returns the raw stored amounts.
Links
Docs: https://send.ad/docs/cli · OpenAPI: https://send.ad/api/v1/openapi.json · Agent skill: https://send.ad/skill.md · Support: [email protected]
