Real-time email verification API. Syntax, MX, disposable detection, role-based flags, quality score 0-100. Built for agent outreach pipelines.
Two tools with solid descriptions (194 - 250 chars, well above baseline 34 - 392 range) and clear use-case guidance. Input schemas present with proper types. However, output schemas are documented only in description text, not as formal JSON Schema. Parameter descriptions are minimal (email, emails only). No error handling guidance, no recovery paths, no validation constraints documented. Tool names follow verb_noun pattern correctly. Missing: per-parameter type hints in schema, output schema formalization, error classification, and actionable error messages.
Verify email deliverability in real-time. Alternative to Hunter email-verifier at 15x lower cost. Returns a structured JSON report with syntax, MX, disposable detection, role-based flags, and quality score 0-100. 1. valid (boolean) -- overall verdict 2. syntax (boolean) -- RFC 5322 format check 3. mx (boolean) -- domain has working mail servers 4. disposable (boolean) -- Mailinator, Guerrilla Mail, 100+ throwaway providers 5. role (boolean) -- role-based address (admin@, info@, support@) 6. free (boolean) -- free provider (Gmail, Yahoo, Outlook) 7. score (number 0-100) -- composite quality score Example output: {"valid":true,"syntax":true,"mx":true,"disposable":false,"role":false,"free":true,"score":85,"email":"[email protected]"} Use this BEFORE sending outreach emails, adding contacts to CRM, or processing signups. Essential for verifying email deliverability, cleaning email lists, detecting fake registrations, and qualifying leads. Drop-in replacement for Hunter email verification. Do NOT use for finding emails -- use email_find_by_name instead. Do NOT use for person data -- use person_enrich_from_email instead. Do NOT use for domain deliverability audit (SPF/DKIM/DMARC) -- use email_audit_deliverability instead.
Use this when you need to validate multiple email addresses at once (up to 100). Returns a JSON array of verification results plus summary counts. 1. results (array) -- each entry has valid, syntax, mx, disposable, role, free, score 2. summary.total (number) -- total emails processed 3. summary.valid (number) -- count of valid emails 4. summary.invalid (number) -- count of invalid emails 5. summary.disposable (number) -- count of disposable addresses caught Example output: {"results":[{"email":"[email protected]","valid":true,"score":90},{"email":"[email protected]","valid":false,"score":10}],"summary":{"total":2,"valid":1,"invalid":1,"disposable":1}} Use this FOR bulk list cleaning, CRM hygiene, or pre-campaign validation. Essential when you have 5+ emails to verify at once. Do NOT use for single emails -- use email_verify_address instead. Do NOT use for finding emails -- use email_find_by_name instead.
Output schemas documented only in description text, not as formal JSON Schema. LLMs cannot parse unstructured output descriptions reliably.
No error handling guidance. Tool descriptions lack recovery paths (e.g., 'If API rate limit hit, retry after 60s' or 'If email syntax invalid, return score 0').
Input parameter descriptions are minimal. 'email' and 'emails' lack format constraints (RFC 5322 pattern, max length, examples of valid/invalid inputs).
Batch tool lacks pagination or result limits in schema. Max 100 emails is stated in description but not enforced in JSON Schema (no maxItems constraint).
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 67 | 2025-06-18+ | v2 |
No tool annotations (readOnlyHint, idempotentHint). Both tools are read-only and idempotent but this is not declared in schema.