Blog

Hit the Free MCP send or mailbox limit? Here’s the upgrade path

You’re on Free. The agent is working. Then MCP returns a limit error — daily send cap, or “you already have your one mailbox.” That’s expected. Free is sized for a personal agent with guardrails; when you outgrow it, the path is in-product Upgrade, not a support ticket.

Assistant Mail = allowlist + recipient consent — SSH-keys-for-email. Caps exist so a runaway tool call doesn’t become open-season outbound.

Not an official OpenClaw or Hermes endorsement. Not for AISDR / cold outbound.

What assistantmail_get_usage shows

Call assistantmail_get_usage (mailbox-scoped) when you want a clear picture before the next send fails.

Typical Free-shaped response (fields may vary slightly by MCP version):

Field Free meaning
plan / tier free
mailboxes.used / mailboxes.limit 1 / 1
sends.day (or day) used vs 25/day
sends.month (or month) limit: null on Free (daily cap applies)
upgradeUrl In-app Upgrade deep link (Starter), tracked with utm_campaign=mcp_limit
hint Soft copy pointing at Starter capacity + consent

Upgrade to Starter → Create Free account →

MCP itself may already return an upgradeUrl like:

https://app.assistant-mail.ai/upgrade?plan=starter&utm_source=mcp&utm_medium=error&utm_campaign=mcp_limit

Same destination; different UTM (blog click vs MCP error click). Prefer the URL the tool returned mid-incident.

Limit errors that point to Upgrade (429 / 403)

When create-mailbox or send hits a Free ceiling, MCP surfaces a structured error — often 403 (mailbox) or 429 (send/rate) — with an Upgrade hint and URL.

Mailbox limit (example shape)

{
  "error": "mailbox_limit",
  "message": "You’ve hit the Free mailbox limit (1).",
  "code": "mailbox_limit",
  "hint": "Upgrade to Starter for 1,000 emails/mo and consent invites.",
  "upgradeUrl": "https://app.assistant-mail.ai/upgrade?plan=starter&utm_source=mcp&utm_medium=error&utm_campaign=mcp_limit"
}

Send / daily usage cap

Same pattern: message names the Free 25/day (or remaining) limit, hint points at Starter, and upgradeUrl carries utm_campaign=mcp_limit. Treat 429/403 with upgradeUrl as the product’s intended next step.

Operator checklist:

  1. Call assistantmail_get_usage — confirm day used/limit and mailbox used/limit.
  2. If the error body includes upgradeUrl, open it (MCP-tracked).
  3. Or use the Upgrade CTA from this post.
  4. Still evaluating? Stay on Free — Free CTA.

Concrete limits

Free Starter — $9.99/mo
Mailboxes 1 3
Send volume 25 / day 1,000 / mo
Recipients Allowlist before send Consent invites
Upgrade — In-app Upgrade → Checkout

Stay on Free while one personal agent + allowlist is enough. Upgrade when you need a second/third mailbox, monthly headroom past 25/day, or consent invites.

Install / reconnect

  • ClawHub / OpenClaw skill: openclaw skills install @assistantmail/assistant-mail
  • MCP server: npx @assistantmail/assistantmail-mcp
  • Docs: assistant-mail.ai/docs
  • Set ASSISTANT_MAIL_API_KEY, list mailboxes for UUID mailboxId, then assistantmail_get_usage / assistantmail_send_email.

Upgrade or stay on Free

Primary (cap hit):

Upgrade to Starter →

Secondary (try Free):

Create Free account → Read the docs

Assistant Mail — allowlist agent email for OpenClaw & Hermes operators. Free caps are intentional; when MCP points you at Upgrade, Starter ($9.99) is the next step. Not cold outbound.