Back to Discover

mail7-mcp

connector

dvlop

Verify email addresses, clean lists, and audit a domain SPF, DKIM, DMARC and MX setup.

View on GitHub
0 starsSynced Aug 13, 2026

Install to Claude Code

/plugin marketplace add dvlop/mail7-mcp

README

Mail7 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.

VariableDefaultPurpose
MAIL7_API_KEY-Raises rate limits, unlocks full bulk validation
MAIL7_BASE_URLhttps://mail7.net/apiOverride the API endpoint

Tools

ToolWhat it does
validate_emailOne address: syntax, MX, disposable-domain check, live SMTP mailbox probe
validate_emailsUp to 50 addresses per call, with a Valid / Not Valid / Unknown summary
check_domainFull mail-config audit graded A-F: MX, SPF, DKIM, DMARC, MTA-STS, TLS-RPT, DNSSEC, BIMI
check_spfSPF record, mechanisms, lookup count and misconfigurations

Ask your assistant things like:

  • "Is sales@acme.com 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": "user@example.com",
  "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.

Rendered live from dvlop/mail7-mcp's GitHub README — not stored, always reflects the source repo.

1 Install Method

NameDescriptionCategorySource
npm packageInstall via npm (stdio transport)mcp-servermail7-mcp

0 Comments

Login required
Log in to post a comment or update on this repo.

No comments yet — be the first to share an update.