VerifyPulse: email deliverability checks

io.github.MohDev212Published by GitHub account MohDev212v2.1.1Updated Oct 31, 2026

Daily SPF, DKIM, DMARC and MX monitoring with webhook alerts, plus free sending-domain audits.

Overview

AI-generated overview

Remote MCP server for email deliverability: audits SPF, DKIM, DMARC, MX and TLS for sending domains, monitors changes, and checks addresses.

What you can do
  • Audit sending domains: MX, SPF with expanded includes and lookup count, DMARC policy, DKIM, MTA-STS, TLS-RPT and BIMI, with grades and fixes
  • Compare audits over time and register domains for daily server-side checks that POST changes to a webhook
  • Flatten SPF records that exceed the 10-lookup limit and get the TXT records to publish
  • Get a fix kit with the exact DNS records to publish for a domain's mail provider
  • Check email addresses for syntax, domain mail acceptance, typos and disposable or shared mailboxes
  • Look up domain registration data (RDAP), TLS certificate status and SpamCop/PSBL blocklist listings, and explain authentication results from raw headers
When to use it
Useful when you manage sending domains and want an assistant to diagnose why mail lands in spam, verify SPF/DKIM/DMARC setup, or keep an eye on DNS changes. Also handy for quick domain age, certificate and blocklist checks before trusting a sender.
Requirements
Remote Streamable HTTP endpoint; no key is needed to connect. Free tools cover audits of up to 3 domains per call. Paid features use x402 payments in USDC on Base Mainnet, or an API key with credits obtained by provisioning.
Before you install
Several tools cost money: verify_email costs one credit or $0.01 USDC per call, and fix kits, credit packs and guard passes are paid in USDC on Base, so wallet transactions are involved. watch_sending_domains sends domain change data to a webhook URL you supply. Address checks are domain-level and cannot confirm a specific inbox exists.

Installation

In SourceWeft

  1. Open VerifyPulse: email deliverability checks in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.MohDev212%2Fverifypulse/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "verifypulse-email-deliverability-checks": {
      "type": "http",
      "url": "https://verifypulse-seven.vercel.app/mcp"
    }
  }
}

README

VerifyPulse MCP Server & Agent Client

