VerifyEmail integration
VerifyEmail checks whether an email address can receive mail before you send to it: verify one address in real time (verdict deliverable, undeliverable, risky or unknown, with a quality score, confidence, provider and ten check signals), verify lists of up to 100,000 addresses as bulk jobs, read recent results and the account's credit balance, watch sending domains and IPs on DNS blocklists, and enroll domains for DMARC report monitoring. Each address verified costs 1 credit (duplicates, failures on VerifyEmail's side and timeouts are free); monitoring calls and reads cost nothing. Email addresses are personal data. Blocklist webhooks are set up in the dashboard only. Authentication is a secret API key (it starts with sk_) created in the dashboard under Developers, API keys, sent as a Bearer token.
Say what should happen.
The workflow builds itself.
What you can do with VerifyEmail
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Each badge shows the default agent permission of an endpoint (allowed: an agent calls it without asking; ask first: you are asked before an agent calls it, when the agent or chat asks permission for sensitive actions; never: no agent may call it), which every user can change endpoint by endpoint in their credential settings.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Dmarc domain, 6 operations
delete_dmarc_domainDelete dmarc domainDELETEAgents: ask firstPermanently removes a DMARC enrollment, revokes its reporting addresses and purges its reports. Remove the mailto address from your _dmarc record too. Answers deleted false when nothing was enrolled.enroll_dmarc_domainEnroll dmarc domainPOSTAgents: ask firstPuts a domain under DMARC report monitoring and returns the TXT record to publish (a p=none starter, or your record with the reporting address added). Re-enrolling returns it unchanged.get_dmarc_domainGet dmarc domainGETAgents: ask firstReturns one DMARC enrollment: domain, status, subdomain settings, retention, reporting addresses and the policy published in DNS.list_dmarc_domainsList dmarc domainsGETAgents: ask firstLists the domains enrolled for DMARC monitoring with their id and status (pending, waiting or receiving).update_dmarc_domainUpdate dmarc domainPATCHAgents: ask firstChanges a DMARC enrollment's org_id, subdomain settings, retention, or RUF and TLS-RPT addresses; send at least one field, leave the others out to keep them. Then get_dmarc_dns_records for new records.verify_dmarc_domainVerify dmarc domainPOSTAgents: ask firstRe-reads a DMARC domain's live DNS and moves its state: pending (reporting address not published), waiting (DNS correct, no report yet) or receiving. dns_error true means retry.
Blacklist target, 5 operations
add_blacklist_targetAdd blacklist targetPOSTAgents: ask firstEnrolls a domain or IP address for scheduled DNS blocklist checks (listed targets about hourly, others about every six hours). Re-adding an existing target returns it unchanged with created false.check_blacklist_targetCheck blacklist targetPOSTAgents: ask firstRuns a blocklist check on a target now (for example after a delisting request) and returns the updated target and the check: listed, listed_on and failed_on (lists that gave no answer).delete_blacklist_targetDelete blacklist targetDELETEAgents: ask firstPermanently deletes a monitored target and its check history. Answers deleted false when nothing was enrolled.get_blacklist_targetGet blacklist targetGETAgents: ask firstReturns one monitored target: kind, value, label, status, the blocklists listing it, last and next check times and whether webhooks are configured.list_blacklist_targetsList blacklist targetsGETAgents: ask firstLists every domain and IP enrolled for blocklist monitoring with its status (pending, clean, listed or unknown) and the blocklists listing it.
Bulk job, 4 operations
add_bulk_job_addressesAdd bulk job addressesPOSTAgents: ask firstUploads 1 to 500 rows (row_index and email) to a bulk job that is not committed yet. Re-sending a pair already stored is ignored; a row_index reused with another address fails the whole chunk (409).commit_bulk_jobCommit bulk jobPOSTAgents: ask firstSeals a bulk job's input and starts verifying it: this spends 1 credit per distinct address in the job (duplicates are charged once). Committing twice is harmless. Then poll get_bulk_job.create_bulk_jobCreate bulk jobPOSTAgents: ask firstOpens a bulk verification job and returns its id (status accepting_input). Next: add_bulk_job_addresses, then commit_bulk_job. A job holds up to 100,000 rows.get_bulk_jobGet bulk jobGETAgents: ask firstReturns a bulk job's status (accepting_input, preparing, verifying, completed, failed or cancelled), row counts and running verdict tally. Poll every few seconds until completed.
Email verification, 3 operations
get_email_verificationGet email verificationGETAgents: ask firstReturns a verification by id: completed with its result, or pending with poll_after_ms while it still runs. Free, never starts a new check. timeout (1 to 90 s) makes the call wait for the result.list_email_verificationsList email verificationsGETAgents: ask firstLists the finished checks made with this API key, newest first (10 per page by default, at most 50): when, and the full result of each. Email addresses are personal data. Free.verify_emailVerify emailPOSTAgents: ask firstVerifies one email address with a fresh live check: verdict deliverable, undeliverable, risky or unknown, with quality score and signals. Costs 1 credit. Waits for the job and returns the finished result; gives up after 3 minutes.
Account, 1 operation
get_accountGet accountGETAgents: ask firstReturns the account that owns the API key: its email address, plan (free, starter, growth or scale), credits available now, and the key's id, label and mode. Free and not rate limited; use it to test a key.
Blacklist check, 1 operation
list_blacklist_checksList blacklist checksGETAgents: ask firstPages through a target's past blocklist checks, newest first (kept 30 days): when, whether listed, and on which lists.
Bulk job result, 1 operation
list_bulk_job_resultsList bulk job resultsGETAgents: ask firstPages through a bulk job's rows in row_index order (100 per page by default, up to 1000), each with its result, or null while the row is unfinished. Email addresses are personal data.
Dmarc dns record, 1 operation
get_dmarc_dns_recordsGet dmarc dns recordsGETAgents: ask firstRe-reads the DNS records a DMARC enrollment still needs published, against current DNS, without creating anything: host, type, value to publish and what is published now.
Use VerifyEmail from Claude Code, Cursor or Codex
Connect VerifyEmail in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its VerifyEmail operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect VerifyEmail
- Create your workspace
Sign up free. Nothing to install.
- Connect VerifyEmail once
Add your VerifyEmail connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
VerifyEmail integration FAQ
What can you do with the VerifyEmail integration?
LiveContext exposes 22 operations on VerifyEmail, covering dmarc domain, blacklist target, bulk job and email verification.
