Skip to main content
Glama

Check DMARC Readiness

get_readiness
Read-onlyIdempotent

Use this when a signed-in operator asks whether a monitored domain is ready for the next DMARC step. Read the DMARC enforcement-readiness verdict for ONE domain the caller's account monitors, computed from its aggregate (RUA) report window. Requires an API token. Returns whether the domain is ready to step its policy up, the blockers that say why it is not, the window the verdict rests on, and next_record — the validated record for the next step, generated by the engine and null while blocked. THAT NULL IS AN ANSWER: relay the blockers and never compose a stronger record to fill the gap. Present a returned record verbatim; a human must approve it before it is published. Use this before proposing enforcement — a scan can show a domain's current policy, but only this evidence window can say whether tightening it would start rejecting real mail. When record_withheld is true, the step is ready but the record is not included in the result: relay that and withheld_reason, and never compose a record. When hosted is present, the domain is on Automatic DMARC: DNS Doctor serves its record and steps are applied from the dashboard, so a ready step comes with record_withheld true and withheld_reason hosted; relay hosted.note (and hosted.next_step_at, when a step is scheduled) and never compose a record.

Input Schema

NameRequiredDescriptionDefault
domainYesOne of the token account's VERIFIED monitored domains, e.g. example.com. Any other name — another account's, or one nobody monitors — is refused as not found; ownership is never disclosed.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the safe-read profile (readOnly, non-destructive, idempotent), yet the description adds substantial context beyond them: API token requirement, what happens on non-monitored domains, the meaning of a null next_record, and the two special result states (record_withheld and hosted) with their required handling. It also states the human-approval and verbatim-presentation obligations.

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 with the trigger and the core action, and every paragraph addresses a real decision point. However, the instruction 'never compose a record' is restated three times across the null, record_withheld, and hosted cases, which is avoidable repetition in an otherwise dense description.

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 read tool with an output schema and full annotation coverage, the description still anticipates every ambiguous outcome: blocked (null), withheld, and hosted-on-Automatic-DMARC. An agent knows what to relay in each case and what not to synthesize, leaving no gap that would cause a wrong call or a wrong report.

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%, and the single parameter is already documented in the schema including the not-found refusal and ownership non-disclosure. The description reinforces 'ONE domain the caller's account monitors' but adds no syntax or format detail beyond what the schema provides, so baseline 3 applies.

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 — 'Read the DMARC enforcement-readiness verdict for ONE domain' — plus the basis of computation (the aggregate RUA report window). It also explicitly separates itself from scan_domain, so an agent can route correctly without opening schemas.

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?

Gives an explicit triggering condition ('when a signed-in operator asks whether a monitored domain is ready for the next DMARC step'), a sequencing rule ('use this before proposing enforcement'), and a named alternative with the reason to prefer this tool over a scan. Exclusions are clear.

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.