Skip to main content
Glama

Server Details

WHOIS, RDAP, DNS, IP / ASN / CIDR and Web3 name (ENS, Unstoppable, Handshake) lookups. No API key.

Ownership verified
Status
Healthy
Uptime
100.0% over 23 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.5/5.0

Scored across 8 tools

Disambiguation5/5

Each tool has a distinct role: lookup_target is the broad single-target fact sheet, lookup_many is explicitly bulk, and the check_* tools are specialised validations. The descriptions explicitly clarify boundaries such as lookup_target vs check_mail_security, check_lookalike, and check_route, so an agent can select correctly.

Naming Consistency5/5

All names use lowercase snake_case with clear verb-led prefixes: check_*, get_*, list_*, and lookup_*. The different verbs reflect meaningful functional categories rather than inconsistent naming.

Tool Count5/5

Eight tools are well scoped for a domain/network intelligence server, covering single lookup, bulk lookup, mail security, lookalike screening, route and ASPA validation, TLD facts, and dataset provenance. No tool feels redundant or missing at the count level.

Completeness4/5

The surface covers the core lifecycle for WHOIS/network intelligence: single and bulk lookups, mail security, route authorization, ASPA paths, TLD facts, and dataset freshness. Minor gaps remain around bulk specialised route/ASPA checks, historical/raw WHOIS records, and certificate or SMTP TLS inspection, but lookup_target and details_url provide reasonable workarounds.

Available Tools

8 tools
check_aspa_pathVerify an AS path with ASPAA
Read-onlyIdempotent
Inspect

Check an AS_PATH against the published ASPA objects (RPKI attestations of which providers a network authorises), following the verification procedure of draft-ietf-sidrops-aspa-verification. The result is valid, invalid or unknown, with the reason and the first hop that broke the path.

Use it to find out whether a path shows a route leak or an unauthorised provider. "Unknown" only means some network on the path published no ASPA; it is not a fault.

Behavior: offline, answered from the local RPKI snapshot. The procedure is an Internet-Draft, not an RFC, and the neighbor-AS and AS_SET prerequisite checks of a real router are left out. Only the path is read; it is neither stored nor logged.

NameRequiredDescriptionDefault
pathYesthe AS_PATH as seen by the receiver, neighbor first and origin last, separated by spaces or commas, e.g. 3356 1299 14041 194 (every hop is an AS number, with or without the AS prefix). Prepending is fine; an AS_SET {..} is refused
directionNoupstream (default): the route came from a customer or peer; downstream: it came from a provider

Output Schema

NameRequiredDescription
pathYesthe path after removing repeated ASes, neighbor first
reasonNo
outcomeYesvalid, invalid or unknown (no attestation for some hop). Informational; follows an Internet-Draft, not an RFC
summaryYesthe human-readable result, the same text as the text content
directionYes
aspa_countNonumber of ASes with an ASPA in the loaded set

TDQS

A4.1/5.0
Behavior5/5

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

Goes well beyond the annotations (readOnly, idempotent, closed-world) by disclosing that evaluation is offline against a local RPKI snapshot, that the procedure is an Internet-Draft rather than an RFC, and that real-router neighbor-AS and AS_SET prerequisite checks are omitted. It also states the path is neither stored nor logged, which is information the agent cannot get from structured fields.

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 core action and result semantics, then uses short paragraphs for interpretation and caveats. Slightly longer than strictly necessary (the draft/RFC caveat and the 'not stored or logged' note both appear), but every sentence carries usable information.

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?

