Skip to main content
Glama
stack-and-dns-mcp
by Mewnah

Get Bulk Check Status and Results

get_bulk_check
Read-onlyIdempotent

Retrieve status, counts, and paginated per-domain results for a bulk domain check, including compact scores, grades, providers, policies, and technologies.

Instructions

Status, counts and one page of per-domain results for a bulk check started by this caller. Results are compact summaries (score, grade, providers, policies, technologies). For email checks spfPolicy and dmarcPolicy can also be missing (no record) or unknown (the lookup failed, an SPF redirect= target's lookup failed, or a subdomain's own _dmarc lookup failed), dmarcPolicy invalid (a record without a valid policy), and mxProvider unknown (the MX lookup failed) or 'null MX (no mail)'. Free.

Input Schema

NameRequiredDescriptionDefault
jobIdYesJob id returned by start_bulk_check (job_ followed by 24 hex characters).
limitNoResults per page.
offsetNoIndex of the first result to return.
statusNoOnly return items in this state, e.g. failed.

Output Schema

NameRequiredDescriptionDefault
checkYes
itemsYes
jobIdYes
countsYes
statusYes
billingYes
acceptedYes
createdAtYes
startedAtYes
submittedYes
finishedAtYes
nextOffsetYesPass as offset to fetch the next page; null when this is the last page.
creditsChargedYesPrepaid credits charged up front; failed and cancelled items are refunded when the job finishes.
creditsRefundedYes
creditsPerDomainYes
quotaUnitsChargedYesDaily-quota units charged up front for plan keys; refunded like credits.
quotaUnitsRefundedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.1

TDQS

A3.8/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/non-destructive annotations, the description discloses the shape of the payload (compact summaries of score, grade, providers, policies, technologies), the per-caller authorization scope, and the exact sentinel semantics for spfPolicy, dmarcPolicy, and mxProvider including the distinction between 'no record', 'lookup failed', and 'invalid record'. It even flags that the operation is free, which no annotation conveys.

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

Conciseness3/5

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

The purpose is front-loaded in the first clause, and nothing present is pure filler. However, the second half is a single run-on sentence with deeply nested parentheses enumerating sentinel states, which is dense and hard for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple four-parameter read tool with full schema coverage, complete annotations, and an output schema, the definition covers scoping, result shape, and edge-case values well. The only meaningful gap is polling/refresh guidance relative to job state, which the output schema and annotations cannot supply.

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%, so limit, offset, status, and the jobId pattern are already fully documented in the schema and the description adds nothing further about them. The extra detail it does provide concerns result fields rather than input parameters, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb+resource: returns status, aggregate counts, and one paginated slice of per-domain results for a single job, scoped to 'this caller'. That is enough to tell it apart in practice from start_bulk_check, cancel_bulk_check, and list_bulk_checks, though none of those siblings is named explicitly.

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

Usage Guidelines3/5

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

Usage is only implied: the caller is expected to hold a jobId from start_bulk_check, and the schema note reinforces that pairing. There is no explicit statement of when to call this versus list_bulk_checks, or whether to poll it while a job is still running, which an agent would need to infer.

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