verifly-mcp-server
v1.1.0
Published
Agent-native Model Context Protocol (MCP) server for the Verifly email-verification API (verifly.email). 15 tools: single/batch/bulk email verification, list cleaning, email extraction, domain-health checks, account/usage/credits management, and self-regi
Maintainers
Readme
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:
| Tool | What it does |
|------|--------------|
| verify_email | Verify a single address in real time (verdict, reason, flags, send/reject recommendation, credits) |
| verify_batch | Verify a list synchronously (per-address verdicts; best for up to a few hundred) |
| clean_email_list | Dedupe + drop invalid syntax, disposable, and role addresses from a list |
| extract_emails | Pull every email address out of free-form text (notes, signatures, pasted docs) |
| check_domain_health | MX / SPF / DMARC records + an overall health score for a domain |
| get_credits | Remaining verification credits + recent usage (free, no credits) |
| submit_bulk | Submit an async bulk verification job for large lists (returns a job_id; optional webhook_url) |
| get_job_status | Status + progress of a bulk job |
| get_job_results | Per-address results of a completed bulk job |
| list_jobs | List the account's bulk jobs (filter by status, paginate) |
| get_usage | Detailed usage statistics for a period (day / week / month) |
| get_account | Account profile: email, company, credits, plan, key count (free) |
| get_packages | List the credit packages available to purchase |
| buy_credits | Start a credit-package purchase and return a checkout link |
| register_account | Self-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
npx -y verifly-mcp-serveror install it globally:
npm install -g verifly-mcp-server
verifly-mcp-serverClient config
Add this to your MCP client config (Cline: cline_mcp_settings.json; Claude
Desktop: claude_desktop_config.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/mcpPoint any Streamable-HTTP-capable MCP client at that URL and pass your key as an
Authorization: Bearer <key> header. Example raw call:
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
PORT=8787 VERIFLY_API_KEY=vf_your_api_key node src/http.js
# or: PORT=8787 VERIFLY_API_KEY=vf_... npm run start:http| Var | Default | Purpose |
|-----|---------|---------|
| PORT | 8787 | Listen port |
| HOST | 0.0.0.0 | Bind address |
| MCP_PATH | /mcp | Path the MCP endpoint is served on |
| VERIFLY_API_KEY | — | Fallback key when a request sends no Authorization header |
| VERIFLY_BASE_URL | https://verifly.email | API base override |
- MCP endpoint:
POST {MCP_PATH}(stateless Streamable HTTP). - Health check:
GET /healthz→{"ok":true}.
Test
VERIFLY_API_KEY=vf_your_api_key npm run test:e2eDrives the stdio server through the MCP protocol and performs a real
verify_email + get_credits call against the live API.
License
MIT
