Verifly
by verifly.email · remote · no sign-in to list tools · v1.0.0 · published by email.verifly
Email verification for AI agents — verify, clean & validate emails; self-onboard + crypto pay
17 tools: 9 change things and 8 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things9Claude Code: ask: see these tools
- Only reads8Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http verifly https://verifly.email/mcp --header 'Authorization: <your-authorization>'Findings
Matches of fixed checks, with the text they matched.
- Warnget_started
The server marks "get_started" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "get_started" says "get": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
17 tools
Changes things 9Claude Code: ask
buy_creditsStart a purchase of a credit package and return a way to pay.No findings
Why it is in this group
- The description's first verb is "start": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- title: Buy credits (returns a payment link or crypto invoice)
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: true
check_domain_healthCheck the DNS and deliverability health of an email domain: MX records, SPF, DMARC, and an overall health score.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- title: Check email-domain health (MX / SPF / DMARC)
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
extract_emailsExtract all email addresses found in a block of free-form text (notes, pasted documents, signatures).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Extract all email addresses found in a block of free-form text (notes, pasted documents, signatures). Optionally deduplicates and lowercases the results.
Annotations the server declares
- title: Extract email addresses from text
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_startedCall this FIRST if you have no Verifly API key.1 finding
Why it is in this group
- The name "get_started" says "get": a word for reading.
- The description's first verb is "call": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "get_started" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "get_started" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: How to start using Verifly (no key needed)
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
register_accountProgrammatically create a brand-new Verifly account — this is how an agent self-onboards with no human in the loop.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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.
Annotations the server declares
- title: Self-register a new Verifly account + API key
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
submit_bulkSubmit a list of email addresses as an asynchronous bulk verification job — the right tool for large lists.No findings
Why it is in this group
- The name "submit_bulk" says "submit": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- title: Submit an async bulk verification job
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: true
verify_batchSynchronously verify a list of email addresses (best for up to a few hundred).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- title: Verify a batch of email addresses
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
verify_emailVerify one email address in real time.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- title: Verify a single email address
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
verify_email_demoVerify one email address with NO account or API key, so you can evaluate Verifly before registering.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- title: Verify an email — free demo (no key required)
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
Only reads 8Claude Code: allow
clean_email_listClean a list of email addresses before an import or campaign: dedupes, removes invalid syntax, and (optionally) strips disposable and role accounts.No findings
Why it is in this group
- The name "clean_email_list" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Clean an email list
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_accountReturn the account profile for the current API key: email, name, company, timezone, remaining credits, total credits used, number of API keys, and plan.No findings
Why it is in this group
- The name "get_account" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get account information
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_creditsReturn the API key's remaining verification credits and recent usage (today / this month) and plan.No findings
Why it is in this group
- The name "get_credits" says "get": a word for reading.
Description, as the server wrote it Return the API key's remaining verification credits and recent usage (today / this month) and plan. Costs no credits.
Annotations the server declares
- title: Get remaining Verifly credits
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_job_resultsFetch 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 credit…No findings
Why it is in this group
- The name "get_job_results" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get the results of a completed bulk job
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_job_statusFetch 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).No findings
Why it is in this group
- The name "get_job_status" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get the status of a bulk verification job
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_packagesList the credit packages available for purchase (id, name, credit amount, price in USD, and price per 1k credits).No findings
Why it is in this group
- The name "get_packages" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: List buyable credit packages
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_usageReturn 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 dai…No findings
Why it is in this group
- The name "get_usage" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get detailed usage statistics
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
list_jobsList the account's bulk verification jobs, most recent first, with their status, progress, and summary.No findings
Why it is in this group
- The name "list_jobs" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: List bulk verification jobs
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http verifly https://verifly.email/mcp --header 'Authorization: <your-authorization>'Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__verifly__clean_email_list",
"mcp__verifly__get_credits",
"mcp__verifly__get_job_status",
"mcp__verifly__get_job_results",
"mcp__verifly__list_jobs",
"mcp__verifly__get_usage",
"mcp__verifly__get_account",
"mcp__verifly__get_packages"
],
"ask": [
"mcp__verifly__get_started",
"mcp__verifly__verify_email_demo",
"mcp__verifly__verify_email",
"mcp__verifly__verify_batch",
"mcp__verifly__extract_emails",
"mcp__verifly__check_domain_health",
"mcp__verifly__submit_bulk",
"mcp__verifly__buy_credits",
"mcp__verifly__register_account"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as verifly. Review it before you use it.