An output schema exists, so return values need not be described; the description instead covers the things it must — offline operation, draft-stage procedure, omitted prerequisite checks, and how to read 'unknown'. Nothing an agent needs to call or interpret this tool correctly is missing.

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 both 'path' and 'direction' are already documented, including ordering, separators and AS_SET refusal. The description reinforces that 'only the path is read' but adds no new syntax or semantics, so the baseline of 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 ('Check an AS_PATH against the published ASPA objects') and defines ASPA inline, so the agent knows this is ASPA-based path validation rather than a generic route lookup. The stated aim ('find out whether a path shows a route leak or an unauthorised provider') further scopes it, but no sibling such as check_route is named for contrast.

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 a clear use case (detecting route leaks / unauthorised providers) and pre-empts a likely misreading by explaining that 'unknown' means a missing ASPA publication, not a fault. It offers no explicit when-not conditions or named alternatives, so the routing guidance stops short of the top band.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_lookalikeLook-alike (homograph) checkA
Read-onlyIdempotent
Inspect

Check whether one domain or Web3 name is a visual look-alike (homograph): letters from different scripts mixed in one label, or every non-ASCII letter having a Latin twin, so раураl.com reads as paypal.com. Returns the scripts used and the Latin name it imitates.

Use it to screen candidate or incoming names quickly (phishing triage, brand monitoring). lookup_target already includes this warning for the name it looks up, so there is no need to call both for one name.

Behavior: offline and instant; no DNS, registry or network call. It catches script tricks only, not typos or digit swaps such as paypa1.com, so a clean result does not mean the domain is safe.

NameRequiredDescriptionDefault
nameYesone domain or Web3 name, Unicode (раураl.com) or punycode (xn--...); a full URL is not accepted

Output Schema

NameRequiredDescription
nameYesname in Unicode form
scriptsNoscripts the letters come from
look_alikeYes
looks_likeNothe Latin name it imitates
mixed_scriptNoone label mixes scripts

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only establish that this is a safe read (readOnlyHint, idempotentHint, openWorldHint=false), but the description adds substantial context beyond them: it is offline and instant with no DNS/registry/network call, and it discloses a real limitation — it catches script tricks only, not typo or digit swaps (paypa1.com), so a clean result does not mean the domain is safe. This is unusually rich behavioral disclosure.

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?

Front-loaded with the definition and example, then usage/routing, then behavior and limitations. Every sentence earns its place; no filler or restatement of the title.

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 single-parameter, offline, read-only tool with an output schema already covering return values, the description supplies the remaining essentials: scope of detection, negative-result caveat, and sibling routing. Nothing needed to call it correctly is missing.

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 the schema already documents the single 'name' parameter including the Unicode/punycode formats and the rejection of full URLs. The description contributes only an illustrative example, so it neither extends nor contradicts the schema — the baseline 3 for a fully covered parameter is appropriate.

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 (check a domain/Web3 name for visual look-alike/homograph) and defines the concept concretely with a worked example ('раураl.com reads as paypal.com'). An agent can distinguish it from lookup_target and the other siblings without opening any schema.

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 use cases (phishing triage, brand monitoring, screening candidate or incoming names) and an explicit alternative with a routing rule: lookup_target already includes this warning, so don't call both for one name. That is exactly when-to-use plus when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_mail_securityMail security gradeA
Read-onlyIdempotent
Inspect

Grade one domain's email authentication and list every check: SPF (single record, the 10 DNS-lookup limit across includes, the all qualifier), DMARC (policy, inheritance from the organizational domain, pct, report addresses), MTA-STS, TLS-RPT, BIMI, DANE and null MX. The level is strong, fair, weak, no_mail (domain declares it sends no mail) or none (no MX, SPF or DMARC at all).

Use it for questions about spoofing, deliverability or a DMARC rollout. lookup_target gives only the overall grade; this tool gives the status and a one-line finding for each check.

Behavior: reads public DNS only and never connects to the domain's mail servers, so it cannot test SMTP TLS, certificates or whether a mailbox exists. Usually under 2 s.

NameRequiredDescriptionDefault
domainYesregistered domain or subdomain whose mail setup to grade, e.g. example.com; Unicode or punycode. Not an email address and not a mail server host name

Output Schema

