Skip to main content
Glama

Agent Preflight: OFAC, DNS, Email Auth, Domain, Email & URL

Email Auth Check (SPF/DMARC/DKIM)

email_auth_check
Read-onlyIdempotent

Checks a domain's email authentication: parses SPF (+all, ?all, multiple records, over 10 DNS lookups), DMARC (p, sp, pct, rua), DKIM keys (your selector or 15 common ones) and MX, then returns an A-F grade, 0-100 score and coded issues (spf_missing, dmarc_p_none, ...). Use when an agent must judge if a domain can be spoofed, debug deliverability, or vet a sender/vendor domain. $0.01 USDC on Base. Paid tool: call it once to get the x402 PaymentRequired object, then retry with params._meta["x402/payment"].

Input Schema

NameRequiredDescriptionDefault
domainYesEmail domain, e.g. example.com. A URL or email address is reduced to its domain.
selectorNoOptional DKIM selector to check authoritatively (in addition to the common list: google, selector1, selector2, default, k1, k2, s1, s2, dkim, mail, mandrill, pm, zoho, protonmail, fm1).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Adds substantial context beyond the annotations: the paid x402 flow ($0.01 USDC on Base), the required two-step call pattern with params._meta["x402/payment"], the 10-DNS-lookup SPF budget, and the exact shape of the returned grading data. The payment prerequisite in particular is behavior an agent cannot infer from readOnlyHint/idempotentHint alone.

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?

Information-dense and front-loaded: capability first, then grading output, then usage conditions, then payment mechanics. The final payment sentence is long and slightly run-on, but every clause carries operational value rather than padding.

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?

With no output schema, the description still specifies the return shape (A-F grade, 0-100 score, coded issue identifiers) and the unique payment handshake needed to actually get a result. Nothing essential for a correct first invocation 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 both parameters are already fully documented, including the reduction of URLs/emails to a domain and the common DKIM selector list. The description's mention of 'your selector or 15 common ones' largely restates the schema, so baseline 3 is appropriate.

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?

States a specific verb and resource ('checks a domain's email authentication') and enumerates exactly what is parsed: SPF, DMARC, DKIM keys and MX. It also names the concrete return artifacts (A-F grade, 0-100 score, coded issues), which clearly separates it from siblings like dns_lookup and email_mx_verify.

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

Usage Guidelines4/5

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

Gives three explicit use cases (judging spoofability, debugging deliverability, vetting a sender/vendor domain), which is well above generic 'use this tool' filler. It does not, however, contrast itself with the nearest alternatives such as email_mx_verify or dns_lookup, so a routing decision still requires inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources