Skip to main content
Glama

BlackVeil DNS & Email Security Scanner

analyze_drift

Read-onlyIdempotent

Measure whether a domain's DNS security posture improved or regressed by comparing the current state against a prior scan snapshot. Returns a drift classification (improving/stable/regressing/mixed), score delta, and lists of improvements and regressions. Use to answer "did our security score improve or regress since last time?" — distinct from compare_baseline which checks compliance against a fixed policy (not improvement over time).

Input Schema

NameRequiredDescriptionDefault
domainYesDomain to analyze drift for
formatNoOutput verbosity. Auto-detected if omitted.
baselineYesPrior scan reference for drift-over-time analysis: a previous ScanScore JSON STRING, or the literal "cached" to reuse the last cached scan (the default when omitted). NOT a policy/requirements object — for compliance enforcement against required controls, use compare_baseline instead.cached
force_refreshNoBypass cache and run a fresh check. Useful after DNS changes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / additionalProperties
      Added value: +false
  2. Changed2 schema fields changed
    • addedInput schema / properties / baseline / default
      Added value: +"cached"
    • changedInput schema / properties / baseline / description
      Previous value: -"Prior scan reference for drift-over-time analysis: a previous ScanScore JSON STRING, or the literal \"cached\" to reuse the last cached scan. NOT a policy/requirements object — for compliance enforcement against required controls, use compare_baseline instead."New value: +"Prior scan reference for drift-over-time analysis: a previous ScanScore JSON STRING, or the literal \"cached\" to reuse the last cached scan (the default when omitted). NOT a policy/requirements object — for compliance enforcement against required controls, use compare_baseline instead."
  3. Changed2 schema fields changed
    • changedInput schema / properties / baseline / description
      Previous value: -"Previous ScanScore JSON or \"cached\" to use last cached scan"New value: +"Prior scan reference for drift-over-time analysis: a previous ScanScore JSON STRING, or the literal \"cached\" to reuse the last cached scan. NOT a policy/requirements object — for compliance enforcement against required controls, use compare_baseline instead."
    • addedInput schema / properties / force_refresh
      Added value: +{
      +  "description": "Bypass cache and run a fresh check. Useful after DNS changes.",
      +  "type": "boolean"
      +}
  4. First observed

TDQS

A4.5/5.0
Behavior4/5

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

The annotations already establish that this is a read-only, non-destructive, idempotent, open-world operation. The description adds useful behavioral context by explaining that the tool compares current state to a prior scan and returns a drift classification, score delta, and lists of improvements/regressions. It does not add much about caching behavior or operational limits, but the schema covers those parameter-level details.

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 front-loaded with the core action and comparison model, then states the return shape, then gives the intended question and sibling distinction. Every sentence serves a clear purpose, and there is no repetitive or wasted text.

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 no output schema, the description helpfully names the returned drift classification, score delta, and improvement/regression lists. Combined with rich annotations and fully documented parameters, it gives an agent enough context to select and invoke the tool correctly.

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 3 applies. The description reinforces that comparison is against a prior scan snapshot and not a policy object, but that distinction is already present in the baseline parameter schema description. It adds little additional meaning for domain, format, or force_refresh beyond what the schema already provides.

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 action and resource: measuring whether a domain's DNS security posture improved or regressed by comparing current state to a prior snapshot. It names the drift classification outputs and explicitly distinguishes this from compare_baseline's fixed-policy compliance check, so an agent can tell the siblings apart.

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?

It gives a direct use case: answering whether the security score improved or regressed since last time. It also explicitly names the nearby alternative, compare_baseline, and states that compare_baseline checks compliance against a fixed policy rather than improvement over time.

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.