Check signup emails for disposable or dead domains, typos and Gmail aliases; block fake signups.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Checks up to 50 email domains (for example the domains of recent signups) and says which are disposable, which cannot receive mail, and which look fine. Send only domains, never full addresses.
Email domains such as mailinator.com or gmail.com
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http vetto https://usevetto.com/mcp
Checks up to 50 email domains (for example the domains of recent signups) and says which are disposable, which cannot receive mail, and which look fine. Send only domains, never full addresses.
| Argument | Type | Description |
|---|---|---|
| domains* | array | Email domains such as mailinator.com or gmail.com |
{
"type": "object",
"required": [
"domains"
],
"properties": {
"domains": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50,
"description": "Email domains such as mailinator.com or gmail.com"
}
},
"additionalProperties": false
}Checks one email address the way a signup form would: invalid syntax, disposable/throwaway domain, domain that cannot receive mail (no MX), likely typo with a suggested fix (e.g. gmial.com -> gmail.com), privacy relay (Apple Hide My Email, Firefox Relay: allowed, they reach a real inbox) and role addresses. Returns a verdict (allow, suggest, warn, block) with reasons.
| Argument | Type | Description |
|---|---|---|
| email* | string | The email address to check, e.g. [email protected] |
{
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"description": "The email address to check, e.g. [email protected]"
}
},
"additionalProperties": false
}Returns setup steps and links for blocking disposable and fake signups on a given stack: next.js, supabase, clerk, better-auth, auth.js, firebase, laravel, django, or html (any form: Webflow, Framer, WordPress).
| Argument | Type | Description |
|---|---|---|
| stack* | string | The framework or auth provider |
{
"type": "object",
"required": [
"stack"
],
"properties": {
"stack": {
"enum": [
"next.js",
"supabase",
"clerk",
"better-auth",
"auth.js",
"firebase",
"laravel",
"django",
"html"
],
"type": "string",
"description": "The framework or auth provider"
}
},
"additionalProperties": false
}Compares two addresses after normalising Gmail dots, +tags and googlemail.com. Use it to spot one person signing up again for a free trial with an alias ([email protected] vs [email protected]).
| Argument | Type | Description |
|---|---|---|
| a* | string | First email address |
| b* | string | Second email address |
{
"type": "object",
"required": [
"a",
"b"
],
"properties": {
"a": {
"type": "string",
"description": "First email address"
},
"b": {
"type": "string",
"description": "Second email address"
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 12, 2026.