Mailgun vs Plunk
Mailgun scores higher on the AgentReady, 58/100 against 26/100. They differ on 13 of the 41 signals. Which ones decides whether an agent can adopt them without a person watching.
What each one is
Mailgun. Transactional Email Delivery Service & API for Developers.
Plunk. An open-source self-hosted email platform and email automation platform with transactional email, contacts, campaigns, segments, templates, workflows, events, and analytics capabilities
Where Mailgun is ahead
Mailgun passes clear canonical domain, clear product positioning and machine-readable metadata, and Plunk does not. That is discover, whether an agent can find the product at all without being told it exists.
It also holds understand: pricing understandable. Plunk misses it.
And on adopt, self-service signup, agent-compatible signup flow, free trial or free allowance, fast time to first request, copyable quickstart, official typescript sdk and official python sdk. Plunk misses those.
Finally, on operate, canonical workflow succeeds and observable execution. Plunk misses those.
What neither does
Both fail public docs discoverable, llms.txt published, llms-full.txt / full agent docs, structured api reference, openapi / spec quality, request examples provided, response examples provided, errors and status codes documented, limits / constraints documented, no mandatory sales call, programmatic credential creation, cli available, structured, predictable output, machine-readable errors, retry behavior documented, idempotency support, rate-limit behavior predictable. If your agent needs any of those, you will be building it yourself either way.
Score, pillar by pillar
The AgentReady splits into four pillars, scored separately, because a product can be easy to find and still impossible to adopt.
Discover. Mailgun leads 73 to 47. Mailgun misses public docs discoverable, llms.txt published, llms-full.txt / full agent docs; Plunk misses clear canonical domain, clear product positioning, public docs discoverable, llms.txt published, llms-full.txt / full agent docs, machine-readable metadata.
Understand. Mailgun leads 31 to 23. Mailgun misses structured api reference, openapi / spec quality, request examples provided, response examples provided, errors and status codes documented, limits / constraints documented; Plunk misses structured api reference, openapi / spec quality, pricing understandable, request examples provided, response examples provided, errors and status codes documented, limits / constraints documented.
Adopt is whether an agent can get a key and make its first successful call without a human in the loop. Mailgun leads 75 to 15. Mailgun misses no mandatory sales call, programmatic credential creation, cli available; Plunk misses self-service signup, no mandatory sales call, agent-compatible signup flow, programmatic credential creation, free trial or free allowance, fast time to first request, copyable quickstart, official typescript sdk, official python sdk, cli available.
Operate. Mailgun leads 53 to 18. Mailgun misses structured, predictable output, machine-readable errors, retry behavior documented, idempotency support, rate-limit behavior predictable; Plunk misses canonical workflow succeeds, structured, predictable output, machine-readable errors, retry behavior documented, idempotency support, rate-limit behavior predictable, observable execution.
Pricing
Mailgun does not publish a machine-readable starting price and has a free tier. Plunk does not publish one.
Signal by signal
| Signal | Mailgun | Plunk |
|---|---|---|
| AgentReady | 58 | 26 |
| Discovery | 73 | 47 |
| Understanding | 31 | 23 |
| Adoption | 75 | 15 |
| Operability | 53 | 18 |
| Public API | Yes | Yes |
| MCP server | Yes | Yes |
| OpenAPI spec | Unknown | Unknown |
| CLI | Unknown | Unknown |
| llms.txt | Unknown | Unknown |
| Self-serve signup | Yes | Unknown |
| Free tier | Yes | Unknown |
Which to pick
Mailgun clears more of the signals an agent needs, so it is the safer default for unattended use. Full profiles: Mailgun and Plunk. Alternatives to each: Mailgun, Plunk.
An agent can fetch this as data: POST /v1/compare {"slugs": ["mailgun", "plunk"]}