Skip to main content
Glama

BlackVeil DNS & Email Security Scanner

batch_scan

Read-onlyIdempotent

Bulk-scan up to 10 domains in parallel. Runs a full security audit on each domain in the list and returns score, NIST-aligned letter grade (6-band A+/A/B/C/D/F), and finding counts per domain. Use when you want to audit multiple domains at once or do a bulk scan of several domains simultaneously — distinct from compare_domains which does a side-by-side analysis of 2–5 domains. Version stamps (hoisted once per batch): 'scoringModelVersion' is the scoring POLICY semver and is INDEPENDENT of 'dnsChecksPackageVersion', the @blackveil/dns-checks npm engine-package version — the model version legitimately lags and the two must not be compared. Record 'scoringConfigHash' when citing scores.

Input Schema

NameRequiredDescriptionDefault
formatNoOutput verbosity. Auto-detected if omitted.
domainsYesDomains to scan (max 10 per request)
force_refreshNoBypass cache and run fresh scans.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / additionalProperties
      Added value: +false
  2. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, open-world, so the safety profile is covered; the description adds genuinely new behavior — parallel fan-out capped at 10, per-domain result structure, once-per-batch version stamp hoisting, and a warning not to compare scoringModelVersion with dnsChecksPackageVersion. Gaps remain: no mention of partial-failure behavior when one domain errors, timing/rate limits for a 10-domain batch, or cache lifetime despite force_refresh.

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-loads the action, scope, and return shape in the first sentence, then the sibling discriminator. The version-stamp passage is longer than needed for invocation guidance — it is citation policy rather than calling information — but it is still useful context and not padding.

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?

With no output schema, the description carries the return-value burden and does so by naming score, the A+/A/B/C/D/F bands, finding counts, and the hoisted version fields. It is thin on failure semantics for a multi-domain batch (what is returned if 3 of 10 domains fail) and on what 'full' vs 'compact' format does to the response.

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 the baseline is 3; format, domains, and force_refresh are all documented in the schema. The description adds only 'in parallel' and re-states the 10-domain cap that maxItems already encodes, and it never discusses force_refresh's cost or the format enum's effect on payload size.

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 specific verb and resource ('bulk-scan up to 10 domains in parallel') plus the concrete outputs (score, NIST 6-band letter grade, finding counts per domain). It explicitly separates itself from compare_domains, but says nothing about how it differs from the closely named siblings batch_scan_start / batch_scan_status / batch_scan_findings or from single-domain scan_domain, leaving real ambiguity in a crowded family.

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 an explicit use condition ('audit multiple domains at once') and names one alternative with the discriminator ('compare_domains does side-by-side analysis of 2–5 domains'). It omits the other obvious decision points: when to prefer scan_domain for a single domain, and when to use the async batch_scan_start/batch_scan_status pair instead of this synchronous call.

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.