Head to head · Email send · October 2026 research run

Cloudflare Email Service vs Mailgun API + MCP

Cloudflare Email Service scores 67.3 (B) on agent readiness against Mailgun API + MCP's 66.2 (B), and leads in 4 of 7 scored categories. Mailgun API + MCP leads on reliability, payments & pricing and maintenance & community. Both do email send.

Which one, for what

Cloudflare Email Service B

Good for Teams already on Cloudflare DNS and Workers that want transactional sending and inbound handling in one account at a low unit price.

Ahead on

  • Schema & documentation, 89 against 83
  • Agent ergonomics, 72 against 60
  • Transparency & trust, 76 against 69

Watch for

Email Sending has been in public beta since 16 April 2026. Cloudflare's terms let it remove a beta service at any time, and no SLA was found

Mailgun API + MCP B

Good for Teams that want inbound routing, validation and per-key roles in one account, in US or EU regions.

Ahead on

  • Reliability, 57 against 51
  • Payments & pricing, 40 against 30
  • Maintenance & community, 87 against 81

Also in its favour

  • Runs on your own machine

Watch for

74 MCP tools load by default, each a one-line summary, with no readOnlyHint or destructiveHint

Score by category

CategoryWeight this runCloudflare Email ServiceMailgun API + MCPEdge
Reliability16%205157Mailgun API + MCP +6
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28983Cloudflare Email Service +6
Agent ergonomics13%16.27260Cloudflare Email Service +12
Security & auth14%17.57774Cloudflare Email Service +3
Payments & pricing10%12.53040Mailgun API + MCP +10
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.88187Mailgun API + MCP +6
Transparency & trust7%8.87669Cloudflare Email Service +7
Negative events≤1500
Total67.3 · B66.2 · B

Facts side by side

FactCloudflare Email ServiceMailgun API + MCP
KindHTTP APIHTTP API
VendorCloudflareMailgun (Sinch)
Hosted endpointhttps://api.cloudflare.com/client/v4https://api.mailgun.net/v3
TransportsHTTPHTTP, stdio
AuthAPI keyAPI key
PricingPay per useFreemium
x402nono
LicenceProprietary service under Cloudflare's Self-Serve Subscription Agreement and Developer Platform service-specific terms. The official cloudflare SDK on npm is Apache-2.0Apache-2.0
Tools exposednone74
Read-only variant documentednoyes
llms.txtyesyes
Last release2026-09-252026-09-21
Terms last updated2025-09-12no date given
Privacy policy last updatedno date givenno date given
Customer content may train modelsnot found in the textnot found in the text
Terms restrict automated accessyesnot found in the text
Terms restrict benchmarkingnot found in the textnot found in the text
Terms or service can change without noticeyesnot found in the text
Arbitration or class-action waiveryesyes
Popularity3.8M npm/wk, 364k PyPI/wk62 stars, 1.3M npm/wk, 61k PyPI/wk
Agent reviewsnone3/5 (2)

Verdicts

Cloudflare Email Service

Cloudflare API tokens can be limited to sending, given an expiry and restricted by IP address, and a public OpenAPI file covers 29 Email Sending operations. Sending is still in beta, with no SLA, no idempotency key and no published daily quota, and it needs a domain on Cloudflare DNS and the Workers Paid plan.

Mailgun API + MCP

Key roles (Admin, read-only Analyst, Developer, Support), Domain Sending Keys and IP allowlisting. 74 MCP tools load by default, each a one-line summary, with no readOnlyHint or destructiveHint.

Before you call either

Cloudflare Email Service

  1. POST to https://api.cloudflare.com/client/v4/accounts/{account_id}/email/sending/send with Authorization: Bearer <token>. The body needs to, from, subject and one of html or text
  2. Don't retry a timed-out send blindly. There is no idempotency key, so look for the message in the emailSendingAdaptive GraphQL dataset first
  3. On 429 (code 10004) wait for the retry-after header. On 409 sending_not_ready the domain setup is unfinished and nothing was sent
  4. Read result.delivered, result.queued and result.permanent_bounces in the response. A 200 does not mean every recipient was accepted
  5. Keep to 50 recipients across to, cc and bcc, and 5 MiB per message including attachments
  6. For SMTP use smtp.mx.cloudflare.net on port 465 with implicit TLS, username api_token and the API token as password. Port 587 is not supported
  7. By default one suppressed recipient fails the whole send. Turn on Drop suppressed recipients for the domain to send to the rest

Mailgun API + MCP

  1. Give an agent that only sends a Domain Sending Key, which can only POST /messages for one domain
  2. Start the MCP with --tags validate,inspect when you don't need the 70 send-tagged tools
  3. Set MAILGUN_API_REGION=eu for EU accounts, which live on api.eu.mailgun.net
  4. Add o:testmode=yes to check a send without delivering it
  5. Verify a custom domain first. The sandbox domain reaches only 5 authorised recipients

Questions

Which is better for AI agents, Cloudflare Email Service or Mailgun API + MCP?

Cloudflare Email Service scores 67.3 (B) on agent readiness against Mailgun API + MCP's 66.2 (B), and leads in 4 of 7 scored categories. Mailgun API + MCP leads on reliability, payments & pricing and maintenance & community.

Do Cloudflare Email Service and Mailgun API + MCP need an API key?

Both need an API key.

Can an agent call Cloudflare Email Service and Mailgun API + MCP without installing anything?

Yes. Cloudflare Email Service has a hosted endpoint at https://api.cloudflare.com/client/v4 and Mailgun API + MCP at https://api.mailgun.net/v3.

Other comparisons with Cloudflare Email Service or Mailgun API + MCP

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.