Skip to main content
Glama

BlackVeil DNS & Email Security Scanner

resolve_spf_chain

Read-onlyIdempotent

Trace the full SPF include chain for a domain. Recursively resolves all includes, shows lookup count, tree depth, and flags circular includes or exceeding the 10-lookup limit.

Input Schema

NameRequiredDescriptionDefault
domainYesDomain to check (e.g., example.com)
formatNoOutput verbosity. Auto-detected if omitted.
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. Changed1 schema field changed
    • addedInput schema / properties / force_refresh
      Added value: +{
      +  "description": "Bypass cache and run a fresh check. Useful after DNS changes.",
      +  "type": "boolean"
      +}
  3. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, openWorld), but the description adds real behavioral substance: it discloses the recursive traversal, that it flags circular includes, and that it enforces the RFC 10-lookup limit. It does not mention caching or rate/latency characteristics, which is the remaining gap.

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 sentences, zero filler, with the core action front-loaded and the diagnostic outputs listed second. Every clause carries information.

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 burden of explaining returns, and it does list what comes back (lookup count, tree depth, flags). It stops short of describing the shape of the result (tree vs flat list, full vs compact output) which matters given the format parameter.

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% and all three parameters are documented there, including the format enum and force_refresh's cache-bypass intent. The description adds no parameter-level guidance of its own, so the 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 specific verb and resource ('Trace the full SPF include chain for a domain') and enumerates what it produces: lookup count, tree depth, circular-include flags, 10-lookup limit. That distinguishes it fairly well from a basic SPF record check, but it never names check_spf as the shallower alternative, so the differentiation is implicit rather than explicit.

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 by the word 'full' and 'recursively' — an agent can infer this is the deeper diagnostic versus a plain SPF lookup, but there is no statement of when to use this instead of check_spf or assess_spoofability, and no prerequisites or exclusions.

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.