Skip to main content
Glama

BlackVeil DNS & Email Security Scanner

brand_audit_single

Read-onlyIdempotent

Run a full brand audit on a single target with optional standard/deep discovery depth, brand aliases, and caller-supplied candidate domains. Discovers brand-related domains, looks up registrar + registrant for each candidate, and classifies each into consolidated, real registrar-sprawl shadowIt, authorized vendor dependency, indeterminate, or impersonation relationships. Gated tier-wide by monthly BRAND_AUDIT_QUOTAS (free/agent=0, developer=50, partner=200, enterprise=500, owner=unlimited).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
viewNoOutput view mode. 'registrar_complement' produces a registrar-complement payload; requires enterprise tier. Default 'standard'.
depthNoDiscovery depth. standard is default; deep expands candidate seeding and enrichment fanout.
domainYesTarget domain to audit (e.g., apple.com).
formatNoInline output mode. Defaults to "both".
planner_modeNoPlanner mode for staged discovery fanout. observe emits metrics; enforce applies candidate-backed signal caps.
brand_aliasesNoOptional public brand aliases to seed, such as product or legal-entity labels.
force_refreshNoBypass cache and run a fresh check. Useful after DNS changes.
discovery_modeNoBrand-discovery pipeline mode. classic = legacy sweep; tiered = tenant/graph/evidence wrappers first (BlackVeil-internal).
min_confidenceNoDrop candidates whose combined confidence falls below this threshold (0-1, default 0.5).
candidate_domainsNoOptional candidate domains supplied by the caller for corroboration.
ownership_verifiedNoCaller attests that the target domain is owned or authorized for scanning. Required when discovery_mode is "tiered" and the caller is not an enterprise/owner/partner principal.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
scoreYes
passedYes
partialNo
categoryYes
findingsYes
checkStatusNo
verdictWithheldNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / verdictWithheld
      Added value: +{
      +  "type": "boolean"
      +}
  2. Changed2 schema fields changed
    • changedInput schema / properties / view / description
      Previous value: -"Output view mode. 'csc_complement' produces a CSC-tuned payload; requires enterprise tier. Default 'standard'."New value: +"Output view mode. 'registrar_complement' produces a registrar-complement payload; requires enterprise tier. Default 'standard'."
    • changedInput schema / properties / view / enum
      Previous value: -[
      -  "standard",
      -  "csc_complement"
      -]New value: +[
      +  "standard",
      +  "registrar_complement"
      +]
  3. Changed2 schema fields changed
    • addedOutput schema / properties / checkStatus
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / partial
      Added value: +{
      +  "type": "boolean"
      +}
  4. 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"
      +}
  5. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": {},
      +  "properties": {
      +    "category": {
      +      "type": "string"
      +    },
      +    "findings": {
      +      "items": {
      +        "additionalProperties": {},
      +        "properties": {},
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "passed": {
      +      "type": "boolean"
      +    },
      +    "score": {
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "category",
      +    "score",
      +    "passed",
      +    "findings"
      +  ],
      +  "type": "object"
      +}
  6. Changed2 schema fields changed
    • addedInput schema / properties / discovery_mode
      Added value: +{
      +  "description": "Brand-discovery pipeline mode. classic = legacy sweep; tiered = tenant/graph/evidence wrappers first (BlackVeil-internal).",
      +  "enum": [
      +    "classic",
      +    "tiered"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / ownership_verified
      Added value: +{
      +  "description": "Caller attests that the target domain is owned or authorized for scanning. Required when discovery_mode is \"tiered\" and the caller is not an enterprise/owner/partner principal.",
      +  "type": "boolean"
      +}
  7. Changed1 schema field changed
    • removedInput schema / properties / discovery_mode
      Removed value: -{
      -  "description": "Brand-discovery pipeline mode. classic = legacy sweep; tiered = tenant/graph/evidence wrappers first (BlackVeil-internal).",
      -  "enum": [
      -    "classic",
      -    "tiered"
      -  ],
      -  "type": "string"
      -}
  8. Changed1 schema field changed
    • addedInput schema / properties / discovery_mode
      Added value: +{
      +  "description": "Brand-discovery pipeline mode. classic = legacy sweep; tiered = tenant/graph/evidence wrappers first (BlackVeil-internal).",
      +  "enum": [
      +    "classic",
      +    "tiered"
      +  ],
      +  "type": "string"
      +}
  9. Changed1 schema field changed
    • addedInput schema / properties / view
      Added value: +{
      +  "description": "Output view mode. 'csc_complement' produces a CSC-tuned payload; requires enterprise tier. Default 'standard'.",
      +  "enum": [
      +    "standard",
      +    "csc_complement"
      +  ],
      +  "type": "string"
      +}
  10. Changed1 schema field changed
    • addedInput schema / properties / planner_mode
      Added value: +{
      +  "description": "Planner mode for staged discovery fanout. observe emits metrics; enforce applies candidate-backed signal caps.",
      +  "enum": [
      +    "off",
      +    "observe",
      +    "enforce"
      +  ],
      +  "type": "string"
      +}
  11. Changed3 schema fields changed
    • addedInput schema / properties / brand_aliases
      Added value: +{
      +  "description": "Optional public brand aliases to seed, such as product or legal-entity labels.",
      +  "items": {
      +    "maxLength": 64,
      +    "minLength": 2,
      +    "type": "string"
      +  },
      +  "maxItems": 20,
      +  "type": "array"
      +}
    • addedInput schema / properties / candidate_domains
      Added value: +{
      +  "description": "Optional candidate domains supplied by the caller for corroboration.",
      +  "items": {
      +    "maxLength": 253,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 250,
      +  "type": "array"
      +}
    • addedInput schema / properties / depth
      Added value: +{
      +  "description": "Discovery depth. standard is default; deep expands candidate seeding and enrichment fanout.",
      +  "enum": [
      +    "standard",
      +    "deep"
      +  ],
      +  "type": "string"
      +}
  12. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly/openWorld/idempotent/non-destructive, so the bar is lower; the description adds real value beyond them by disclosing monthly quota gating with exact per-tier limits and the five classification outcomes. It does not detail caching or latency behavior, but the quota and output-shape context is substantial.

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?

Three sentences, front-loaded with the core purpose before process and quota details. Efficient, though the middle sentence's classification list is dense and slightly overlaps what the output schema likely conveys.

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 a rich schema (100% coverage), an output schema, and full annotations, the description only needs to add the process and gating context it does. It is essentially complete for calling the tool correctly, missing only explicit alternative-routing guidance.

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 schema already documents all 11 parameters thoroughly. The description references depth, brand_aliases, and candidate_domains but adds no syntax or format meaning beyond what the schema provides, so the baseline 3 applies.

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?

States a specific verb and resource ('Run a full brand audit on a single target') and the 'single' qualifier implicitly contrasts with the brand_audit_batch_start sibling. It also enumerates the concrete work performed (domain discovery, registrar/registrant lookup, classification), so an agent knows exactly what it does.

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?

The description implies usage through 'single target' (vs. batch) and mentions depth/alias/candidate options, but never explicitly says when to choose this over brand_audit_batch_start, discover_brand_domains, or brand_audit_get_report. No when-not guidance or alternatives are named.

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.