About Mail7 Email Validation
Mail7 Email Validation is an MCP server for validating addresses and checking domain mail configuration. It is intended for assistants and teams cleaning email lists or diagnosing delivery setup, and reports uncertain results separately from invalid ones.
Key features
- 01Validate a single email address
- 02Check lists of up to 50 addresses
- 03Audit domain mail configuration
- 04Inspect SPF records and lookups
- 05Return Valid, Not Valid, or Unknown
Use cases
- 01Check an address before adding it to a list
- 02Clean a signup list in batches
- 03Investigate mail delivery or spam issues
- 04Review SPF, DKIM, DMARC, and MX configuration
MCP support
The server exposes four email-validation and domain-checking tools to MCP clients, including address validation, list validation, SPF checks, and full domain audits.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y mail7-mcpMAIL7_API_KEYSecretMail7 API key. Optional, but anonymous callers are limited to 5 checks per minute and a 25-address bulk sample. Get one at https://mail7.net/account/MAIL7_BASE_URLOverride the API endpoint. Defaults to https://mail7.net/apiLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
4Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| string | Yes | The email address to check, e.g. [email protected] |
Details
From the project READMEMail7 MCP server
Email validation for AI assistants. This is an MCP server that gives Claude, Cursor, Windsurf, Cline and any other MCP client four tools: verify a single address, clean a list, check a domain's SPF record, and audit a domain's whole mail configuration.
Honest by design: Mail7 answers Valid, Not Valid or Unknown, and the tool descriptions tell the model in plain words that Unknown means "could not be verified", not "bad". An assistant using this server will not silently delete addresses it could not check.
Install
Node 18+ required. No install step - the server runs through npx.
Claude Code
claude mcp add mail7 --env MAIL7_API_KEY=your_key -- npx -y mail7-mcp
Claude Desktop (claude_desktop_config.json), Cursor (~/.cursor/mcp.json),
and most other clients use the same shape:
{
"mcpServers": {
"mail7": {
"command": "npx",
"args": ["-y", "mail7-mcp"],
"env": { "MAIL7_API_KEY": "your_key" }
}
}
}
Get an API key at mail7.net/account. The server also runs without one, but anonymous callers are limited to 5 checks per minute and a 25-address free bulk sample - not enough for real work.
| Variable | Default | Purpose |
|---|---|---|
MAIL7_API_KEY | - | Raises rate limits, unlocks full bulk validation |
MAIL7_BASE_URL | https://mail7.net/api | Override the API endpoint |
Tools
| Tool | What it does |
|---|---|
validate_email | One address: syntax, MX, disposable-domain check, live SMTP mailbox probe |
validate_emails | Up to 50 addresses per call, with a Valid / Not Valid / Unknown summary |
check_domain | Full mail-config audit graded A-F: MX, SPF, DKIM, DMARC, MTA-STS, TLS-RPT, DNSSEC, BIMI |
check_spf | SPF record, mechanisms, lookup count and misconfigurations |
Ask your assistant things like:
- "Is
[email protected]a real mailbox?" - "Clean this list of signups and tell me which ones bounce."
- "Why do our emails to customers land in spam? Check
ourdomain.com."
How results are shaped
validate_email and validate_emails return structured content alongside the text, so
a client that supports structured tool output gets typed fields:
{
"email": "[email protected]",
"status": "Unknown", // "Valid" | "Not Valid" | "Unknown"
"valid": null, // true | false | null (null = Unknown)
"formatValid": true,
"mxValid": true,
"smtpValid": false,
"is_disposable": false,
"details": "Server accepts all addresses (catch-all) - status unknown"
}
check_domain returns a compact graded summary with a fix for every problem. To see the
raw records of one part, call it again with section set to mx, spf, dkim,
dmarc, mta_sts, tls_rpt, dnssec, bimi or domain.
Notes for large lists
Every address is a live SMTP conversation, so a check takes seconds, not milliseconds.
validate_emails caps at 50 addresses per call on purpose - call it repeatedly with the
next chunk rather than pushing a whole file through one call, and never run two calls in
parallel (the API serialises one bulk job per client).
Development
npm install
npm run build # -> dist/
node dist/index.js # speaks MCP over stdio
License
MIT. Part of the Mail7 integrations.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.