Skip to main content
Glama

Diagnose email domain

diagnose_domain
Read-only

Audit a domain's SPF, DKIM, DMARC, MX, alignment, BIMI, MTA-STS and TLS-RPT setup and check it against free public blocklists (not Spamhaus) when troubleshooting email authentication or spam delivery. Takes a domain, optional checks and DKIM selectors, and fresh=true to bypass cached results. Returns a graded scorecard, findings, proposed DNS fixes and a public report permalink. Uses DNS and policy-file lookups; never changes DNS or guarantees inbox placement.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "domain": "<domain>"
    },
    "name": "diagnose_domain"
  }
}

Input Schema

NameRequiredDescriptionDefault
freshNoBypass caches and re-query DNS
checksNoRun only these checks (default: all)
domainYesThe domain to check, e.g. example.com
dkim_selectorsNoExtra DKIM selectors to probe, e.g. google, s1

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / checks / items / enum
      Previous value: -[
      -  "mx",
      -  "spf",
      -  "dkim",
      -  "dmarc",
      -  "alignment",
      -  "bimi",
      -  "mta-sts",
      -  "tls-rpt"
      -]New value: +[
      +  "mx",
      +  "spf",
      +  "dkim",
      +  "dmarc",
      +  "alignment",
      +  "bimi",
      +  "mta-sts",
      +  "tls-rpt",
      +  "blocklists"
      +]
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly/openWorld/non-destructive, and the description reinforces this by stating it 'never changes DNS or guarantees inbox placement' and that it uses 'DNS and policy-file lookups.' It also discloses the caching behavior of fresh=true and the blocklist scope (not Spamhaus), adding real operational context beyond the annotations.

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?

Two dense sentences with no filler: the audit scope is front-loaded, followed by parameter behavior, then return values and limitations. Every clause carries information an agent needs.

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?

Even without an output schema, the description spells out the return payload (graded scorecard, findings, proposed DNS fixes, public report permalink) and the safety/limitation profile is covered by annotations plus explicit statements. Nothing needed to call it correctly 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 all four parameters are already documented, including the default-all behavior of checks and what fresh does. The description's mention of 'optional checks and DKIM selectors, and fresh=true' largely restates the schema, so the 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 (audit/diagnose) and resource (a domain's email authentication setup), then enumerates the exact checks performed (SPF, DKIM, DMARC, MX, alignment, BIMI, MTA-STS, TLS-RPT, blocklists). That breadth inherently separates it from narrower siblings like get_dmarc_summary or analyze_email_headers.

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 a clear triggering context: 'when troubleshooting email authentication or spam delivery.' It stops short of naming alternatives or stating when-not to use it (e.g. vs. analyze_email_headers for a single message), so it is clear but not fully routing.

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