NameRequiredDescription
levelYesstrong, fair, weak, no_mail, or none when the domain has no mail setup
checksYes
domainYes
details_urlNo

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/openWorld, and the description goes further with genuinely non-obvious behavioral facts: it reads public DNS only, never connects to mail servers, and therefore cannot test SMTP TLS, certificates, or mailbox existence. It also commits to a latency bound (under 2 s), which helps an agent decide between one bulk call and many.

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-loaded with the core action, then scope, then routing guidance, then limits — a logical order with no filler sentences. The check enumeration is dense but every clause maps to a real output field, so only its length keeps it from a 5.

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?

An output schema exists, so return-shape explanation is not required; the description instead supplies what the schema cannot — the meaning of the grade levels (strong/fair/weak/no_mail/none) and the tool's hard limitations. Nothing an agent needs to invoke or interpret it correctly is missing.

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 the single 'domain' parameter is already well documented in the schema (registered domain or subdomain, not an email address or mail server host). The description adds no additional input semantics, 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 (grade) and resource (one domain's email authentication), then enumerates the exact checks covered (SPF limit/all qualifier, DMARC inheritance/pct, MTA-STS, TLS-RPT, BIMI, DANE, null MX). It explicitly distinguishes itself from the sibling lookup_target, so an agent can route correctly without opening either schema.

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 scenarios ('spoofing, deliverability or a DMARC rollout') and a direct comparison to the alternative: lookup_target gives only the overall grade, while this tool returns per-check status and a one-line finding. The when-to-use-this-vs-sibling decision is fully resolved.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_routeCheck a prefix against an origin ASA
Read-onlyIdempotent
Inspect

Check one (prefix, origin AS) pair against the public records: RPKI route origin validation (RFC 6811), the routing registries (IRR route objects) and how many RIPE RIS peers see that origin for the prefix.

Use it to answer whether an AS is authorised to originate a prefix, why a route may be dropped by networks that filter on RPKI, or whether a registry object matches an announcement. For everything about one prefix or AS use lookup_target instead.

Behavior: offline, answered from local snapshots; the result lists only the datasets this instance has loaded. RPKI "invalid" can be a stale ROA and an IRR object is a claim, so neither is proof of a hijack or of authorisation. A prefix RIS does not see may still be announced to peers it does not have.

NameRequiredDescriptionDefault
originYesthe origin AS number to check the prefix against, written AS13335; a bare number is not an ASN
prefixYesone announced or planned prefix in CIDR form, IPv4 or IPv6, e.g. 1.1.1.0/24 or 2606:4700::/32; host bits are ignored. A bare address or a range is not accepted

Output Schema

NameRequiredDescription
irrNorouting registry check: match, less_specific, mismatch or none; absent without an IRR dataset. A registry object is a claim, not an authorisation
rpkiNoroute origin validation of (prefix, origin): valid, invalid or not_found; absent without a VRP set. Informational
originYes
prefixYesthe prefix with host bits cleared
seen_byNonumber of RIPE RIS peers that see this origin for the prefix
summaryYesthe human-readable result, the same text as the text content
announcedNowhether the routing table lists this exact prefix with this origin; absent without a routing table
details_urlNothe result page of the prefix

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already cover read-only/idempotent/closed-world, but the description adds information they cannot carry: the tool is answered from local offline snapshots whose dataset coverage varies by instance, and the result only lists datasets actually loaded. It also pre-empts two classic misinterpretations — RPKI invalid may be a stale ROA and an IRR object is only a claim, neither proving hijack or authorisation, and absent RIS visibility does not mean the prefix is unannounced.

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-loaded with what is checked and why it matters, then a clearly labelled Behavior section. The caveat paragraph is longer than typical but each clause prevents a specific real-world misreading; only minor trimming would be possible.

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?

Output schema exists, so return values need no explanation; the description instead supplies the interpretive context an agent needs — offline snapshot provenance, variable dataset coverage, and the limits of each signal. Nothing required to call or interpret the result is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description reinforces the key constraint that this is exactly one pair at a time rather than a batch, which shapes how an agent should call it. It does not restate formats (AS13335, CIDR) since the schema already does that thoroughly.

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?

Names the exact input (one prefix, origin AS pair) and the three concrete datasets consulted (RPKI ROA validation per RFC 6811, IRR route objects, RIPE RIS peer visibility). It explicitly contrasts with lookup_target, so an agent can distinguish it from siblings without opening the schema.

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 three concrete question shapes this answers (is an AS authorised to originate, why a route is dropped by RPKI filtering, does a registry object match an announcement) and explicitly routes all prefix-wide or AS-wide questions to lookup_target. Both when-to-use and when-to-use-something-else are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_tld_infoTop-level domain factsA
Read-onlyIdempotent
Inspect

Facts about one top-level domain from local datasets: whether it is delegated in the root zone, its type (country-code or infrastructure when derivable), the registry's RDAP server, root-zone name servers, whether the root zone publishes a DS record (DNSSEC) and which DS algorithms, and any Web3 namespace that claims the same label (for example .eth, .crypto, .bnb, or a collision such as .xyz).

Use it to answer where to send an RDAP query for a TLD, whether a TLD is signed, or whether a name under it could mean something else on a blockchain. For one domain use lookup_target instead.

Behavior: offline and instant, answered from synced IANA and root-zone data; makes no network call. A field without data is omitted, never guessed. Registry operator and delegation date are not included.

NameRequiredDescriptionDefault
tldYesone top-level domain with or without the leading dot, e.g. com, .de, xn--p1ai or рф. A full domain name is not accepted

Output Schema

NameRequiredDescription
tldYesthe TLD in ASCII (punycode) form
typeNocountry-code or infrastructure, when derivable
dnssecNothe root zone publishes a DS record for the TLD
summaryNothe human-readable fact sheet, the same text as the text content
unicodeNo
collisionNodelegated in the root zone and also a Web3 namespace
delegatedYesdelegated in the root zone
details_urlNothe TLD page
nameserversNoroot-zone name servers
rdap_serverNo
ds_algorithmsNo
web3_namespacesNoWeb3 namespaces that claim this label

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly, closed-world and idempotent, yet the description still adds substantive context: it is answered from synced IANA and root-zone data, makes no network call, is instant, and fields without data are omitted rather than guessed. It also scopes negatively by naming two fields deliberately absent (registry operator, delegation date), which prevents false expectations.

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?

It is front-loaded: contents first, then usage, then behavior, each in its own paragraph. The one weakness is the very long first sentence, which packs six field groups into a single clause chain and costs more reading effort than a short bulleted list would.

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?

With a single parameter, an output schema carrying the return shape, and annotations covering safety, the description supplies exactly the remaining pieces: data provenance, offline behavior, omission policy, scope exclusions and the sibling alternative. Nothing an agent needs to call it correctly is missing.

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 the single tld parameter is fully documented there, including examples, leading-dot tolerance and the punycode/unicode case. The description adds no parameter-level meaning beyond that, so the baseline of 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?

The first sentence names a specific verb and resource ('facts about one top-level domain') and enumerates exactly which facts are returned (delegation, type, RDAP server, name servers, DS/DNSSEC, Web3 namespace collisions). The closing line of the usage paragraph explicitly separates it from the sibling lookup_target, so the agent can distinguish it without opening the schema.

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?

Three concrete use cases are given ('where to send an RDAP query for a TLD, whether a TLD is signed, or whether a name under it could mean something else on a blockchain') plus an explicit redirect: 'For one domain use lookup_target instead.' That is when-to-use plus the alternative, nothing left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_data_sourcesData sources and freshnessA
Read-onlyIdempotent
Inspect

List the local datasets and feeds behind lookup_target (RIR delegations, IANA, Public Suffix List, cloud / CDN ranges, Tor and Private Relay, reputation lists, GeoLite2) with state, record count, generation date and a stale flag.

Use it to judge how current a reputation, RIR, cloud or geolocation answer is, or to explain why such a section is missing from a lookup (dataset not loaded or stale). Registry, DNS and Web3 data are fetched live and are not listed here.

Behavior: takes no arguments and makes no external calls.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
datasetsYes

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly, openWorld=false and idempotent, so the safety profile is covered; the description still adds useful behavior: no arguments, no external calls, and the fact that live-fetched sources never appear in this listing. It stops short of saying how often dataset state changes or how to refresh, but the marginal value over the annotations is real.

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-loaded with purpose, then usage, then behavior in three tight paragraphs with no filler. The parenthetical dataset enumeration is long, but it is the one piece of content that tells an agent what coverage to expect, so it largely earns its space.

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?

An output schema exists, so return values need no explanation, and the annotations carry the safety/idempotency profile. For a zero-argument inventory tool the description covers purpose, the decision context, the exclusion set, and the no-side-effects guarantee — nothing an agent needs to invoke it correctly is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, which is the baseline-4 case, and the description confirms this explicitly ('takes no arguments'), removing any question of whether filtering arguments are available. There is nothing further to document.

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 ('list the local datasets and feeds behind lookup_target') and enumerates the dataset families covered (RIR, IANA, PSL, cloud/CDN, Tor/Private Relay, reputation, GeoLite2). It also returns concrete fields (state, record count, generation date, stale flag), so an agent can distinguish this inventory tool from lookup_target immediately.

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?

Explicitly states when to use it ('judge how current a reputation, RIR, cloud or geolocation answer is', 'explain why such a section is missing') and draws a clear exclusion boundary: registry, DNS and Web3 data are fetched live and are not listed here. Both the trigger and the non-coverage are spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lookup_manyLook up several targets at onceA
Read-onlyIdempotent
Inspect

Look up up to 10 domains, IPs, CIDRs, ASNs or Web3 names in one call and get one short line per target (type, registrar and expiry, nameservers, network owner, origin AS, cloud, reputation, Web3 status) plus the same facts as structured fields and a details_url for each.

Use it to triage a list, for example the domains in a phishing report or the IPs in a log excerpt. For the full fact sheet of one target use lookup_target.

Behavior: each target is a live lookup like lookup_target and counts against the same rate limit, so a long list can hit it; targets that were refused say so and can be retried later. Up to 3 run at once, the whole call is cut off after about 22 s and targets that did not finish say so. One failing target does not fail the others.

NameRequiredDescriptionDefault
queriesYesup to 10 targets, each as for lookup_target: domain, IP, CIDR, ASN written as AS15169, or Web3 name. Duplicates are dropped

Output Schema

NameRequiredDescription
resultsYesone entry per target, in the order given

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnly/openWorld/idempotent annotations, it discloses live lookup behavior, shared rate limits, partial failures, retryable refusals, concurrency of up to 3, and an approximately 22-second cutoff. These are meaningful operational constraints that an agent would otherwise not know.

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 batch purpose and output shape, followed by usage guidance and then operational behavior. Each sentence contributes useful selection or invocation context without filler.

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?

Although an output schema exists, the description still summarizes the return content and covers rate-limit, timeout, concurrency, and partial-failure behavior. Given the tool's batch complexity and open-world annotations, it is complete enough for an agent to call it 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 single queries parameter is already fully documented, including the 10-target cap, supported target forms, and duplicate dropping. The description restates the target types and limit but adds little parameter-level meaning beyond the schema.

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 batch lookup action, enumerates supported target types, and explains the per-target result shape. It also explicitly differentiates from the single-target sibling by directing users to lookup_target for a full fact sheet.

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 concrete triage examples such as domains in a phishing report or IPs in a log excerpt, and it names lookup_target as the alternative for single-target full fact sheets. The usage boundary between batch and single lookup is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lookup_targetWHOIS / RDAP / DNS / network / Web3 lookupA
Read-onlyIdempotent
Inspect

Look up one domain, IP address, CIDR block, ASN (AS15169), EVM address (0x…) or Web3 name (ENS .eth, Unstoppable, SPACE ID .bnb, Handshake hns:) and get a compact fact sheet. Domains: registrar, dates, status, nameservers, DNS records, overall mail-security grade, third-party services seen in DNS, possibly dangling records. IPs, CIDRs and ASNs: network owner, origin AS, RIR, cloud / CDN provider, Tor or iCloud Private Relay tag, geolocation, abuse contact, local reputation. Web3 names: registration status, addresses, records, ENS expiry. A 0x EVM address: its ENS primary name on Ethereum, Base, Optimism, Arbitrum, Linea and Scroll (reverse lookup). A look-alike warning is added when the name uses deceptive letters.

Use it first for any question about who owns, runs, hosts or registered something. Prefer check_mail_security when you need each email check rather than the grade, and check_lookalike to screen many names without network calls.

Behavior: queries registries, DNS and (for Web3) blockchain RPC live, usually in 1-5 s, at most about 12 s. If one source fails, the rest is still returned and the failure is listed under errors. Reputation covers local blocklists only: no match is not a clean bill of health. Queries are not logged or stored. The result ends with details_url, the full page with every record and its provenance.

NameRequiredDescriptionDefault
queryYeswhat to look up: a domain (example.com, münchen.de), IPv4 / IPv6 address, CIDR (8.8.8.0/24), ASN written as AS15169 (a bare number is not an ASN), a Web3 name (vitalik.eth, brad.crypto, spaceid.bnb, bonfida.sns, hns:name), or an EVM address (0xd8dA…6045) to find its ENS primary names
namespaceNooptional; force a Web3 namespace (ens, unstoppable, spaceid, sns or hns) when a name could belong to several, e.g. a TLD that is both an ICANN TLD and a Web3 namespace. Leave empty and the namespace is detected from the name

Output Schema

NameRequiredDescription
irrNorouting registry (IRR) check of the announcement of an IP or CIDR: match, less_specific, mismatch or none; absent without IRR data. A registry object is a claim, not an authorisation
rpkiNoroute origin validation of the announcement of an IP or CIDR: valid, invalid or not_found; absent without RIS and VRP data. Informational
typeYestarget type: domain, ipv4, ipv6, cidr, asn or web3_name
cloudNocloud / CDN provider
queryYesnormalized query
dnssecNoDNSSEC status from the resolver: secure (resolver-validated), signed (DS present, not validated), keys (DNSKEY only) or insecure
errorsNoprovider failures; the rest of the result is still valid
countryNo
networkNocovering CIDR or network range
summaryYesthe full human-readable fact sheet, the same text as the text content
warningsNolook-alike, special-purpose and namespace-collision warnings
addressesNoWeb3 addresses as network:address
origin_asNoorigin AS number for an IP
registrarNo
anonymizerNotor_exit or private_relay
created_atNo
expires_atNo
reputationNoverdict from local lists; absent when no list is loaded
details_urlNofull result page
nameserversNo
web3_statusNo
availabilityNoregistered, available or unknown (domains and Web3 names)
network_typeNoPeeringDB network type of the AS (NSP, Content, Cable/DSL/ISP, ...), self-reported; absent when PeeringDB data is off
organizationNo
grace_ends_atNoend of the renewal grace period (.eth names); expires_at holds the registration expiry
mail_securityNostrong, fair, weak or no_mail
primary_namesNofor a 0x address: ENS primary names as network:name (ethereum, base, optimism, arbitrum, linea, scroll)
peering_policyNoPeeringDB general peering policy (Open, Selective, Restrictive, No)
announced_prefixNoprefix announced in BGP (RIPE RIS) that covers an IP or CIDR; absent when RIS data is off
internet_exchangeNofor an address inside an internet exchange peering LAN: the exchange
announced_prefix_countNofor an ASN: number of prefixes it originates (RIPE RIS)

TDQS

A4.4/5.0
Behavior5/5

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

Adds substantial context beyond the readOnly/openWorld/idempotent annotations: live registry-DNS-RPC queries with 1-5s typical and ~12s worst-case latency, partial-failure semantics (other sources still returned, failures listed under errors), a reputation caveat that no-match is not a clean bill of health, and a no-logging/no-storage privacy note.

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-loaded with purpose, then a scanning paragraph listing per-type returns, then usage routing, then behavior — a logical order with no filler. The per-type return enumeration is long and partly redundant with the output schema, which keeps it from being maximally tight.

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 single-query, open-world lookup with an output schema already present, the description supplies everything needed to call it correctly: accepted input formats, latency expectations, partial-failure handling, and a pointer to details_url for full provenance.

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 coverage is 100%, so the baseline applies; the description's format list ('AS15169', '0x…', 'hns:name') largely restates the query parameter's own schema text. The namespace parameter is left entirely to the schema, and the description adds no new parameter-level semantics such as how ambiguous names are resolved beyond what the schema already says.

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 ('look up') plus an explicit enumeration of accepted resource types (domain, IP, CIDR, ASN, EVM address, Web3 name) and what each returns. This makes it immediately distinguishable from narrow siblings like check_mail_security or get_tld_info.

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 a clear default rule ('use it first for any question about who owns, runs, hosts or registered something') and names two alternatives with the condition that selects them (check_mail_security for per-check detail, check_lookalike for bulk screening without network calls). It omits the obvious batch sibling lookup_many, so an agent asking about many targets is not routed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • Addedcheck_aspa_path
    • Addedcheck_route
    • Addedget_tld_info
    • Addedlookup_many
    • Changedlookup_target11 fields changed
      • changedInput schema / properties / query / description
        Previous value: -"what to look up: a domain (example.com, münchen.de), IPv4 / IPv6 address, CIDR (8.8.8.0/24), ASN written as AS15169 (a bare number is not an ASN), or a Web3 name (vitalik.eth, brad.crypto, spaceid.bnb, bonfida.sns, hns:name)"New value: +"what to look up: a domain (example.com, münchen.de), IPv4 / IPv6 address, CIDR (8.8.8.0/24), ASN written as AS15169 (a bare number is not an ASN), a Web3 name (vitalik.eth, brad.crypto, spaceid.bnb, bonfida.sns, hns:name), or an EVM address (0xd8dA…6045) to find its ENS primary names"
      • addedOutput schema / properties / announced_prefix
        Added value: +{
        +  "description": "prefix announced in BGP (RIPE RIS) that covers an IP or CIDR; absent when RIS data is off",
        +  "type": "string"
        +}
      • addedOutput schema / properties / announced_prefix_count
        Added value: +{
        +  "description": "for an ASN: number of prefixes it originates (RIPE RIS)",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / dnssec
        Added value: +{
        +  "description": "DNSSEC status from the resolver: secure (resolver-validated), signed (DS present, not validated), keys (DNSKEY only) or insecure",
        +  "type": "string"
        +}
      • addedOutput schema / properties / grace_ends_at
        Added value: +{
        +  "description": "end of the renewal grace period (.eth names); expires_at holds the registration expiry",
        +  "type": "string"
        +}
      • addedOutput schema / properties / internet_exchange
        Added value: +{
        +  "description": "for an address inside an internet exchange peering LAN: the exchange",
        +  "type": "string"
        +}
      • addedOutput schema / properties / irr
        Added value: +{
        +  "description": "routing registry (IRR) check of the announcement of an IP or CIDR: match, less_specific, mismatch or none; absent without IRR data. A registry object is a claim, not an authorisation",
        +  "type": "string"
        +}
      • addedOutput schema / properties / network_type
        Added value: +{
        +  "description": "PeeringDB network type of the AS (NSP, Content, Cable/DSL/ISP, ...), self-reported; absent when PeeringDB data is off",
        +  "type": "string"
        +}
      • addedOutput schema / properties / peering_policy
        Added value: +{
        +  "description": "PeeringDB general peering policy (Open, Selective, Restrictive, No)",
        +  "type": "string"
        +}
      • addedOutput schema / properties / primary_names
        Added value: +{
        +  "description": "for a 0x address: ENS primary names as network:name (ethereum, base, optimism, arbitrum, linea, scroll)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": [
        +    "null",
        +    "array"
        +  ]
        +}
      • addedOutput schema / properties / rpki
        Added value: +{
        +  "description": "route origin validation of the announcement of an IP or CIDR: valid, invalid or not_found; absent without RIS and VRP data. Informational",
        +  "type": "string"
        +}
  2. 1 tool update
    • Changedlookup_target2 fields changed
      • changedInput schema / properties / namespace / description
        Previous value: -"optional; force a Web3 namespace (ens, unstoppable, spaceid or hns) when a name could belong to several, e.g. a TLD that is both an ICANN TLD and a Web3 namespace. Leave empty and the namespace is detected from the name"New value: +"optional; force a Web3 namespace (ens, unstoppable, spaceid, sns or hns) when a name could belong to several, e.g. a TLD that is both an ICANN TLD and a Web3 namespace. Leave empty and the namespace is detected from the name"
      • changedInput schema / properties / query / description
        Previous value: -"what to look up: a domain (example.com, münchen.de), IPv4 / IPv6 address, CIDR (8.8.8.0/24), ASN written as AS15169 (a bare number is not an ASN), or a Web3 name (vitalik.eth, brad.crypto, spaceid.bnb, hns:name)"New value: +"what to look up: a domain (example.com, münchen.de), IPv4 / IPv6 address, CIDR (8.8.8.0/24), ASN written as AS15169 (a bare number is not an ASN), or a Web3 name (vitalik.eth, brad.crypto, spaceid.bnb, bonfida.sns, hns:name)"
  3. 4 tool updates
    • Changedcheck_lookalike1 field changed
      • removedOutput schema / additionalProperties
        Removed value: -false
    • Changedcheck_mail_security2 fields changed
      • removedOutput schema / additionalProperties
        Removed value: -false
      • removedOutput schema / properties / checks / items / additionalProperties
        Removed value: -false
    • Changedlist_data_sources2 fields changed
      • removedOutput schema / additionalProperties
        Removed value: -false
      • removedOutput schema / properties / datasets / items / additionalProperties
        Removed value: -false
    • Changedlookup_target3 fields changed
      • removedOutput schema / additionalProperties
        Removed value: -false
      • addedOutput schema / properties / summary
        Added value: +{
        +  "description": "the full human-readable fact sheet, the same text as the text content",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "query",
        -  "type"
        -]New value: +[
        +  "summary",
        +  "query",
        +  "type"
        +]
  4. 4 tool updates
    • First observedcheck_lookalike
    • First observedcheck_mail_security
    • First observedlist_data_sources
    • First observedlookup_target

Publisher details

Operator
Not applicable
Operator website
https://whois.dc5.tech/
Vendor relationship
Independent
Trust center
Not applicable
Restrictions
Not applicable

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Query WHOIS/RDAP information for domains, IP addresses, CIDR prefixes and ASNs. Results are normalized to RDAP-style (RFC 9083) JSON. Public instance of the open-source KincaidYang/whois server, which can also be self-hosted.
    66
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Check domain name availability via RDAP. Single lookups, bulk checks (up to 50), and smart name suggestions with registration links. No API key needed.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources