This MCP server checks email addresses for typos, disposable domains, and dead domains. It runs locally and does not require an API key. The server is identified by the slug io-github-akshaycu777-ui-bouncelens-email-check.
🛠️ Key Features
Email typo checking
Disposable domain detection
Dead domain detection
Local execution (no API key)
🚀 Use Cases
Validate email inputs in local workflows
Identify common email formatting mistakes
Reduce risk from disposable or non-functional email domains
⚡ Developer Benefits
No external API key needed
Works in local environments
Focused capability for email quality checks
⚠️ Limitations
Described functionality is limited to typo, disposable domain, and dead domain checks only
Lets Claude, Cursor and other MCP clients check email addresses before you send to them or save them. It finds:
Typos in the domain: jane@gmial.com → did you mean jane@gmail.com?
Disposable / throwaway domains (mailinator.com, 10minutemail and ~9,000 more)
Dead domains: the domain doesn't exist, has no mail server, or says it accepts no email (null MX)
Bad syntax, role addresses (info@, sales@), free providers, and duplicates (Gmail dot and +tag variants count as the same inbox)
The mail provider behind the domain (Google, Microsoft, Proofpoint, …)
Runs on your machine. No API key, no account, no sign-up. The only network calls are DNS lookups over HTTPS (Cloudflare 1.1.1.1). It uses the same checks as the free checker at bouncelens.com.
It never connects to the recipient's mail server, so it can't confirm that a mailbox exists. The best result is unconfirmed (format and domain OK). To check a whole CSV in your browser, use bouncelens.com.
Install
Requires Node.js 18 or newer. Also listed on Smithery.
Claude Code
sh
claude mcp add bouncelens -- npx -y github:bouncelens/mcp-email-check
Claude Desktop, Cursor, Windsurf and other clients. Add this to the client's MCP config (claude_desktop_config.json, .cursor/mcp.json, …):
git clone https://github.com/bouncelens/mcp-email-check.git
cd mcp-email-check && npm install
# then use: "command": "node", "args": ["/path/to/mcp-email-check/index.js"]
Tools
Tool
Input
Returns
check_email
email (string)
One result
check_emails
emails (array, max 500)
summary with counts + one result per address, in input order
Each result (real output for a mistyped Outlook address):
json
{"input":"jane@outlok.com","email":"jane@outlok.com","status":"risky","reasons":["No MX record; mail would go to the website server","Looks like a typo of outlook.com"],"flags":{"disposable":false,"role":false,"free":false,"duplicate":false,"gateway":false},"did_you_mean":"jane@outlook.com","provider":null,"mx":null}
status
Meaning
invalid
Will bounce: bad syntax, domain doesn't exist, no mail server, or null MX
risky
Disposable domain, likely typo, no MX record (mail would go to the web server), or the DNS lookup failed
unconfirmed
Format and domain OK. The mailbox itself isn't checked
Example prompts
"Check these sign-ups for fake or mistyped emails: …"