Prototype · Preview: every server in the official registry, synced every 30 minutes. Sign in with Google to write reviews.Prototype · updated every 30 min
PopNx MCPMCP servers for people who use AI · explained in plain words

Email Verifier (SMTP, MX, Catch-All)

by sumitrmardyversion 1.0.0i★ 0iRuns in the cloud
Registry nameio.github.sumitrmardy/email-verifier

How to install

What it does

Bulk email verification: live SMTP mailbox check, MX, catch-all, disposable and role detection.

  • Connects Runs in the cloud
  • Account or key Needs Authorization
  • Category Chat & email

Install

Pick the AI app you use, then copy the settings.

Passed 5/5 checks · What you ask goes through the maker’s server (mcp.apify.com) · ✓ Commands checked Nov 13, 2026

First: which AI do you use?

Pick your app and the steps appear below.

Works with Claude · about 5 min

You need a Email Verifier (SMTP, MX, Catch-All) key (create it on the maker’s site) · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it

  1. Sign up and create a Email Verifier (SMTP, MX, Catch-All) key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the Email Verifier (SMTP, MX, Catch-All) site ↗

  2. Open Claude’s Connectors page

    CustomizeConnectors

    CustomizeConnectors1Add2https://…3Add4
  3. Click “Add” → “Custom” → “Web” and fill in these 2 fields

    Copy each value into the field with the same name in Claude, then click Continue

    Name · NameEmail Verifier (SMTP, MX, Catch-All)
    Remote MCP server URL · Addresshttps://mcp.apify.com/?tools=sumitr_mardy/email-verifier

    Under Request headers, add this name and value

    Header nameAuthorization
    ValueBearer <paste your key here>

    Paste the key only into the app’s field, never into a chat or to anyone

    Click Continue past the sign-in settings Claude detected · under Authentication choose what the maker says (Sign in now, Sign in when needed or No sign in), then click Add

  4. Turn it on in a chat

    +ConnectorsEmail Verifier (SMTP, MX, Catch-All)

  5. Try it

    Use Email Verifier (SMTP, MX, Catch-All) and tell me what you can do for me, then show me one thing

    ✓ If Claude says it is using Email Verifier (SMTP, MX, Catch-All) or shows a Email Verifier (SMTP, MX, Catch-All) tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

ChatGPT cannot connect Email Verifier (SMTP, MX, Catch-All) yet

Email Verifier (SMTP, MX, Catch-All) needs your own key to connect, but OpenAI’s help page only describes OAuth sign-in; there is no key option we could verify

What you can do instead

A · Use an app that can connect Email Verifier (SMTP, MX, Catch-All)

  • You need a Email Verifier (SMTP, MX, Catch-All) key (create it on the maker’s site) · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it
  • You need a Email Verifier (SMTP, MX, Catch-All) key (create it on the maker’s site)
  • You need a Email Verifier (SMTP, MX, Catch-All) key (create it on the maker’s site)
  • You need a Email Verifier (SMTP, MX, Catch-All) key (create it on the maker’s site)

B · Others in Chat & email that work with ChatGPT

Picked from the most used in the same category, only ones that connect by address with no key

Works with Claude Code · about 5 min

You need a Email Verifier (SMTP, MX, Catch-All) key (create it on the maker’s site)

  1. Sign up and create a Email Verifier (SMTP, MX, Catch-All) key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the Email Verifier (SMTP, MX, Catch-All) site ↗

  2. Open Terminal

    Mac: press Command+Space and type Terminal · Windows: open PowerShell

  3. Paste this command and press Enter

    claude mcp add --transport http --scope user email-verifier 'https://mcp.apify.com/?tools=sumitr_mardy/email-verifier' --header 'Authorization: Bearer your-value'

    Replace “your-value” with your key before pressing Enter

    Paste the key only into the app’s field, never into a chat or to anyone

  4. Type /mcp in Claude Code

    You should see Email Verifier (SMTP, MX, Catch-All) listed as connected

  5. Try it

    Use Email Verifier (SMTP, MX, Catch-All) and tell me what you can do for me, then show me one thing

    ✓ If Claude Code says it is using Email Verifier (SMTP, MX, Catch-All) or shows a Email Verifier (SMTP, MX, Catch-All) tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Cursor · about 5 min

