HyperFrames by HeyGen
Official HyperFrames by HeyGen: the best AI video editor in chat. Captions, motion graphics, MP4.
Bulk email verification: live SMTP mailbox check, MX, catch-all, disposable and role detection.
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
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.
CustomizeConnectors
Copy each value into the field with the same name in Claude, then click Continue
Email Verifier (SMTP, MX, Catch-All)https://mcp.apify.com/?tools=sumitr_mardy/email-verifierUnder Request headers, add this name and value
AuthorizationBearer <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
+ConnectorsEmail Verifier (SMTP, MX, Catch-All)
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
A · Use an app that can connect Email Verifier (SMTP, MX, Catch-All)
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)
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.
Mac: press Command+Space and type Terminal · Windows: open PowerShell
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
You should see Email Verifier (SMTP, MX, Catch-All) listed as connected
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)
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.
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
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)
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.
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
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.
Address for apps that connect over the web
https://mcp.apify.com/?tools=sumitr_mardy/email-verifierJSON settings are under “For developers” below
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"
}
}
}
}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.
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
The server asks you to sign in before it lists its tools.
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
The registry name was verified with the GitHub account sumitrmardy, which owns the repo
Code last changed 27 days ago
Uses MIT
Responded in 79 ms (HTTP 401)
Declares OAuth sign-in, so your AI app can take you to log in
Not checked yet; we read the tool list when we check the endpoint
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.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
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.
You need to fill in: Authorization
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.
The GitHub repo last changed 27 days ago, and the latest version (1.0.0) reached the registry 24 days ago.
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).
In the same category: HyperFrames by HeyGen, Inbox Zero, draw.io
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
Official HyperFrames by HeyGen: the best AI video editor in chat. Captions, motion graphics, MP4.
Search Gmail and Outlook, save drafts, manage email rules, and view email stats.
Create draw.io diagrams in chat from Mermaid or XML, shown live and interactive. 10,000+ shapes.
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 | 简体中文
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.
{
"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" }
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.
status | sub_status | What to do |
|---|---|---|
deliverable | valid_mailbox | Send |
risky | role_based | Send only if a shared inbox is acceptable |
risky | catch_all | Mailbox unconfirmable — send at low volume, or enrich another way |
risky | free_provider_unverifiable | Treat as a consumer address; mailbox unknowable over SMTP |
risky | full_mailbox | Hold, retry in a few days |
risky | disposable | Do not send; block at signup |
unknown | greylisted | Retry in 30–60 min — not a bad address |
unknown | smtp_timeout | Retry later; if it persists, treat as unverified |
unknown | internal_error | Retry once |
undeliverable | any | Remove 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.
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.
| Template | What it does | Import | ||
|---|---|---|---|---|
| Verify a Google Sheets lead list | Reads 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 signup | Webhook in, `{allow\ | review\ | block}` out, with the policy in one editable Code node. | t2-signup-check.json |
| Clean a CSV before cold email | Upload 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 tool | An 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.
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 / 扣子
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/
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
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.
Stated plainly, because you would find them anyway.
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.421/450 come back as unknown/greylisted, which is retryable. Template T3 does the retry for you.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.