email59

com.email59Published by email59.comOfficial publisherv0.5.0Updated Oct 24, 2026

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

VerifiedStreamable HTTPWeb executableCommunication & CollaborationBusiness & Commerce

Overview

AI-generated overview

email59 is a remote MCP server that lets an assistant send transactional and marketing email, validate addresses, and manage an email account without domain or

What you can do
Sign up or sign in by emailed one-time code or API key, and manage the account profile and API keys (auth, get_account, update_account, create_api_key, list_api_keys). Send single transactional or marketing emails and bulk campaigns of up to 1,000 recipients, with unsubscribe links added automatically (send_email, send_campaign). Check and validate addresses and mailing lists, including format, disposable and role addresses, and domain mail records (check_email, check_list, validate_email). Manage the account blocklist and record opt-outs (block, unblock, list_blocklist, add_unsubscribe). Run one-time verification codes for sign-up or sign-in and check them (verify_start, verify_check). View
When to use it
Use it when an assistant needs to send transactional mail such as receipts, alerts or verification codes, or run small marketing campaigns, without setting up a domain or DNS. Also useful for cleaning a mailing list or checking whether an address is real before sending.
Requirements
Remote endpoint at email59.com over streamable HTTP. Sign-in needs an email address to receive a one-time code, or an existing API key. After auth, the session key or an API key is sent in the Authorization header. No local runtime or environment variables are declared.
Before you install
Sending mail spends the daily allowance or purchased credits, and buying packs costs real money through a checkout link a person must pay. The auth tool handles session keys and API keys; keys are shown only once. Sending, campaigns, blocklist changes and opt-outs write data and send mail to third parties. Test keys store but never deliver mail.

Installation

In SourceWeft

  1. Open email59 in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.email59%2Femail59/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "email59": {
      "type": "http",
      "url": "https://email59.com/v1/mcp"
    }
  }
}

Tools

20

auth

Sign in to email59

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>'.

Parametersotpemailapi_key

get_pricing

Get pricing

Free daily emails (renewed every day), email credits per dollar, and the packs on sale. No sign-in needed.

Takes no parameters.

get_account

Get account

The signed-in account: email, daily_limit, sent_today, remaining_today, credits_remaining, resets_at.

Takes no parameters.

update_account

Update account name, company or brand

Set the name, company or brand (the look of every email the account sends) on the account.

Parametersnamebrandcompany

send_email

Send an 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.

Parameterstorequiredcodefromhtmltextbrandheadinglist_idsubjectrequiredcategoryreply_totemplate+3 more

send_campaign

Send a marketing 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.

Parametersfromhtmltextlist_idsubjectrequiredrecipientsrequired

check_email

Deep-check an email address

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.

Parametersemailrequired

check_list

Check a mailing 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.

Parameterscsvemails

validate_email

Validate an email address

Check an address before sending. Verdicts: ok, invalid, no_mx, disposable, role.

Parametersemailrequired

block

Block an address or domain

Block an email address or a whole domain for this account. Sends to it are refused.

Parameterskindrequiredvaluerequiredreason

unblock

Unblock an address or domain

Remove an email address or domain from the blocklist.

Parameterskindrequiredvaluerequired

list_blocklist

List blocked addresses

The account's blocked addresses and domains.

Takes no parameters.

add_unsubscribe

Record an unsubscribe

Record an opt-out. Campaigns to that list (or every list, if list_id is empty) skip the address.

Parametersemailrequiredlist_id

buy_pack

Start buying an email 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=true and its version only after they agree.

Parametersagreerequiredpack_idrequiredpolicy_versionrequired

order_status

Get order status

Status of an order from buy_pack: pending or paid.

Parametersorder_idrequired

create_api_key

Create an 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.

Parametersmodelabel

list_test_messages

List test-key emails

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.

Parametersidtolimit

list_api_keys

List API keys

The account's API keys (ids and labels, never the keys themselves).

Takes no parameters.

verify_start

Send a verification code

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.

Parameterstorequiredfromapp_nameexpires_incode_length

verify_check

Check a verification code

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.

Parametersidtocoderequired

Version history

1
  1. v0.5.0LatestOct 24, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.