You need a Email Verifier (SMTP, MX, Catch-All) key (create it on the maker’s site)

  1. Sign up and create a Email Verifier (SMTP, MX, Catch-All) key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the Email Verifier (SMTP, MX, Catch-All) site ↗

  2. Click this button to open Cursor

    Open in Cursor

    Cursor asks you to confirm; click Install

  3. Fill in your key

    In the Email Verifier (SMTP, MX, Catch-All) settings, Authorization is empty; add your key and save

    Paste the key only into the app’s field, never into a chat or to anyone

  4. Open the AI chat in Cursor in Agent mode

  5. Try it

    Use Email Verifier (SMTP, MX, Catch-All) and tell me what you can do for me, then show me one thing

    ✓ If Cursor says it is using Email Verifier (SMTP, MX, Catch-All) or shows a Email Verifier (SMTP, MX, Catch-All) tool in the answer, you are connected

Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with VS Code · about 5 min

You need a Email Verifier (SMTP, MX, Catch-All) key (create it on the maker’s site)

  1. Sign up and create a Email Verifier (SMTP, MX, Catch-All) key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the Email Verifier (SMTP, MX, Catch-All) site ↗

  2. Click this button to open VS Code

    Open in VS Code

    VS Code asks you to confirm; click Install

  3. Fill in your key

    In the Email Verifier (SMTP, MX, Catch-All) settings, Authorization is empty; add your key and save

    Paste the key only into the app’s field, never into a chat or to anyone

  4. Open the AI chat in VS Code in Agent mode

  5. Try it

    Use Email Verifier (SMTP, MX, Catch-All) and tell me what you can do for me, then show me one thing

    ✓ If VS Code says it is using Email Verifier (SMTP, MX, Catch-All) or shows a Email Verifier (SMTP, MX, Catch-All) tool in the answer, you are connected

Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.

See every app that uses MCP →

Address for apps that connect over the web

Addresshttps://mcp.apify.com/?tools=sumitr_mardy/email-verifier

JSON settings are under “For developers” below

Stuck? Ask people who use Email Verifier (SMTP, MX, Catch-All)💬 Discussion →
For developers: Terminal commands and JSON settings

Over the web

Claude Code

claude mcp add --transport http --scope user email-verifier 'https://mcp.apify.com/?tools=sumitr_mardy/email-verifier' --header 'Authorization: Bearer your-value'

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "email-verifier": {
      "url": "https://mcp.apify.com/?tools=sumitr_mardy/email-verifier",
      "headers": {
        "Authorization": "Bearer your-value"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "email-verifier": {
      "type": "http",
      "url": "https://mcp.apify.com/?tools=sumitr_mardy/email-verifier",
      "headers": {
        "Authorization": "Bearer your-value"
      }
    }
  }
}

Values you fill in

  • Authorization secret HTTP header
    Optional. Bearer for clients without OAuth sign-in. Get one at https://console.apify.com/settings/integrations

Descriptions are as written by the maker.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

At a glance

Downloads per weeki
Not on npm/PyPI
Connection
Runs in the cloud
Transport
streamable-http
Latest versioni
1.0.0
Published to registryi
Oct 21, 2026
Code last changedi
Oct 18, 2026
Maker
sumitrmardy
Website
apify.com
Registry status
Active

Which apps can use it

Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.

Connect over the internet in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast

All apps, with pros and cons →

Related guides

What it can do

The server asks you to sign in before it lists its tools.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 14, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account sumitrmardy, which owns the repo

  • ✓ Pass

    Still maintained

    Code last changed 27 days ago

  • ✓ Pass

    Has a licence

    Uses MIT

  • ✓ Pass

    Endpoint responds

    Responded in 79 ms (HTTP 401)

  • ✓ Pass

    Sign-in with OAuth

    Declares OAuth sign-in, so your AI app can take you to log in

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Discussion

Ask, share a tip or report that it does not work. Sorted by what people marked helpful.

No posts yet. Be the first to ask or share.

Posts here are written by users, not the PopNx team.

Sign in with Google to post

User reviews

No reviews yet

Sign in with Google to write a review

Compared with others in Chat & emaili

  • More stars than 0% of the other 2032 servers in this category
  • Published to the registry more recently than 55% of the other 2032 servers in this category
  • Basic checks equal to or better than 100% of the other 2032 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Email Verifier (SMTP, MX, Catch-All) safe?

