x402-email-verifier
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@x402-email-verifierverify jane.doe@gmail.com before I send her the invite"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
x402 Email Verifier: pay-per-call email verification for AI agents
A remote MCP server on Cloudflare Workers that lets an AI agent check an email address before it sends to it, stores it, or acts on it. Each call to the email_verify tool costs $0.001 USDC, paid with the x402 protocol. You don't need an account or an API key: an x402-capable client pays per call.
Built on the Cloudflare Agents SDK (McpAgent, withX402, paidTool). The endpoint is Streamable HTTP at /mcp.
Status: live on Base mainnet (
eip155:8453, USDC) since 2026-10-17, settled via the PayAI facilitator.
Tools
Tool | Price | Description |
| $0.001 USDC / call (x402) | Checks one email address and returns a JSON report (see below). |
| Free | Returns service status, price and payment network. |
What email_verify checks
Syntax: a pragmatic RFC 5322 subset (dot-atom local part, LDH domain labels, length limits, valid TLD). Failures return a reason code such as
invalid_local_part,multiple_atordomain_missing_tld.MX lookup: DNS-over-HTTPS through Cloudflare DNS (
cloudflare-dns.com). It returns up to 5 MX records sorted by priority, and it detects NXDOMAIN and null MX.Disposable domain: an offline list that also matches subdomains.
Role address: for example
info@,support@and similar. Plus-tags are ignored.Free provider: flags consumer mailbox providers such as gmail.com.
Score (0–100) and verdict:
deliverable,risky,undeliverableorunknown.
Scoring: valid syntax = 50; MX found +40 (lookup failed +15); not disposable +10, disposable −40; role address −20; no MX caps the score at 10. Invalid syntax scores 0. Verdicts:
undeliverable: invalid syntax or no MX.deliverable: MX found and score ≥ 80.risky: MX found and score < 80, or the MX lookup failed on a disposable domain.unknown: the MX lookup failed and the domain is not disposable.
Limitation: domain-level only
The server does not do an SMTP mailbox probe (Workers can't open port 25). It can tell you whether a domain accepts mail. It can't tell you whether a specific mailbox exists. Treat deliverable as "the domain is set up to receive mail and nothing looks risky".
Related MCP server: email-verification
Example
Request (MCP tools/call):
{ "name": "email_verify", "arguments": { "email": "jane.doe@gmail.com" } }Response (returned as text content containing JSON; this is real output from the code, with mx_records trimmed):
{
"email": "jane.doe@gmail.com",
"normalized": "jane.doe@gmail.com",
"syntax_valid": true,
"syntax_reason": null,
"local_part": "jane.doe",
"domain": "gmail.com",
"disposable": false,
"role_based": false,
"free_provider": true,
"mx_found": true,
"mx_records": [
{ "priority": 5, "exchange": "gmail-smtp-in.l.google.com" },
{ "priority": 10, "exchange": "alt1.gmail-smtp-in.l.google.com" }
],
"score": 100,
"verdict": "deliverable",
"checked_at": "2026-10-14T14:52:50.844Z"
}health returns:
{ "ok": true, "service": "x402-email-verifier", "price_usd": 0.001, "network": "eip155:8453" }Connect
Endpoint (TBD):
https://<your-worker>.workers.dev/mcp. A public hosted URL hasn't been published yet. Replace this placeholder with your own deployment.
Payment is required for email_verify. Without payment, the server answers with an x402 payment-required response that lists the payment requirements (amount, asset, network, recipient). To pay automatically, your MCP client must support x402, for example withX402Client from agents/x402, with a wallet funded with USDC on the configured network. The health tool works with any MCP client.
Claude Desktop / Cursor / other clients: add the server as a remote (Streamable HTTP) MCP server. If your client only supports stdio, use a bridge such as mcp-remote:
{
"mcpServers": {
"email-verifier": {
"command": "npx",
"args": ["mcp-remote", "https://<your-worker>.workers.dev/mcp"]
}
}
}Standard clients and bridges can't sign x402 payments on their own. To make paid calls, route them through an x402-capable client or proxy.
Testing with the MCP Inspector:
npx @modelcontextprotocol/inspector # connect to https://<your-worker>.workers.dev/mcpPayments are real Base mainnet USDC. For local testing on Base Sepolia, set X402_NETWORK=eip155:84532 and get test USDC from https://faucet.circle.com
Payment details
Price | $0.001 USDC per |
Network | Base mainnet, |
Asset | USDC (Base: |
Facilitator |
|
Self-host / deploy
Requirements: Node ≥ 22 (for Wrangler 4) and a Cloudflare account.
npm install
cp .dev.vars.example .dev.vars # then set MCP_ADDRESS to YOUR Base address
npm run typecheck
npm run smoke # runs the verification logic, no payment (-- --offline skips DNS)
npm run dev # http://localhost:8787/mcpDeploy:
npx wrangler login
npx wrangler secret put MCP_ADDRESS # address that receives payments
npm run deploy # https://x402-email-verifier.<subdomain>.workers.dev/mcp⚠️ The address in
.dev.vars.exampleis a throwaway test address with no saved key. Never use it to receive real funds.
Configuration
Variable | Purpose |
| Address that receives payments. |
| Payment network. Set to |
| x402 facilitator. Set to |
The disposable, role and free-provider lists are in src/lists.ts, and the verification logic is in src/verify.ts. No third-party email API is used.
Credits
Adapted from the cloudflare/agents x402-mcp example.
This server cannot be deployed
Maintenance
Related MCP Connectors
Validates email syntax and MX records. x402 payment required (testnet USDC).
Real-time RFC 5322 email verification, SPF/DMARC DNS audits & B2B leads (x402 Base USDC).
Email verification for AI agents — verify, clean & validate emails; self-onboard + crypto pay
Email intelligence for agents: MX, SPF/DKIM/DMARC, disposable/role checks, and a 0-100 score.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to verify email addresses through a multi-signal probabilistic pipeline, returning confidence scores and honest statuses (safe/risky/invalid/unknown) with evidence.Apache 2.0
- AlicenseNot gradedqualityCmaintenanceReal-time email verification API with syntax, MX, disposable detection, role-based flags, quality score 0-100. Built for agent outreach pipelines with pay-per-call via x402 (USDC on Base L2) -- no API key, no signup, no rate-limit wall.MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to verify email addresses in real-time, checking syntax, DNS, MX records, and SMTP handshake, returning verdicts and deliverability scores without sending actual emails.-
- AlicenseAqualityAmaintenanceEnables AI agents to verify email addresses and receive a 'send', 'hold', or 'kill' verdict with the reason, while also managing signup and credits programmatically.52MIT