Public Model Context Protocol (MCP) server card and client interface for VerifyPulse (https://verifypulse-seven.vercel.app), which checks whether email will arrive: daily sending-domain monitoring, on-demand DNS audits and domain-level address checks, paid in USDC on Base over x402.


What VerifyPulse does

  • Sending-domain audits: MX, SPF with every include expanded and the true lookup count, DMARC policy and DKIM keys
  • Daily monitoring: signed webhook alerts when a domain's SPF, DKIM, DMARC, MX or MTA-STS changes
  • Bulk-sender checks: a domain's DNS against the Gmail and Yahoo SPF, DKIM and DMARC requirements
  • Domain age and TLS checks: RDAP registration data and certificate status
  • Address checks: RFC 5322 syntax, the domain's MX records, typos, and disposable and shared-mailbox flags

What it does not do

Address checks are domain-level. VerifyPulse does not offer mailbox verification and cannot confirm that a specific inbox exists. GET /v1/x402/verify-email runs no SMTP probe and reports smtp_check: not_performed. The MCP verify_email tool may attempt one, but the hosting platform commonly filters outbound port 25, so a mailbox result cannot be promised.


Remote MCP server (Streamable HTTP)

Connect any MCP client that supports remote servers:

json
{  "mcpServers": {    "verifypulse": {      "type": "http",      "url": "https://verifypulse-seven.vercel.app/mcp"    }  }}
  • Endpoint: POST https://verifypulse-seven.vercel.app/mcp
  • Protocol: JSON-RPC 2.0 (Model Context Protocol), no key needed to connect

x402 payments on Base Mainnet

  • Network: Base Mainnet (eip155:8453)
  • Token: USDC (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913)
  • Recipient: 0x42871B99A3AA942D3B8EC7E43D37979886E856cA
  • Facilitators: https://facilitator.xpay.sh, then https://facilitator.payai.network (POST /settle)
  • Direct: a recent Base USDC transfer hash to the recipient in X-PAYMENT or X-Payment-TxHash, redeemable once

Per call

EndpointPrice (USDC)
GET /v1/x402/[email protected]$0.01
GET /v1/x402/dns-audit?domain=example.com$0.01
GET /v1/x402/compliance-dmarc?domain=example.com$0.01
GET /v1/x402/domain-health?domain=example.com$0.01
GET /v1/x402/guard-audit?domains=a.com,b.com (up to 20)$0.02
GET /v1/x402/domain-intel?domains=a.com,b.com (up to 20)$0.02
GET /v1/x402/tls-check?hosts=a.com,b.com (up to 20)$0.02
GET /v1/x402/fix-kit?domain=example.com$0.25

One-time purchases (nothing renews)

EndpointPrice (USDC)Buys
GET /v1/x402/credits?pack=1000$1.001,000 credits
GET /v1/x402/credits?pack=5000$5.005,000 credits
GET /v1/x402/guard-pass?plan=guard_starter$5.0030 days, 50 domains
GET /v1/x402/guard-pass?plan=guard_agency$15.0030 days, 300 domains
GET /v1/x402/guard-pass?plan=guard_scale$39.0030 days, 1,500 domains

Current prices are always in the OpenAPI document and pricing.json.


Quick start (Python)

Sending-domain audits are free for up to 3 domains per call, with no key:

python
import jsonimport urllib.request
req = urllib.request.Request(    "https://verifypulse-seven.vercel.app/v1/guard/audit",    data=json.dumps({"domains": ["github.com"]}).encode(),    headers={"Content-Type": "application/json"},)with urllib.request.urlopen(req) as resp:    print(json.loads(resp.read().decode()))

Links

Source: README.md at commit 8eacb8e

Tools

12

inspect_domain_dns

Free. Audit one sending domain: MX hosts, SPF with every include expanded and the true DNS lookup count against the limit of 10, DMARC policy including inheritance from the parent domain, and published DKIM keys. Returns a grade and the fixes to make.

Parametersdomainrequired

audit_sending_domains

Free for up to 3 domains per call. Audit several sending domains at once and get a grade, SPF lookup count, DMARC policy, DKIM status, MTA-STS (policy checked against the MX hosts), TLS-RPT, BIMI and fixes for each, plus a snapshot to pass to monitor_sending_domains later.

Parametersdomainsrequired

monitor_sending_domains

Free for up to 3 domains per call. Report what changed in SPF, DKIM, DMARC, MX, MTA-STS, TLS-RPT and BIMI since a previous run. Pass the `snapshots` object returned by the previous call as `previous`; the server stores nothing. The first call returns a baseline with no changes.

Parametersdomainsrequiredprevious

watch_sending_domains

Hosted monitoring. Register domains for a daily server-side check of SPF, DKIM, DMARC, MX, MTA-STS, TLS-RPT and BIMI; when something changes, the changes are POSTed as JSON to your https webhook_url. Free for up to 3 domains (renew every 30 days). For 4 to 20 domains in one watch, call without a pass: the result is an x402 payment request for the pass that covers them ($5 for up to 50 domains), payable in params._meta["x402/payment"] or with api_key credits; the paid call returns the pass and starts the watch. Returns a token to list or delete the watch.

Parametersapi_keydomainsrequiredguard_passwebhook_urlrequired

flatten_spf

Free. Replace the includes in a domain's SPF record with the IP ranges they resolve to, and return the TXT records to publish. Use it when an SPF record is at or over the 10-lookup limit.

Parametersdomainrequired

get_fix_kit

Fix a domain whose email goes to spam or fails SPF, DKIM or DMARC. Returns the exact DNS records to publish (host, type, value) for its mail provider, built from live DNS, in order, with the reason for each. Called without payment it returns a free preview of the fixes plus an x402 payment request for $0.25 USDC on Base (or 250 credits with api_key); a domain that needs no new records gets its advice free.

Parametersdomainrequiredapi_key

verify_email

Check an email address: syntax, whether its domain accepts mail, typo suggestion, disposable and shared-mailbox flags. Checks the domain, not the individual inbox. Costs one credit with an API key (POST /v1/agent/provision returns a key with 100 free credits), or $0.01 USDC on Base per call over x402.

Parametersemailrequiredapi_key

domain_intel

Free. Registration data for one domain from the registry (RDAP): when it was registered and its age in days, expiry, registrar, status codes, nameservers and DNSSEC. Flags domains registered in the last 30 days, a strong spam and fraud signal, and domains about to expire.

Parametersdomainrequired

check_tls_certificate

Free. The TLS certificate a host serves on port 443: whether it validates, issuer, names covered, expiry and days left.

Parametershostrequired

check_blocklists

Free. Whether an IPv4 address, or a domain's MX and A addresses, are listed on the SpamCop and PSBL blocklists. Spamhaus and Barracuda are not queried (their terms require a subscription); the result says which lists were checked.

Parameterstargetrequired

analyze_email_authentication

Free. Explain why an email passed or failed authentication or went to spam. Pass the raw message, or just its headers: checks DKIM signatures (verified when the body is included), whether the sending IP is authorized by SPF, DMARC alignment and policy, what the receiving server recorded, and delays at each relay hop. Returns the reasons in plain words.

Parametersrawrequired

get_x402_payment_endpoints

List the paid HTTP endpoints, their prices in USDC on Base, and the free endpoints.

Takes no parameters.

Version history

3
  1. v2.1.1LatestOct 31, 2026
  2. v2.1.0Oct 29, 2026
  3. v2.0.0Oct 10, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.