Skip to main content
Glama

Check Email Domain

check_email_domain
Read-onlyIdempotent

Full email posture for a domain: can it receive mail, and can it be spoofed?

Runs MX, SPF and DMARC lookups together and returns a plain-language verdict alongside the raw records: can_receive_mail, spoofable, and a list of specific findings. Use this as the default check before emailing an unfamiliar domain, when judging whether inbound mail claiming to be from a domain could be forged, or when auditing your own domains. Prefer this over the single-record tools unless you already know which record you need.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to check, e.g. "example.com". A full email address is accepted and the domain is taken from it.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
mxNo
spfNo
dmarcNo
domainYes
summaryYesPlain-language verdict.
findingsNoOne line per specific problem; empty when the domain is correctly configured.
spoofableYesTrue unless DMARC is present AND at an enforcing policy. Deliberately conservative: without enforcement a receiver has no instruction to reject forged mail, however good the SPF record is.
checked_atNo
can_receive_mailYesFalse when the domain publishes no MX records.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the read-only nature is covered. The description adds value by disclosing that the tool runs three lookups together, returns a verdict plus raw records, and produces specific fields (can_receive_mail, spoofable, findings). This enriches the agent's understanding beyond the annotations without contradicting them.

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

Conciseness5/5

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

The description is tightly structured: a one-line outcome summary, a sentence on mechanics and output, and two sentences on usage context. Every sentence adds information; there is no filler or repetition of schema or annotation content.

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 single-parameter, read-only, output-schema-bearing tool, the description covers what it does, how it behaves, when to use it, and how it relates to sibling tools. The output schema handles return-value details, so nothing needed for correct 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 coverage is 100%, and the schema's parameter description already explains that a domain is required and that a full email address is accepted with the domain extracted. The tool description adds no additional parameter-specific meaning, so the baseline of 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?

The description opens with a specific, outcome-focused statement: 'Full email posture for a domain: can it receive mail, and can it be spoofed?' It then names the exact operations (MX, SPF, DMARC lookups) and explicitly contrasts itself with the sibling single-record tools, so an agent can distinguish it immediately.

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?

The description gives explicit guidance: 'Use this as the default check before emailing an unfamiliar domain, when judging whether inbound mail claiming to be from a domain could be forged, or when auditing your own domains.' It also states when not to use it: 'Prefer this over the single-record tools unless you already know which record you need.' This leaves no ambiguity about selection.

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.

TDQS

A4.3/5.0
Disambiguation4/5

check_email_domain is the comprehensive composite, while get_dmarc_record, get_mx_records, and get_spf_record target distinct record types. However, check_email_domain overlaps somewhat with each of the single-record tools, though the descriptions clearly state when to use each.

Naming Consistency4/5

Three tools follow the get_<record>_records pattern, and one uses check_<noun>_domain. The verbs are consistent (check/get) and the object is always a domain-related resource, making the naming clear. The slight variation in verb (check vs get) is minor and justified by the composite nature.

Tool Count5/5

Four tools cover the domain email checking domain well: a composite plus the three constituent lookups. This is a tight, purposeful set without redundancy or bloat, appropriate for a focused MCP server.

Completeness4/5

The set covers MX, SPF, DMARC, and a combined check, which is comprehensive for email posture. There is no tool for DKIM or other email authentication records, but DKIM is less commonly checked and the existing tools provide a thorough overview. Missing a tool to check for other SPF-like mechanisms (e.g., TXT related) is minor.

Resources