email59

com.email59/email59 · v0.5.0 · communication

email59 is healthy: it completed an MCP handshake in 909 ms and exposes 20 tools.

Send transactional email from AI agents: sign up by email code, no domain or DNS setup.

Endpoint: https://email59.com/v1/mcp (streamable-http)

No repository listed · Website · JSON · Add to my inventory

Facts

Users (last 30 days)0
HandshakeHealthy
Auth neededNone
Tool count20
Latency909 ms
Last checked (UTC)2026-10-24T11:30:11.107Z

Health history

Checked (UTC)StatusLatencyError
2026-10-24T11:30:11.107ZHealthy909

Tools (20)

authSign up or sign in to email59. Pass email to have a 6-digit code emailed, then call again with email and otp to get a session key (a new email is signed up with 200 free emails a day). Or pass api_key to swap an API key for a session key. Send the key as the HTTP header 'Authorization: Bearer <sessi
get_pricingFree daily emails (renewed every day), email credits per dollar, and the packs on sale. No sign-in needed.
get_accountThe signed-in account: email, daily_limit, sent_today, remaining_today, credits_remaining, resets_at.
update_accountSet the name, company or brand (the look of every email the account sends) on the account.
send_emailSend one email to one recipient: transactional (receipt, code, alert) or marketing (category). It goes out as HTML in a branded template with a text part; give text, html or both. Uses 1 email of today's allowance. Many recipients at once: send_campaign.
send_campaignSend a marketing email to up to 1,000 recipients; the unsubscribe link is added for you. Invalid, role, blocked or unsubscribed recipients are skipped and cost nothing; each accepted recipient uses 1 email of today's allowance. A campaign that doesn't fit what's left today is refused whole.
check_emailFree deep check of an email address, no sign-in needed: format, provider username rules, disposable and role addresses, and the domain's MX, SPF, DMARC, DKIM, MTA-STS, TLS-RPT and BIMI records. Returns a report with a score (0-99, likelihood the address is real) and a verdict (likely_valid, risky, l
check_listList check for a mailing list: up to 1,000 different addresses a call, as emails or the text of a CSV (the column headed email). One status each: valid, risky, role, disposable, no_mx or invalid, with a reason, plus counts per status. Format, provider rules and one MX lookup per domain; no email is
validate_emailCheck an address before sending. Verdicts: ok, invalid, no_mx, disposable, role.
blockBlock an email address or a whole domain for this account. Sends to it are refused.
unblockRemove an email address or domain from the blocklist.
list_blocklistThe account's blocked addresses and domains.
add_unsubscribeRecord an opt-out. Campaigns to that list (or every list, if list_id is empty) skip the address.
buy_packStart buying a pack (pack_5 = $5, pack_10 = $10, pack_50 = $50; each $1 adds 3,636 email credits, which don't renew and last until used, plus a purchase fee of 5% or at least $0.50 at checkout; GET /v1/pricing has the totals). Returns a checkout_url for a person to pay; the credits arrive once the p
order_statusStatus of an order from buy_pack: pending or paid.
create_api_keyCreate a long-lived API key (max 10 per account). It is shown only once. mode 'test' makes an e59_test_ key for staging and CI: its sends are accepted and stored, never delivered, and use no allowance.
list_test_messagesEmails sent with a test key (e59_test_...), newest first: accepted, stored, never delivered. Pass id for one email with its html and text (a verify_start code is in there), or to to filter by recipient.
list_api_keysThe account's API keys (ids and labels, never the keys themselves).
verify_startEmail a one-time verification code to an address (sign-up, sign-in, confirming an email). email59 makes the code, sends it, limits resends and expires it; the code is never returned to you. Returns an id. Uses 1 email of today's allowance. A new code to the same address replaces the one waiting ther
verify_checkCheck a code from verify_start. Give to (checks the newest code sent there) or id, and code. Returns valid true or false and a status: approved, wrong_code, expired, too_many_attempts (5 wrong codes lock it), already_used, replaced or not_found. A right code works once. Uses no allowance.