Back to Browse

Email Deliverability MCP Server

Developer ToolsLow Risk10.0MCP RegistryRemote
Free

Server data from the Official MCP Registry

Check SPF, DKIM, DMARC, blocklists, reverse DNS and email headers against Gmail/Yahoo sender rules.

About

Check SPF, DKIM, DMARC, blocklists, reverse DNS and email headers against Gmail/Yahoo sender rules.

Remote endpoints: streamable-http: https://api.ownmailserver.com/tools/mcp

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (4 strong, 3 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.

3 tools verified · Open access · No issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Found in Source Code

Found by scanning the linked source code. This listing connects to a hosted endpoint, so none of this runs on your machine: it describes what the server software does where it is hosted.

env_vars

Applies to the server that hosts this plugin, not to your machine.

HTTP Network Access

Connects to external APIs or services over the internet.

How to Connect

Remote Plugin

No local installation needed. Your AI client connects to the remote endpoint directly.

Add this to your MCP configuration to connect:

{
  "mcpServers": {
    "io-github-kryptoscan-email-deliverability-mcp": {
      "url": "https://api.ownmailserver.com/tools/mcp"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

email-deliverability-mcp

An MCP server that lets Claude (or any MCP client) diagnose email deliverability:

  • check_domain: SPF (including the 10-DNS-lookup limit), DMARC policy and reporting, DKIM keys on common selectors, and MX records, with a ranked list of problems and the fix for each. It also names the email services a domain uses (Google Workspace, SendGrid, Amazon SES and others).
  • check_sending_ip: reverse DNS (PTR) and whether it resolves back to the IP, plus listings on Spamhaus ZEN, Barracuda, SpamCop, PSBL, Mailspike and UCEPROTECT level 1.
  • check_email_headers: paste a received message's headers and check them against Gmail's and Yahoo's sender requirements: SPF, DKIM, DMARC, From alignment, one-click unsubscribe (and whether DKIM covers it), TLS, reverse DNS and Message-ID.

Every tool is read-only: it reads public DNS or the text you give it. Nothing is sent anywhere else, and no account or API key is needed.

Use it without installing

A hosted copy runs at:

https://api.ownmailserver.com/tools/mcp

Add it to Claude as a custom connector (Settings → Connectors → Add custom connector), or in Claude Code:

claude mcp add --transport http email-deliverability https://api.ownmailserver.com/tools/mcp

It's free and needs no account. It's rate-limited per IP, uses public DNS resolvers (so Spamhaus results show as "refused"; see below), and stores nothing. For heavy use or a real Spamhaus answer, run your own copy.

Install

Requires Node.js 20 or later.

Claude Code

claude mcp add email-deliverability -- npx -y email-deliverability-mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "email-deliverability": {
      "command": "npx",
      "args": ["-y", "email-deliverability-mcp"]
    }
  }
}

Docker

docker build -t email-deliverability-mcp .
docker run -i --rm email-deliverability-mcp

Things to ask

  • "Check example.com's email setup and tell me what to fix first."
  • "Why might our emails from shop.example be going to spam?" (then paste a message's headers)
  • "Is 192.0.2.25 on any blocklists? Does its reverse DNS look right?"
  • "Does this email meet Gmail's bulk sender rules?"
  • "Our SPF record fails sometimes. Are we over the lookup limit?"

Configuration

VariableDefaultWhat it does
BLOCKLIST_DNSthe system resolverComma-separated IPs of a recursive resolver you run, used for blocklist lookups.
DNS_SERVERSthe system resolverComma-separated resolver IPs for all other lookups.

Why BLOCKLIST_DNS matters

Spamhaus refuses queries that arrive through big public resolvers (8.8.8.8, 1.1.1.1 and the like) and answers 127.255.255.x instead. Many blocklist checkers misread that as "listed". This server reports it as refused, meaning unknown, and says so. To get a real Spamhaus answer, point BLOCKLIST_DNS at a recursive resolver of your own, such as unbound on 127.0.0.1.

How the checks work

  • SPF lookups follow include: and redirect= recursively and count every include, a, mx, ptr, exists and redirect term, as RFC 7208 does. More than 10 is a permanent error at most receivers.
  • DKIM keys sit under selectors that only the sender knows, so the server probes about 30 common ones. Pass your own with dkim_selectors (find it in the s= value of a message's DKIM-Signature header). Domains that answer every name (wildcard DNS) are detected and not reported as having keys.
  • Header checks read the topmost Authentication-Results header, which is what the recipient's mailbox provider concluded, and the newest Received hop that names the sending server.
  • Alignment compares organizational domains with a simple rule (the last two labels, or three for names like example.co.uk). It's not a full Public Suffix List lookup, so unusual suffixes may be misjudged.

Development

npm install
npm test          # unit tests with a fake DNS resolver
npm run build     # compiles to dist/
npm run start:http  # the HTTP version (PORT, MCP_PATH, TRUST_PROXY, RATE_LIMIT, GLOBAL_LIMIT)

About

Built by OwnMailServer, which runs dedicated email sending for businesses that send 250,000 to 1,000,000 emails a month: your own server and IP, a Resend-style API and SMTP, managed warm-up and daily monitoring. OwnMailServer accounts also get a Claude connector for their own sending data: delivery stats, bounces, complaints and message history.

The same checks are available as free web tools: the email health checker and the bulk sender checker.

License

MIT

Reviews

No reviews yet

Be the first to review this server!