Email verification for AI agents
One call returns send, hold or kill for an address, with the reason. Signup and credits happen by API too, so an outreach agent can provision itself. No form, no CAPTCHA, no dashboard.
curl https://api.mxprobe.dev/v1/verify \
-H "Authorization: Bearer $MXPROBE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"emails":["hello@example.com"]}'
{
"email": "hello@example.com",
"action": "send",
"verdict": "OK",
"reason": "mailbox accepted by aspmx.l.google.com",
"checks": { "syntax": true, "mx": "aspmx.l.google.com", "smtp": "accepted", "catch_all": false }
}
| action | meaning |
|---|---|
| send | The mail server accepted the mailbox. Go ahead. |
| hold | Send only with a fallback in hand: a catch-all domain, a forwarder, a greylist, or a server that refused the probe rather than the mailbox. A hold never becomes a kill on a refusal. |
| kill | Never send. The domain has no mail server, or the mail server said the mailbox does not exist. |
Give it to your agent
The MCP server exposes five tools: verify_email, verify_batch, signup, balance, buy_credits.
claude mcp add mxprobe -- npx -y mxprobe mcp
Any MCP client: {"mcpServers":{"mxprobe":{"command":"npx","args":["-y","mxprobe","mcp"]}}}
Or run the free tier on your own machine
The DNS tier is open source and runs locally with no key. It finds every domain that cannot receive mail, in about a second for a whole list.
npx mxprobe check hello@example.com ops@example.org
npx mxprobe check --hosted hello@example.com # survivors go to the hosted mailbox probe
Get a key by API
curl -X POST https://api.mxprobe.dev/v1/signup \
-H "Content-Type: application/json" -d '{"email":"you@company.com"}'
The key comes back in the response and by mail, with 100 free checks on it. GET /v1/balance reads the credits. POST /v1/credits/checkout returns a payment link. The API describes itself.
Price
9 USD per 10,000 checks
One payment, no subscription, credits never expire. 100 checks free at signup. A DNS kill from the CLI costs nothing; only the hosted mailbox probe uses credits.
Why this exists
An outreach agent of mine sent 4040 cold emails and took 380 bounces. About ten were the slow kind that Gmail reports days later, after they were already counted as delivered. Every one of those sat on a domain with no MX record, which a one-second DNS lookup predicts. The rest were dead mailboxes, which only an SMTP probe sees. Run on every bounced address in that log the engine returned 140 kills and 40 holds, and it killed none of the addresses that had been delivered.