SendGrid vs Mailgun
On the 29 checks both could be read on, SendGrid is 2 ahead of Mailgun.
SendGridyouMailgun
These are public files we could read. They don't rank the products or show what an agent can do with them.
How close · on the 29 shared checks
SendGrid 92Mailgun 90
Dashed: SendGrid after 1 fix (96) and 2 fixes (97). Our maths on these checks, not a forecast.
3 checks pass on Mailgun and fail on SendGrid. SendGrid passes 4 checks that fail on Mailgun. SendGrid passes 1 check where we found something close on Mailgun.
Fix these first
Most points for the least effort. What you tick goes into the prompts below, one for each team with a job to do.
If these 3 pass, SendGrid's full score goes from 92 to 99. That's our checks, not a forecast of what agents do. Effort: minutes, our estimate.
Passes on Mailgun, fails our check on SendGrid
Most points for the least effort first, each next to the real file that passes.
We couldn't judge SendGrid on these
They pass on Mailgun. These don't count against SendGrid, and they aren't in the numbers above.
Sign-in an MCP client can use
On SendGrid: not counted: no OAuth sign-in found to judge
Passes on Mailgun.
Passes on SendGrid, fails our check on Mailgun
llms.txt linked from your pages
Fails our check on Mailgun.
Structured docs page
We found something close on Mailgun. The full result has a dated note.
Docs in Markdown
Fails our check on Mailgun.
Errors have a schema
Fails our check on Mailgun.
An agent skill is published
Fails our check on Mailgun.
Nobody here passes our check yet
A chance to be first, if it's worth doing for you.
Tools for browser agents
Don't do it for the score. It's still a proposed standard, and almost nobody on our boards passes our check, though Bird, Postmark and CrewAI load it from a script our check doesn't read. Build it only if agents need to operate forms on your site. Our judgement.
Check by check
| Check | SendGrid | Mailgun |
|---|---|---|
| llms.txt linked from your pages | Pass | Fail |
| llms.txt links work, and it fits | Fail | Pass |
| Structured docs page | Pass | Fail |
| Docs in Markdown | Pass | Fail |
| Structured data | Fail | Pass |
| Machine-readable discovery file | Fail | Pass |
| Errors have a schema | Pass | Fail |
| An agent skill is published | Pass | Fail |
31 checks in all, 8 differ. 2 checks count for only some of you (Couldn't check or Not counted where it doesn't), so your totals can differ even where no check does. * We found something close: the full result has a dated note.
Track it weekly, or add it for your coding agent
Add it for your coding agent
Adds a skill to your project. Ask your agent to use it, and it scans your live site, reads the real file behind each gap and helps write your own. It only publishes if you ask.
npx legible-cli skill
If Windows PowerShell blocks npx, type npx.cmd instead.
Get warned when something changes
A GitHub Action that runs in your own repo, once a week. It fails, naming the check, if something the first site passes stops passing or a rival starts passing something it fails today. Each alert links back to the result. Add a Slack webhook as a repo secret named SLACK_WEBHOOK_URL, and a change also posts to your channel; nothing else is sent to us. Anything we can't be sure of only warns. GitHub notifies whoever created the job, depending on their settings. In a public repo, it turns scheduled jobs off after 60 days with no activity.
.github/workflows/legible.yml
A fail means our check didn't pass on what we read, which doesn't prove the thing isn't there. How we check. Why another scanner gives a different number.