Skip to main content
Glama

BlackVeil DNS & Email Security Scanner

rdap_lookup

Read-onlyIdempotent

Fetch domain registration data via RDAP (modern WHOIS replacement). Returns the domain registrar (the company the domain was registered with), registrant contact, creation/expiration dates, EPP status codes, and domain age. Use when asked who registered the domain, who the registrar is, or when the registration expires — distinct from check_ns which identifies the DNS nameserver provider.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "domain": "<domain>"
    },
    "name": "rdap_lookup"
  }
}

Input Schema

NameRequiredDescriptionDefault
domainYesDomain, e.g. example.com
formatNoOutput verbosity.
force_refreshNoBypass the cache.

Output Schema

NameRequiredDescriptionDefault
scoreYes
passedYes
partialNo
categoryYes
findingsYes
checkStatusNo
verdictWithheldNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / domain / description
      Previous value: -"Domain to check (e.g., example.com)"New value: +"Domain, e.g. example.com"
    • changedInput schema / properties / force_refresh / description
      Previous value: -"Bypass cache and run a fresh check. Useful after DNS changes."New value: +"Bypass the cache."
    • changedInput schema / properties / format / description
      Previous value: -"Output verbosity. Auto-detected if omitted."New value: +"Output verbosity."
  2. Changed1 schema field changed
    • addedInput schema / additionalProperties
      Added value: +false
  3. Changed1 schema field changed
    • addedOutput schema / properties / verdictWithheld
      Added value: +{
      +  "type": "boolean"
      +}
  4. Changed2 schema fields changed
    • addedOutput schema / properties / checkStatus
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / partial
      Added value: +{
      +  "type": "boolean"
      +}
  5. 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"
      +}
  6. 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"
      +}
  7. First observed

TDQS

A4.1/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety and side-effect profile is fully covered. The description adds the caching dimension implicitly via the force_refresh parameter, but never discloses real RDAP behavioral traits such as registrant data being redacted by privacy/GDPR registrars or lookup failures for TLDs without RDAP service. Its list of returned fields duplicates what the output schema already provides, so beyond annotations it adds modest value.

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 tight sentences with the core purpose front-loaded, followed by return contents, then usage triggers and the sibling contrast. The only slack is the return-value enumeration, which is largely redundant given an existing output schema, but it is short enough not to crowd out the higher-value guidance.

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 full input schema, an output schema, and rich annotations, the description only needs to carry purpose and routing, both of which it does well. It falls slightly short on domain-specific caveats an agent would want before calling (redacted registrant fields, TLDs lacking RDAP coverage), which would matter for interpreting empty results.

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 every parameter is already documented, including the full/compact enum and the cache-bypassing force_refresh flag. The description contributes nothing additional about the semantics of these parameters (e.g., what compact omits or when cache staleness matters), 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 ("Fetch domain registration data via RDAP") and enumerates the concrete fields returned: registrar, registrant contact, creation/expiration dates, EPP status codes, domain age. It also explicitly names what it is not ("distinct from check_ns which identifies the DNS nameserver provider"), so an agent can route between the two without opening schemas.

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?

Gives explicit trigger conditions — "Use when asked who registered the domain, who the registrar is, or when the registration expires" — and pairs that with a named alternative and the boundary condition that selects it (check_ns for nameserver provider). Nothing about when to prefer this tool is left to inference.

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.