Skip to main content
Glama
fairquery

fairquery-agent-trust-mcp

Official

Validate email deliverability: MX, SPF, DMARC (paid)

email_validate_deliverability
Read-onlyIdempotent

Validate email deliverability with MX, disposable, role, and SPF/DMARC checks. Clean lists before sending to avoid bounces and protect sender reputation.

Instructions

WHAT: Runs the Fairquery Apify Actor email-validator-mx-disposable: syntax, domain existence, MX/null-MX, disposable, role, free provider, typo suggestion, SPF/DMARC policy, mail provider; final verdict valid | risky | invalid | unknown. WHEN: Cleaning lists before a send, verifying a lead's domain can receive mail. Pre-filter with free email_check_syntax to avoid paying for obviously bad rows. WHEN NOT: Offline format/typo checks (free email_check_syntax). It does not SMTP-probe mailboxes. COST: Paid, billed to YOUR Apify account via your APIFY_TOKEN: $0.002 per email (+ $0.00005/run). 100 emails ~ $0.20. RETURNS: Paged rows type="email" (email, domain, verdict, reasons[], has_mx, mx_records, mail_provider, has_spf, has_dmarc, dmarc_policy, did_you_mean, ...) or type="error". Tool errors: APIFY_TOKEN_MISSING, APIFY_TOKEN_INVALID, APIFY_PAYMENT_REQUIRED, APIFY_ACTOR_RUN_FAILED, APIFY_TIMEOUT. EXAMPLE: {"emails":["john@stripe.com"]} -> verdict "valid", has_mx true, mail_provider "Google Workspace / Gmail".

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoPage size: items to return, integer 1-1000 (default 100)
emailsYesRequired. 1-10000 addresses (<= 320 chars each); "Name <addr>" and "mailto:" forms accepted. Example: ["jane@acme.com","bob@gmial.com"]
offsetNoItems to skip for paging, integer >= 0 (default 0); pass nextOffset from the previous response
checkSpfDmarcNoAlso report SPF/DMARC (default true)
allowDisposableNoDefault false (disposable = "risky")
allowRoleAccountsNoDefault true; false makes role addresses "risky"
allowFreeProvidersNoDefault true; false makes gmail.com etc. "risky" (B2B lists)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
metaNoTool-specific context (summary counts, cost notes, ...)
countYesNumber of items in this page
itemsYesResult rows for this page
totalYesTotal items before paging
offsetYesOffset of the first item in this page
hasMoreYesTrue if more items exist after this page
nextOffsetYesOffset to pass for the next page, or null

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations supply the safety profile (readOnly, idempotent, non-destructive, open-world), and the description adds substantial context beyond them: exact pricing ($0.002/email), token-based billing to the caller's Apify account, enumerated error codes, and the negative scope (no SMTP probing). These are genuinely valuable operational disclosures, though the return-field list partly duplicates the output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded labeled sections (WHAT/WHEN/WHEN NOT/COST/RETURNS/EXAMPLE) make it scannable and each block carries non-redundant information. It is dense and the RETURNS enumeration slightly overlaps the existing output schema, keeping it just short of a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paid, networked, multi-check tool this covers everything an agent needs: cost model, auth requirements, error taxonomy, usage routing, and a worked example. With an output schema present, the return enumeration is a bonus rather than a required burden, and nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter is already fully documented including defaults, ranges, and the nextOffset paging hint. The description's example reinforces the emails shape but adds nothing to individual parameter semantics beyond the schema, making the baseline 3 correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The WHAT line states a specific verb+resource (email deliverability validation) and enumerates the exact checks performed (syntax, MX, disposable, SPF/DMARC, etc.), plus the final verdict vocabulary. It is clearly distinguishable from siblings like email_check_syntax, which it names explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

WHEN, WHEN NOT, and an explicit alternative with a cost predicate are all given: 'Pre-filter with free email_check_syntax to avoid paying for obviously bad rows' and 'It does not SMTP-probe mailboxes.' The agent knows exactly when to pick this tool versus the free sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.