It passed 5 of 5 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: Authorization

Does it run on my computer or in the cloud?

It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.

Is it still maintained?

The GitHub repo last changed 27 days ago, and the latest version (1.0.0) reached the registry 24 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT on the web (full MCP on Business and above; Pro read-only).

What can I use instead?

In the same category: HyperFrames by HeyGen, Inbox Zero, draw.io

Others in the same category

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

HyperFrames by HeyGen

Official HyperFrames by HeyGen: the best AI video editor in chat. Captions, motion graphics, MP4.

by heygen-comWidely used★ 83.9KUpdated today

Runs in the cloud

Inbox Zero

Search Gmail and Outlook, save drafts, manage email rules, and view email stats.

by elie222Widely used★ 13KUpdated 44 days ago

Runs in the cloud

draw.io

Create draw.io diagrams in chat from Mermaid or XML, shown live and interactive. 10,000+ shapes.

by jgraphWidely used★ 5.8KUpdated 4 days ago

Runs in the cloud✓ service owner · draw.io

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

English | 简体中文

Bulk Email Verification API — for n8n, AI Agents & MCP

Verify email addresses in bulk: RFC 5322 syntax → DNS/MX → disposable, role and free-provider lists → a live SMTP handshake with a mandatory catch-all probe. No email is ever sent — the check opens an SMTP session, reads the reply codes and hangs up.

➜ Try it on Apify
{

"email": "john@example.com", "status": "deliverable", "sub_status": "valid_mailbox", "score": 100, "checks": { "syntax": true, "domain_exists": true, "mx_found": true, "smtp_connectable": true, "mailbox_exists": true, "catch_all": false, "disposable": false, "role_based": false, "free_provider": false, "a_record_fallback": false, "has_tag": false }, "mx_record": "aspmx.l.google.com" }


Why pipelines like it

Most verifiers are written for a human reading a dashboard. This one assumes the caller is code.

That changes what the output has to guarantee:

1. `status` is always one of four values. deliverable, undeliverable, risky, unknown. Never null, never empty, never a fifth value. Enumerate them once and stay correct.

2. All eleven `checks` keys are present on every record. A check that never ran is false, and the reason lives in sub_status. Nothing disappears.

3. Catch-all domains and Gmail-type providers are reported honestly. They come back risky with a reason, not a fabricated "valid".

Those three together mean you write this:

const mailable = results.filter(r => r.status === 'deliverable');

const neverSend = results.filter(r => r.status === 'undeliverable' || r.checks.disposable); const retryLater = results.filter(r => r.status === 'unknown');

and not this:

const mailable = results.filter(r => r?.status === 'valid' && (r.checks?.catch_all ?? false) === false);

The second line is what every nullable-by-default API forces on you. It matters more for an agent than for a person: an agent cannot write `?? false` — it acts on what it reads. A field that sometimes vanishes is not an inconvenience, it is a wrong answer delivered with confidence.


What to do with each result

statussub_statusWhat to do
deliverablevalid_mailboxSend
riskyrole_basedSend only if a shared inbox is acceptable
riskycatch_allMailbox unconfirmable — send at low volume, or enrich another way
riskyfree_provider_unverifiableTreat as a consumer address; mailbox unknowable over SMTP
riskyfull_mailboxHold, retry in a few days
riskydisposableDo not send; block at signup
unknowngreylistedRetry in 30–60 min — not a bad address
unknownsmtp_timeoutRetry later; if it persists, treat as unverified
unknowninternal_errorRetry once
undeliverableanyRemove from the list

Full table with scores and reasoning: [docs/statuses.md](docs/statuses.md)

The distinction that matters: undeliverable means *we found out it is dead*; unknown means *we could not find out*. Tools that merge the two report better-looking numbers and quietly delete real customers from your list.


Use it in n8n

Every template calls the Actor with the core HTTP Request node — no community node to install, works on n8n Cloud and self-hosted. Authentication is an n8n Header Auth credential named Apify API; no token is stored in any file here.

