Verifly

email.veriflyPublished by verifly.emailOfficial publisherv1.0.0Updated Nov 2, 2026

Email verification for AI agents — verify, clean & validate emails; self-onboard + crypto pay

Overview

AI-generated overview

Verifly is a hosted email verification service whose MCP server lets an assistant verify addresses, clean lists, run bulk jobs and manage a Verifly account.

What you can do
  • Verify single addresses or short lists in real time, with verdicts, flags and send/reject recommendations
  • Clean and deduplicate email lists, and extract addresses from free-form text
  • Check a domain's MX, SPF and DMARC health
  • Submit large lists as asynchronous bulk jobs, then poll status and fetch per-address results
  • Review credits, usage, account profile and available credit packages
  • Self-register a new account and start a credit purchase that returns a payment link
When to use it
Useful when an assistant handles lead lists, imports or outreach and needs to check deliverability before sending, scrub a list, or validate a sending domain. Also fits autonomous agents that want to onboard and track their own verification credits without a human.
Requirements
A remote Streamable-HTTP endpoint at verifly.email, or the npm package verifly-mcp-server run locally with Node.js. A Verifly API key is required, sent as an Authorization Bearer header or the VERIFLY_API_KEY environment variable. Network access to the Verifly API.
Before you install
The API key is a billable credential: verification consumes paid credits, and the server can start credit purchases that return a Stripe checkout link or crypto payment address. Card payment needs a human to open the link. register_account creates a real account from an email and password, and the returned key is shown once. Email addresses submitted for verification are sent to Verifly.

Installation

