Skip to main content
Glama

email-deliverability

Batch-scan domains (async)

scan_domains_batch

Queue an asynchronous batch scan of up to 50 domains and get a jobId immediately (avoids the 30s per-call limit). Poll get_scan_job with the jobId until status is succeeded/partial/failed to read per-domain scores. Requires an API key with write or full scope. These scans are NOT added to monitoring or saved to history.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
domainsYes1-50 domains to scan, e.g. ["example.com","acme.com"].

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations, the description discloses important behavioral traits: the operation is asynchronous, returns a jobId, is not saved to monitoring or history, and requires write/full API key scope. It also warns about the 30s limit and directs the user to poll get_scan_job for status, which is valuable context not present in 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?

Three concise sentences, each earning its place: the first states the core function and benefit, the second explains the polling workflow, and the third covers auth and side effects. The most important information is front-loaded.

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 tool with a single parameter and no output schema, the description fully covers the user's needs: what to expect (jobId), how to get results (poll get_scan_job with statuses), auth requirements, and what won't happen (not saved). It is complete for its complexity.

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?

The schema already documents the 'domains' parameter with a clear description ('1-50 domains to scan'), giving 100% coverage. The description adds a bit of context ('up to 50 domains') but does not need to elaborate further because the schema is self-sufficient.

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 states a specific verb ('Queue'), a clear resource ('asynchronous batch scan of up to 50 domains'), and the immediate result (jobId). It distinguishes from siblings by noting it 'avoids the 30s per-call limit' and by referencing the polling workflow via get_scan_job.

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?

The description clearly indicates when to use this tool: for batch scanning up to 50 domains asynchronously to avoid the per-call limit. It also tells the user to poll get_scan_job. However, it does not explicitly state alternatives like scan_domain for single domains, though the sibling context implies it.

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/5.0
Disambiguation4/5

Tools have distinct purposes overall, but some minor overlap exists between get_domain and get_deliverability_score, as well as between list_scans and get_scan_job. However, descriptions clarify the differences.

Naming Consistency5/5

All tool names follow a clear verb_noun pattern (e.g., analyze_headers, check_blocklists, get_deliverability_score) with consistent snake_case, making it easy for an agent to predict tool names.

Tool Count4/5

26 tools is slightly above the ideal range but appropriate for a comprehensive email deliverability service covering scanning, DNS fixes, DMARC, inbox placement, SNDS, alerts, and sharing. The count feels justified.

Completeness4/5

The tool surface covers core deliverability workflows: scanning, DNS fixes, DMARC, blocklists, inbox placement, SNDS, alerts, and sharing. Minor gaps exist (e.g., no explicit add domain tool), but the scan_domain tool covers that use case.

Resources