TemplateWhat it doesImport
Verify a Google Sheets lead listReads rows with no verdict, verifies in batches, writes status/score back. Safe to re-run and to schedule.t1-google-sheets.json
Block disposable emails at signupWebhook in, `{allow\review\block}` out, with the policy in one editable Code node.t2-signup-check.json
Clean a CSV before cold emailUpload an Apollo/Instantly/HubSpot export, get back send_safe / review / drop as three CSVs. Greylisted rows are retried once.t3-clean-csv.json
AI agent toolAn AI Agent with the verifier as its only tool, and a system prompt that teaches it the action table above.t4-ai-agent-tool.json

Chinese versions of all four, with localized sticky notes: workflows/zh-CN/

To import: download the JSON, then in n8n use *Workflows → Import from File*. Setup steps are on a sticky note inside each workflow.


Use it from an AI agent

MCP — the Apify MCP server, scoped to this one Actor. Config for Claude Desktop and Cursor: agents/mcp/

OpenAPI — one file that Dify, Coze, GPT Actions and LangChain's OpenAPI toolkit can all import: openapi/email-verifier.openapi.yaml

Tool definitions — ready-made JSON for OpenAI function calling and the Anthropic tool API: agents/tool-definitions/

For the agent itself — llms.txt is the whole contract in one pass: endpoint, input, output, the action table, batching limits.

Chinese-first setup guides: Dify · Coze / 扣子


Use it from code

curl -X POST "https://api.apify.com/v2/acts/sumitr_mardy~email-verifier/run-sync-get-dataset-items" \

-H "Authorization: Bearer $APIFY_TOKEN" \ -H "Content-Type: application/json" \ -d '{"emails":["john@example.com","someone@gmail.com"]}'

Python and Node examples, each under 25 lines and with no SDK required: examples/


Large lists

Addresses go in one batch per call, never one call per address — batching is what makes this cheap and fast.

A synchronous Apify run must finish inside 300 seconds. Past that, use the async pattern: start the run, wait for it, then fetch the dataset. Working example: examples/batch-large-list/

Measured throughput and the batch size to use: docs/pricing-and-batching.md


Pricing

Pay per event: one charge per address that gets a verdict — including undeliverable and unknown, because the work was done either way, and a confirmed bad address is exactly the result you were paying for. No per-run charge.

The rate is tiered by your Apify plan and is adjusted to track the market, so it is not reprinted here where it would go stale: [see current pricing](https://apify.com/sumitr_mardy/email-verifier/pricing).

You need an Apify account to call the API; there is a free tier.


Known limits

Stated plainly, because you would find them anyway.

  • Free providers cannot be mailbox-verified. Gmail, Outlook, Yahoo and iCloud answer 250 for addresses that do not exist, then bounce at delivery. Any vendor claiming a per-mailbox Gmail verdict from SMTP is guessing. You get risky/free_provider_unverifiable and checks.mailbox_exists: false.
  • Catch-all domains cannot be mailbox-verified. By definition. The probe detects them and says so rather than returning a confident guess.
  • Greylisting is not a verdict. 421/450 come back as unknown/greylisted, which is retryable. Template T3 does the retry for you.

FAQ

Does it send an email? No. It opens an SMTP session, sends EHLO, MAIL FROM and RCPT TO, reads the reply codes and disconnects. It never issues DATA, so no message body exists anywhere in the process.

Can it verify Gmail addresses? It verifies that the syntax and domain are valid and that the address is not disposable. It cannot confirm that a specific Gmail mailbox exists — Google answers identically for real and fake addresses. Nothing that uses SMTP can do better; tools that claim otherwise are guessing.

What is a catch-all domain? A domain configured to accept mail for every address, existing or not. Before asking about your address, the verifier sends a RCPT TO for a random local part that cannot exist. If that is accepted, the domain is catch-all and every address on it is reported risky/catch_all.

How many emails per call? As many as finish inside the 300-second sync limit. Measure with your own list; see docs/pricing-and-batching.md. Beyond that, use the async pattern.

How do I use it with an Apollo / Instantly / Lemlist export? Template T3 — upload the CSV, get three cleaned lists back. It picks the email column automatically and deduplicates first, so you are not charged twice for the same address.

What happens to duplicates? They are charged. Deduplicate before you call; every template here already does.


MIT licensed. Issues and pull requests welcome — particularly corrections to the n8n templates from anyone running a version where something behaves differently.