In SourceWeft

  1. Open Verifly in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. 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/email.verifly%2Fverifly/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": {
    "verifly": {
      "type": "http",
      "url": "https://verifly.email/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

[Verifly logo]

Free email tools & API

Verifly MCP Server

Agent-native email verification over the Model Context Protocol. This server gives any MCP client — Cline, Claude Desktop, Claude Code, Cursor, Windsurf — a clean set of tools to verify email addresses, clean lists, run async bulk jobs, and manage a Verifly account, all without writing a single raw HTTP call.

It is built for autonomous workflows: an agent can self-register for an API key, verify a lead before sending, deduplicate and scrub an import list, kick off a bulk job and poll it to completion, and check its own credits and usage — end to end.

Tools

15 tools cover the full Verifly workflow:

ToolWhat it does
verify_emailVerify a single address in real time (verdict, reason, flags, send/reject recommendation, credits)
verify_batchVerify a list synchronously (per-address verdicts; best for up to a few hundred)
clean_email_listDedupe + drop invalid syntax, disposable, and role addresses from a list
extract_emailsPull every email address out of free-form text (notes, signatures, pasted docs)
check_domain_healthMX / SPF / DMARC records + an overall health score for a domain
get_creditsRemaining verification credits + recent usage (free, no credits)
submit_bulkSubmit an async bulk verification job for large lists (returns a job_id; optional webhook_url)
get_job_statusStatus + progress of a bulk job
get_job_resultsPer-address results of a completed bulk job
list_jobsList the account's bulk jobs (filter by status, paginate)
get_usageDetailed usage statistics for a period (day / week / month)
get_accountAccount profile: email, company, credits, plan, key count (free)
get_packagesList the credit packages available to purchase
buy_creditsStart a credit-package purchase and return a checkout link
register_accountSelf-onboard a brand-new account; returns an api_key shown once

Authentication

Get an API key from https://verifly.email (or have an agent self-register with register_account). The server reads the key from the VERIFLY_API_KEY environment variable. Every Verifly request is authenticated with Authorization: Bearer <key>.

The hosted HTTP transport also accepts a per-request Authorization: Bearer <key> header (which overrides the env var), so each caller can supply their own key.

Install (local, stdio) — recommended for Cline

bash
npx -y verifly-mcp-server

or install it globally:

bash
npm install -g verifly-mcp-serververifly-mcp-server

Client config

Add this to your MCP client config (Cline: cline_mcp_settings.json; Claude Desktop: claude_desktop_config.json):

json
{  "mcpServers": {    "verifly": {      "command": "npx",      "args": ["-y", "verifly-mcp-server"],      "env": {        "VERIFLY_API_KEY": "vf_your_api_key"      }    }  }}

That's the whole setup — no build step, no clone. See llms-install.md for an agent-followable install guide.

Hosted Streamable-HTTP transport

If you'd rather not run anything locally, Verifly hosts the same server as a remote Streamable-HTTP endpoint:

https://verifly.email/mcp

Point any Streamable-HTTP-capable MCP client at that URL and pass your key as an Authorization: Bearer <key> header. Example raw call:

bash
curl -s -X POST https://verifly.email/mcp \  -H "Content-Type: application/json" \  -H "Accept: application/json, text/event-stream" \  -H "Authorization: Bearer vf_your_api_key" \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",       "params":{"name":"verify_email","arguments":{"email":"[email protected]"}}}'

Self-hosting the HTTP transport

bash
PORT=8787 VERIFLY_API_KEY=vf_your_api_key node src/http.js# or: PORT=8787 VERIFLY_API_KEY=vf_... npm run start:http
VarDefaultPurpose
PORT8787Listen port
HOST0.0.0.0Bind address
MCP_PATH/mcpPath the MCP endpoint is served on
VERIFLY_API_KEY—Fallback key when a request sends no Authorization header
VERIFLY_BASE_URLhttps://verifly.emailAPI base override
  • MCP endpoint: POST {MCP_PATH} (stateless Streamable HTTP).
  • Health check: GET /healthz → {"ok":true}.

Test

bash
VERIFLY_API_KEY=vf_your_api_key npm run test:e2e

Drives the stdio server through the MCP protocol and performs a real verify_email + get_credits call against the live API.

License

MIT

Source: README.md at commit d2fabdb

Tools

17

get_started

How to start using Verifly (no key needed)

Call this FIRST if you have no Verifly API key. Returns how Verifly works and how to get access with no human: pay-as-you-go email verification API, 100 free credits on self-registration, no monthly fee. No API key required to call this tool.

Takes no parameters.

verify_email_demo

Verify an email — free demo (no key required)

Verify one email address with NO account or API key, so you can evaluate Verifly before registering. Rate-limited per IP (a few checks). Returns the same deliverability verdict and flags as the full API. For real volume, call register_account for a key + 100 free credits, then use verify_email.

Parametersemailrequired

verify_email

Verify a single email address

Verify one email address in real time. Returns a deliverability verdict (valid / invalid / risky / unknown), the reason, detailed flags (disposable, role account, catch-all, MX, SMTP), a send/reject recommendation, and credit usage.

Parametersemailrequired

verify_batch

Verify a batch of email addresses

Synchronously verify a list of email addresses (best for up to a few hundred). Returns a per-address verdict for each email. For very large lists use the bulk async endpoint instead.

Parametersemailsrequiredexclude_role_accountsexclude_public_domains

clean_email_list

Clean an email list

Clean a list of email addresses before an import or campaign: dedupes, removes invalid syntax, and (optionally) strips disposable and role accounts. Returns the cleaned list plus a summary of what was removed.

Parametersemailsrequiredremove_disposableexclude_role_accounts

extract_emails

Extract email addresses from text

Extract all email addresses found in a block of free-form text (notes, pasted documents, signatures). Optionally deduplicates and lowercases the results.

Parameterstextrequiredlowercasededuplicate

check_domain_health

Check email-domain health (MX / SPF / DMARC)

Check the DNS and deliverability health of an email domain: MX records, SPF, DMARC, and an overall health score. Useful for diagnosing why a domain bounces or for validating a sending domain.

Parametersdomainrequired

get_credits

Get remaining Verifly credits

Return the API key's remaining verification credits and recent usage (today / this month) and plan. Costs no credits.

Takes no parameters.

submit_bulk

Submit an async bulk verification job

Submit a list of email addresses as an asynchronous bulk verification job — the right tool for large lists. Returns immediately with a job_id, status, and the check_status_url / results_url to poll. Small lists may complete inline (status 'completed'); larger ones return status 'pending' — poll get_job_status until it is 'completed', then call get_job_results. Optionally register a webhook_url (public HTTPS) to be notified when the job finishes.

Parametersemailsrequiredwebhook_url

get_job_status

Get the status of a bulk verification job

Fetch the current status and progress of a bulk verification job by its job_id (status, percent progress, processed count, and a valid/invalid/risky summary). Poll this after submit_bulk until status is 'completed', then call get_job_results.

Parametersjob_idrequired

get_job_results

Get the results of a completed bulk job

Fetch the full per-address results of a completed bulk verification job by job_id (each email's verdict, recommendation, and reason) plus the valid/invalid/risky summary and credits used. The job must be 'completed' — check get_job_status first.

Parametersjob_idrequired

list_jobs

List bulk verification jobs

List the account's bulk verification jobs, most recent first, with their status, progress, and summary. Optionally filter by status and paginate. Use this to find past jobs and their job_ids.

Parameterslimitoffsetstatus

get_usage

Get detailed usage statistics

Return detailed usage statistics for the account over a period (day, week, or month): total credits used, emails processed, request counts broken down by endpoint and source, a daily breakdown, and recent activity.

Parameterslimitperiod

get_account

Get account information

Return the account profile for the current API key: email, name, company, timezone, remaining credits, total credits used, number of API keys, and plan. Costs no credits.

Takes no parameters.

get_packages

List buyable credit packages

List the credit packages available for purchase (id, name, credit amount, price in USD, and price per 1k credits). Use the returned package id with buy_credits.

Takes no parameters.

buy_credits

Buy credits (returns a payment link or crypto invoice)

Start a purchase of a credit package and return a way to pay. This does NOT complete a payment by itself — it returns a payment link / address: • method 'stripe' → returns a checkout_url. Paying by card requires a HUMAN to open that link and enter card details; an agent cannot finish a card payment on its own. • method 'crypto' → returns a Plisio invoice with a checkout_url AND, when you pass a `currency` (BTC, ETH, LTC, USDT, USDC), a RAW wallet `address` + `amount`. An autonomous agent CAN pay this from a crypto wallet with no browser/human, then credits are added automatically once the payment confirms. Prefer crypto for fully autonomous top-ups. Get a package id from get_packages first.

Parametersmethodcurrencypackage_idrequired

register_account

Self-register a new Verifly account + API key

Programmatically create a brand-new Verifly account — this is how an agent self-onboards with no human in the loop. Requires only an email and a password (min 8 chars; disposable email domains are rejected). The new account starts with free credits. The response includes the new account id/email and a freshly generated `api_key.key` that is shown ONCE — capture and store it immediately, it cannot be retrieved again. Subsequent tool calls can then use that key as the bearer token.

Parametersemailrequiredpasswordrequired

Version history

1
  1. v1.0.0LatestSep 16, 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.