email59
Send transactional email from AI agents: sign up by email code, no domain or DNS setup.
| Endpoint | https://email59.com/v1/mcp (streamable-http) |
|---|---|
| Registry version | 0.5.0 |
| Now | 20 tools · grade A (91) · pin ts_c59d8d01b22640a04927f29aafb97078 · protocol 2025-06-18 |
| First / last listed | 2026-10-24 21:03 UTC / 2026-10-24 21:03 UTC |
| Grade over time | 2026-10-24: A (91), 20 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: auth get_pricing get_account update_account send_email send_campaign check_email check_list validate_email block unblock list_blocklist add_unsubscribe buy_pack order_status create_api_key list_test_messages list_api_keys verify_start verify_check
auth | Sign 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 <session_key>'. params: email, otp, api_key |
get_pricing | Free daily emails (renewed every day), email credits per dollar, and the packs on sale. No sign-in needed. params: none |
get_account | The signed-in account: email, daily_limit, sent_today, remaining_today, credits_remaining, resets_at. params: none |
update_account | Set the name, company or brand (the look of every email the account sends) on the account. params: name, company, brand |
send_email | Send 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. params: from, to*, subject*, text, html, reply_to, category, list_id, template, heading, preheader, button_text, button_url, code, brand |
send_campaign | Send 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. params: from, subject*, html, text, list_id, recipients* |
check_email | Free 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, likely_invalid, unknown). Gmail, Outlook and other big providers skip DNS. No email is sent. params: email* |
check_list | List 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 sent. Daily limit per account; the answer's quota shows what is left today. params: emails, csv |
validate_email | Check an address before sending. Verdicts: ok, invalid, no_mx, disposable, role. params: email* |
block | Block an email address or a whole domain for this account. Sends to it are refused. params: kind*, value*, reason |
unblock | Remove an email address or domain from the blocklist. params: kind*, value* |
list_blocklist | The account's blocked addresses and domains. params: none |
add_unsubscribe | Record an opt-out. Campaigns to that list (or every list, if list_id is empty) skip the address. params: email*, list_id |
buy_pack | Start 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 payment clears. First show the person the refund policy and terms from GET /v1/policy; pass agree=tru params: pack_id*, agree*, policy_version* |
order_status | Status of an order from buy_pack: pending or paid. params: order_id* |
create_api_key | Create 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. params: label, mode |
list_test_messages | Emails 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. params: id, to, limit |
list_api_keys | The account's API keys (ids and labels, never the keys themselves). params: none |
verify_start | Email 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 there. Then call verify_check with what the person typed. params: to*, app_name, from, code_length, expires_in |
verify_check | Check 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. params: to, id, code* |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.