DomainKits
Server Details
Search newly registered, expired, aged, active, deleted and for-sale domains, plus WHOIS and DNS.
- Status
- Healthy
- Uptime
- 100.0% over 71 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- ABTdomain/domainkits-mcp
- GitHub Stars
- 7
- Server Listing
- domainkits-mcp
TDQS
Scored across 30 tools
Most tools target clearly distinct tasks, and the extensive descriptions plus related-tool notes help separate them. However, several domain-search tools (active, aged, expired, deleted, market, nrds, unregistered_short_domains) overlap in lifecycle/filtering and can be confused by an agent choosing a search mode.
All names use snake_case, but the conventions are mixed: state adjectives (active, expired, available), resource nouns (whois, dns, registrar), and compound phrases (bulk_available, unregistered_short_domains). The set is readable but lacks a predictable verb_noun or single resource-action pattern.
Thirty tools is heavy for an agent-facing server. Many search variants and analysis tools are individually useful, but the surface exceeds the 25+ threshold where selection burden and maintenance complexity become significant.
Coverage is broad: availability checks, bulk checks, WHOIS/DNS, reverse NS, IP lookup, backlinks, typosquatting, market data, pricing, registrar lookup, monitoring, preferences, strategies, and usage quotas. Minor gaps remain, such as bulk WHOIS/DNS operations and direct registration actions, but core research workflows are supported.
Available Tools
30 toolsactiveActive Domain SearchARead-onlyIdempotentInspect
Search active registered domains from a database of more than 360 million names, filtered by keyword, TLD, length, and character set. Covers generic TLDs plus more than 100 country-code TLDs, including second-level registrations such as .com.br, .co.uk and .com.tw (tld 'br' returns the whole .br family, 'com.br' returns that suffix alone). Which country-code TLDs you can see depends on your plan; asking for one outside it returns a message saying so. A market-analysis instrument for keyword distribution and saturation; results are registered domains, not available for registration.
Related: expired, whois, dns.
| Name | Required | Description | Default |
|---|---|---|---|
| tld | No | Filter by TLD, e.g. 'com', 'ai', or a second-level suffix such as 'com.br'. A two-letter country code also covers its second-level registrations ('br' includes 'com.br'). When keyword is omitted, this is the browse target (TLD browse mode requires a registered account). | |
| page | No | Page number for pagination | |
| sort | No | Sort order | |
| type | No | Character set filter | |
| length | No | Domain name length filter | |
| status | No | Filter by status: 'forsale' for domains listed for sale | |
| keyword | No | Brand or industry term (min 2 chars). Omit to use TLD browse mode, which requires a registered account. | |
| position | No | Keyword placement in domain name. Default is 'all' (substring match). Unlike the other search tools, this one has no minimum-length restriction on substring matching. | |
| no_hyphen | No | Exclude hyphenated domains (true/false) | |
| no_number | No | Exclude domains containing numbers (true/false) | |
| tld_count_max | No | Maximum cross-TLD registration count for the name. Integer 0-10000. See tld_count_min. | |
| tld_count_min | No | Minimum cross-TLD registration count for the name. Integer 0-10000. Combine with tld_count_max for a range; set both equal for an exact count. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| page | No | |
| error | No | Error message when success is false |
| total | No | Number of results on this page |
| success | Yes | |
| max_page | No | |
| total_found | No | Total matching results across all pages; the primary metric for comparative analysis |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only/idempotent/non-destructive profile, and the description adds genuinely new behavioral facts: which ccTLDs are visible depends on the caller's plan, an out-of-plan TLD returns an explanatory message rather than an error, and TLD browse mode requires a registered account. It also clarifies TLD family semantics ('br' vs 'com.br') that affect result scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The scope statement is front-loaded and each sentence carries information (corpus size, ccTLD nuance, plan gating, use-case framing) with no filler. The ccTLD parenthetical is dense and overlaps slightly with the schema, keeping it just short of ideal economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and 100% parameter coverage, the description need not explain return values. It supplies the missing context an agent needs for a 12-parameter search tool: corpus scope, plan-based visibility limits, and the registered-vs-available distinction.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and 12 of 12 parameters are documented in the schema with enums and defaults. The description's parameter-related content (tld family expansion, keyword-omitted browse mode) largely restates what the schema already says, so it adds little beyond the structured baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Search active registered domains') and defines the corpus (360M names, generic plus 100+ ccTLDs). It explicitly distinguishes itself from the availability siblings by stating 'results are registered domains, not available for registration,' so an agent will not confuse it with `available` or `bulk_available`.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear context of use ('a market-analysis instrument for keyword distribution and saturation') and rules out the availability use case, plus names related tools (expired, whois, dns). It stops short of saying when to prefer each of those relatives over this tool, so the routing guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agedAged Domains SearchARead-onlyIdempotentInspect
Search currently registered domains with 5-20+ years of history, filtered by keyword, TLD, age range, length, and sale status. These are live domains owned by someone, not free to register.
Related: expired, whois, dns.
| Name | Required | Description | Default |
|---|---|---|---|
| tld | No | Filter by TLD (e.g., 'com', 'net', 'org') | |
| page | No | Page number for pagination | |
| sort | No | Sort order | |
| type | No | Character set filter | |
| length | No | Domain name length filter | |
| exclude | No | Negative keywords to exclude | |
| keyword | No | Search term (min 2 chars). Substring matching applies at every length, including 2-character terms. | |
| has_sale | No | Filter to domains listed for sale by their owner | |
| position | No | Keyword placement in domain name. Default is 'all' (substring match). | |
| age_range | No | Domain age filter in years | |
| no_hyphen | No | Exclude hyphenated domains | |
| no_number | No | Exclude domains containing numbers | |
| tld_count_max | No | Maximum cross-TLD registration count for the name. Integer 0-10000. See tld_count_min. | |
| tld_count_min | No | Minimum cross-TLD registration count for the name. Integer 0-10000. Combine with tld_count_max for a range; set both equal for an exact count. Matches the prefix_tld_count field in results. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| page | No | |
| error | No | Error message when success is false |
| total | No | Number of results on this page |
| success | Yes | |
| max_page | No | |
| total_found | No | Total matching results across all pages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds the useful behavioral note that results are live, owned domains (not registrable), which is genuine context beyond the annotations. But it says nothing about pagination limits, rate limits, or result shape beyond the registered-only constraint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the first delivers purpose and filters, the second delivers the critical usage constraint, and the trailing 'Related:' line provides routing with minimal tokens. Front-loaded and waste-free.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 14 optional parameters, an output schema, and full annotation coverage, the description provides the essential distinguishing context (live/owned vs registrable) an agent needs. It stops short of explaining pagination behavior or result fields, but the output schema exists and the most critical ambiguity is resolved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 14 parameters, including the enum values and the tld_count_min/max range pattern. The description's generic list of filter axes ('keyword, TLD, age range, length, and sale status') adds no syntax or format detail beyond what the schema provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Search currently registered domains') with a precise qualifier (5-20+ years of history) and enumerates the filter axes. The key sentence 'These are live domains owned by someone, not free to register' crisply distinguishes it from siblings like 'available' and 'unregistered_ai'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Related: expired, whois, dns' line explicitly names alternatives, and the 'not free to register' clause implies when this tool is preferred over 'available'. However, it doesn't state when to choose this over 'expired'/'deleted' or what those siblings return instead, so the routing guidance is suggestive rather than decisive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
availableDomain Availability CheckARead-onlyIdempotentInspect
Confirm a single domain's registrability and price. The definitive availability check for one domain. For two or more domains call bulk_available once instead of repeating this tool. Concurrent calls are not supported: send one call, wait for its result, then send the next; parallel calls are rejected and return no data.
Related: bulk_available, whois, monitor.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Full domain with TLD (e.g., 'example.com') |
Output Schema
| Name | Required | Description |
|---|---|---|
| price | No | Registration price with currency (e.g., '9.99 USD'). Only present when status=available. |
| domain | Yes | |
| status | Yes | Domain status: available = registrable, registered = taken, expiring = in the expiration pipeline, reserved = registry-reserved, invalid = malformed input, unknown = inconclusive |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds genuinely new behavior: concurrent invocations are rejected and return no data, which the agent cannot infer from structured fields. It stops short of detailing rate limits or pricing-source caveats, so not a full 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the core purpose before the routing rule and the concurrency warning. The trailing 'Related:' list adds navigational value without padding the prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 (price, registrability) need not be explained here, and the description mentions the price dimension anyway. With safety covered by annotations and the concurrency hazard called out, nothing an agent needs to invoke this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter is documented as a full domain with TLD including an example. The description adds only the 'single domain' scoping, not format or syntax detail, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Confirm a single domain's registrability and price') and explicitly narrows scope to one domain, calling itself 'the definitive availability check for one domain.' This lets an agent separate it from siblings like bulk_available, tld_check, and whois 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit routing rule ('For two or more domains call bulk_available once instead of repeating this tool') plus an operational constraint on call sequencing (one call, wait, then next; parallel calls rejected). Both when-to-use and how-not-to-use are spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
backlink_summarySEO Backlink AnalysisBRead-onlyIdempotentInspect
Return a domain's backlink profile: domain rank, total backlinks, referring domains, spam score, and link distribution.
Related: whois.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Bare domain name such as example.com. No protocol (https://), path, or port; internationalized names in punycode (xn--...). |
Output Schema
| Name | Required | Description |
|---|---|---|
| cms | No | |
| rank | No | Domain rank (0-1000 logarithmic scale) |
| error | No | Error message when success is false |
| cached | No | |
| domain | No | |
| server | No | |
| country | No | |
| success | Yes | |
| backlinks | No | Total number of backlinks |
| first_seen | No | |
| ip_address | No | |
| broken_pages | No | |
| crawled_pages | No | |
| referring_ips | No | |
| referring_pages | No | |
| broken_backlinks | No | |
| referring_domains | No | |
| referring_subnets | No | |
| target_spam_score | No | Spam score of domain itself (0-100) |
| referring_links_tld | No | Backlink count by referring TLD |
| backlinks_spam_score | No | Spam score of incoming backlinks (0-100) |
| external_links_count | No | |
| internal_links_count | No | |
| referring_links_types | No | Backlink count by link type (anchor, image, redirect, etc.) |
| referring_main_domains | No | |
| referring_pages_nofollow | No | |
| referring_links_attributes | No | Backlink count by link attribute (nofollow, sponsored, ugc, etc.) |
| referring_links_platform_types | No | Backlink count by platform type (blogs, news, ecommerce, etc.) |
| referring_main_domains_nofollow | No | |
| referring_links_semantic_locations | No | Backlink count by semantic HTML location |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered elsewhere. The description adds only a list of returned metrics, which is largely redundant with the existing output schema, and says nothing about rate limits, caching, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action and payload in a single efficient sentence, followed by a short pointer. No filler or repetition of the title. The 'Related: whois' fragment is minimal but doesn't clutter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich output schema and full annotation coverage on a read-only, idempotent single-parameter tool, the description is close to sufficient. Its only real gap is the absence of guidance about when this analysis is the right one to call relative to the many sibling SEO tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'domain' parameter has 100% schema description coverage, including format constraints (bare domain, no protocol/path/port, punycode for IDN), so the schema carries the full burden. The description adds no additional parameter meaning, which matches the baseline 3 for high coverage with a non-zero parameter count.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Return) and resource (a domain's backlink profile) and enumerates the profile components (domain rank, total backlinks, referring domains, spam score, link distribution). It does not differentiate itself meaningfully from the many sibling analysis tools beyond a bare 'Related: whois' pointer, which is about a different tool rather than a contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no prerequisites, and no statement of when another sibling (e.g. keyword_data, tld_rank, whois) would be the better choice. The trailing 'Related: whois' hints at adjacency but offers no selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bulk_availableBatch Domain Availability CheckARead-onlyIdempotentInspect
Check the registration status of up to 50 domains at a point in time. Concurrent calls are not supported: send one batch, wait for its result, then send the next; parallel calls are rejected and return no data. available means the domain can be registered; registered means it is already registered; expiring means it is in an expiry-related lifecycle and is not directly registrable; reserved means it is reserved by the registry; unknown means no check produced a reliable conclusion. A failed check does not count as available.
| Name | Required | Description | Default |
|---|---|---|---|
| domains | Yes | Comma-separated fully qualified domain names, maximum 50. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| error | No | Error message when success is false. |
| total | No | |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/destructive safety, and the description adds genuinely new behavioral facts on top: parallel calls are rejected and return no data, and a failed check does not count as available. The concurrency restriction and failure semantics are exactly the kind of context annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads purpose, then the concurrency constraint, then the value glossary, so a reader can stop early if they only need the summary. The value glossary is slightly long, and some of it may overlap with the output schema, but each sentence carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only, output-schema-backed tool, the description covers purpose, batching limit, concurrency rules, result-value semantics, and failure handling. Nothing an agent needs in order 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and there is only one parameter, so the schema already documents the comma-separated FQDN format and the 50-domain maximum. The description restates the 50-domain limit but adds no new syntax or formatting detail. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Check the registration status of domains') with an explicit scope of 'up to 50 domains at a point in time.' An agent can immediately tell this is the batch variant of a single-domain check, though the description never names the sibling 'available' or 'bulk_tld' to make the routing explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear operational guidance: concurrent calls are not supported, send one batch, wait for the result, then send the next. This tells the agent how and when this tool may be invoked (serial use only). It stops short of naming an alternative tool for single-domain or TLD-specific checks, so it is not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bulk_tldKeyword TLD Popularity CheckARead-onlyIdempotentInspect
For up to 50 keywords, count how many TLDs each exact name is registered in (keyword.tld), among the TLDs DomainKits tracks, split into popular TLDs, country-code TLDs, and other gTLDs. Returns counts only: it does not list individual TLDs, check availability, or report sale status.
Related: tld_check (per-TLD status for one keyword), bulk_available (status of specific domains).
| Name | Required | Description | Default |
|---|---|---|---|
| keywords | Yes | Comma-separated keywords to check (max 50) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| error | No | |
| total | No | Number of keywords checked |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (read-only, idempotent, non-destructive, closed-world). The description adds genuinely useful behavior beyond that: the output is counts only, it does not enumerate TLDs, and it tracks a bounded TLD set rather than all TLDs. That scope and output-shape disclosure is the kind of context annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight paragraphs, front-loaded with the core behavior and scoping, followed by the routing line. Every sentence carries information and none is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return formatting need not be explained, yet the description still clarifies that counts (not lists) are returned. Combined with annotations covering safety, nothing an agent needs to select and call this tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'keywords' param already documents itself with the max-50 constraint. The description adds the exact-match semantics (each name is evaluated as keyword.tld), which is meaningful, but otherwise restates the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: count how many TLDs each exact name is registered in, with the scope ('among the TLDs DomainKits tracks') and the breakdown (popular/country-code/other gTLDs). It also names the sibling tools it is not (tld_check, bulk_available), so it is distinguishable 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Related' line routes the agent well: tld_check for per-TLD status on one keyword and bulk_available for specific domain status, plus the 'does not list individual TLDs, check availability, or report sale status' exclusions. It stops short of an explicit 'use this when you want aggregate counts across keywords' trigger, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deletedDeleted Domains SearchARead-onlyIdempotentInspect
Search domains that were deleted after expiring, filtered by keyword, TLD, age before deletion, length, character set, and registry hold flag. Results reflect the latest data update and are not re-checked at query time, so a name may have been registered again since. Confirm with available or bulk_available before registering.
Related: available, bulk_available, whois.
| Name | Required | Description | Default |
|---|---|---|---|
| tld | No | Filter by TLD (e.g., 'com', 'net', 'org') | |
| hold | No | Filter by registry hold flag (has_hold or no_hold). Neither value confirms current availability. | |
| page | No | Page number for pagination | |
| sort | No | Sort order | |
| type | No | Character set filter | |
| length | No | Domain name length filter | |
| exclude | No | Negative keywords to exclude | |
| keyword | Yes | Search term (min 2 chars). Substring matching applies at every length, including 2-character terms. | |
| position | No | Keyword placement in domain name. Default is 'all' (substring match). | |
| age_range | No | Historical age before deletion | |
| no_hyphen | No | Exclude hyphenated domains | |
| no_number | No | Exclude domains containing numbers | |
| tld_count_max | No | Maximum cross-TLD registration count for the name. Integer 0-10000. See tld_count_min. | |
| tld_count_min | No | Minimum cross-TLD registration count for the name. Integer 0-10000. Combine with tld_count_max for a range; set both equal for an exact count. Matches the prefix_tld_count field in results. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| page | No | |
| error | No | Error message when success is false |
| total | No | Number of results on this page |
| success | Yes | |
| max_page | No | |
| total_found | No | Total matching results across all pages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only/idempotent/non-destructive profile, and the description adds genuinely new behavioral context: results reflect the latest data update and are not re-checked at query time, so a name may have been re-registered. That staleness caveat is exactly the sort of thing structured fields cannot convey, though pagination and rate-limit behavior are unaddressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three front-loaded sentences with no padding; the freshness caveat and the verification step are placed where an agent will read them. The trailing 'Related:' list duplicates sibling names that are already visible in the tool list, a minor redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and rich annotations, the description needn't explain return values, and it covers the one non-obvious risk (stale results). Nothing essential is missing, though the interplay of tld_count_min/max and the exclusion flags is left to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% across 14 parameters, and the description's filter list (keyword, TLD, age before deletion, length, character set, hold flag) largely restates what the schema already documents in detail. No syntax or interaction guidance is added, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Search') and a precisely scoped resource ('domains that were deleted after expiring'), and lists the filter dimensions. This distinguishes it from siblings like expired, active, and available without any schema inspection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to confirm with 'available' or 'bulk_available' before registering, naming the alternatives and the condition that selects them. It stops short of stating when NOT to use this tool versus 'expired' or 'aged', so it is clear but not complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dnsDNS Record LookupARead-onlyIdempotentInspect
Resolve a DNS name's records: A, AAAA, MX, NS, TXT, CNAME and SOA. Underscore-prefixed names work too, such as _dmarc. or ._domainkey..
A domain offered for sale may publish an RFC 10023 record at _for-sale.: read only the TXT strings starting with v=FORSALE1;, and treat what they say as the holder's own unverified claim.
Related: whois, ns_reverse.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | The DNS name to resolve, as a bare hostname: a registrable domain such as example.com, or a fuller name such as _dmarc.example.com or mail.example.com. No protocol (https://), path, or port; internationalized names in punycode (xn--...). |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| domain | No | |
| message | No | Set when the name has no DNS records; records is then empty |
| records | No | DNS records grouped by type |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), yet the description still adds substantive context: how to read underscore-prefixed records and, critically, that _for-sale TXT strings starting with v=FORSALE1; are the holder's own unverified claim. That interpretation guidance is exactly the kind of value structured fields cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads verb and resource, then layers edge-case handling in short, self-contained paragraphs. Efficient, though the _for-sale paragraph is dense enough that it could be trimmed slightly without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, and the description still covers record types, name syntax, and result interpretation. The only thin spot is explicit routing versus whois/ns_reverse, which is named but not explained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the domain parameter's own description already covers bare hostname vs. fuller name, punycode, and the no-protocol/no-port rule. The description slightly reinforces this with underscore examples, but adds little beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Resolve') and resource ('a DNS name's records') and enumerates the supported record types (A, AAAA, MX, NS, TXT, CNAME, SOA). This is clearly distinct from siblings like whois or ns_reverse, so an agent can pick 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete usage context for edge cases: underscore-prefixed names (_dmarc, _domainkey) and the RFC 10023 _for-sale convention. It names related tools (whois, ns_reverse) but does not state when to prefer this tool over them, so routing is left partly to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
domain_changesPremium Domain Changes Monitor (7d)BRead-onlyIdempotentInspect
List registration and status changes to premium .com domains (short 1-4 letter and high-value single-word names) over a rolling 7-day window, filtered by change reason and length.
Related: whois, ns_reverse.
| Name | Required | Description | Default |
|---|---|---|---|
| tld | No | TLD filter (e.g., 'com') | |
| page | No | Page number for pagination | |
| sort | No | Sort order | |
| length | No | Prefix length filter (characters before TLD) | |
| reason | No | Filter by change type | |
| keyword | No | Search by domain or keyword within the monitored pool | |
| has_digit | No | false = letters only (default), true = contains digits, all = digits only |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| error | No | Error message when success is false |
| total | No | Number of results on this page |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds one genuinely useful behavioral fact — that the window is a rolling 7 days — but says nothing about result caps, pagination behavior, or how the 'premium' pool is defined.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence front-loads the scope, followed by a short cross-reference line. No waste, though the cross-reference names tools without explaining the relationship, making it marginal rather than earned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and all 7 params documented in-schema, the description covers the essentials for a read-only filtered listing. It falls short only on disambiguating from siblings that surface expired/deleted domains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with 7 well-documented params including four enums, so the schema already carries the semantics. The description's 'filtered by change reason and length' merely restates two schema fields and adds no syntax, defaults, or format detail beyond them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List), resource (registration and status changes), and a precise scope (premium .com domains, 1-4 letter and high-value single-word names, rolling 7-day window). That is far more specific than most siblings, though it does not explicitly differentiate itself from overlapping siblings such as expired and deleted.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only routing aid is 'Related: whois, ns_reverse,' which names adjacent tools but never says when to use this one instead of expired, deleted, aged, or market. The reason enum ('Domain Expired', 'New Registration') overlaps siblings' territory without any disambiguation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
epp_statusEPP Status Code ReferenceARead-onlyIdempotentInspect
Explain domain EPP status codes: what a code means, why it is set, how serious it is, and what the holder can do. Matches on the code, its aliases, or a category name; call with no query to list every code. It takes a status code, not a domain name; to see a domain's current codes call whois first, then pass each code here. Use this to interpret the status field returned by whois instead of relying on recall.
Related: whois, expired, monitor.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Status code, alias, or category (e.g. 'clientHold', 'redemption period', 'Grace Period'). Omit to list every code |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Matching status codes |
| error | No | |
| total | No | |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds meaningful behavioral content: which lookup keys match (code, alias, category), the no-query listing mode, and what each answer contains. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose, then the matching semantics, then the critical whois-then-code workflow and the caution against recall. Every sentence carries distinct information; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 explained. For a single-optional-param reference tool with full annotation coverage, the description supplies purpose, usage routing, and matching semantics — 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single 'query' parameter is already fully documented in the schema, including aliases/categories and the omit-to-list behavior. The description restates this rather than adding new syntax or format detail, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: explains what a domain EPP status code means, why it is set, how serious it is, and what the holder can do. It also distinguishes itself from the closest sibling by noting it takes a code, not a domain name, unlike whois.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit routing: 'to see a domain's current codes call whois first, then pass each code here,' plus the no-argument listing behavior. It even states the intent (interpret the whois status field rather than relying on recall), leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
expiredExpiring Domains SearchARead-onlyIdempotentInspect
Search domains in the deletion cycle: expired, in redemption, or pending delete. Still held by the current registrant, with time-sensitive acquisition windows. Filter by lifecycle status, TLD, age range, length, character set, and registrar.
Note: registrars may renew a domain after it expires, and expiry information here is gathered through multiple channels, so some domain statuses may not match live WHOIS.
Related: monitor, deleted, whois.
| Name | Required | Description | Default |
|---|---|---|---|
| tld | No | Filter by TLD (e.g., 'com', 'net', 'org') | |
| page | No | Page number for pagination | |
| sort | No | Sort order | |
| type | No | Character set filter | |
| length | No | Domain name length filter | |
| status | No | expired = in registrar auction, redemption = owner can reclaim, pending_delete = drops in 1-5 days | |
| exclude | No | Negative keywords to exclude | |
| keyword | No | Search term (min 2 chars). Substring matching applies at every length, including 2-character terms. | |
| position | No | Keyword placement in domain name. Default is 'all' (substring match). | |
| age_range | No | Historical age of the domain | |
| no_hyphen | No | Exclude hyphenated domains | |
| no_number | No | Exclude domains containing numbers | |
| tld_count_max | No | Maximum cross-TLD registration count for the name. Integer 0-10000. See tld_count_min. | |
| tld_count_min | No | Minimum cross-TLD registration count for the name. Integer 0-10000. Combine with tld_count_max for a range; set both equal for an exact count. Matches the prefix_tld_count field in results. | |
| registrar_name | No | Registrar name or part of it, case-insensitive, one value (e.g. 'namecheap' matches 'NameCheap Inc.'). |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| page | No | |
| error | No | Error message when success is false |
| total | No | Number of results on this page |
| success | Yes | |
| max_page | No | |
| total_found | No | Total matching results across all pages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely non-obvious context: registrars may renew after expiry and statuses come from multiple channels, so results can diverge from live WHOIS. It stops short of describing pagination behavior despite a 'page' parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight blocks: the capability and scope come first, the reliability caveat second, then a one-line pointer to related tools. Every sentence carries distinct information and nothing is repeated from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 15 optional params, rich annotations and an output schema, the description covers what an agent most needs: what population is searched, why timing matters, and that data may be stale versus WHOIS. The main omission is any note on result volume/pagination, which matters for a 15-filter search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the enums are already well documented (e.g. the status enum explains auction/redemption/drop timing). The description's 'Filter by lifecycle status, TLD, age range, length, character set, and registrar' merely recaps a subset of the filters without adding syntax or interaction details. Baseline 3 applies when the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Search domains in the deletion cycle') and enumerates the exact lifecycle states covered (expired, redemption, pending delete). The phrase 'Still held by the current registrant' is the key differentiator from the sibling 'deleted' tool, so an agent can separate them without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: 'time-sensitive acquisition windows' signals the acquisition use case, and the trailing 'Related: monitor, deleted, whois' points at alternatives. However, it never says when to pick monitor/deleted/whois over this tool or when this tool is the wrong choice, leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ip_lookupIP and Host GeolocationARead-onlyIdempotentInspect
Resolve an IP address or domain name to its network operator and approximate location: ASN, organization, country, region, city, coordinates, and timezone. Domains are resolved to their first IPv4 address before lookup. Location is IP-level and approximate; it is not the address of the site owner.
Related: dns, whois, ns_reverse.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | IP address or domain name. Scheme, port, path, and a leading www. are stripped automatically |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Zero or one record |
| error | No | |
| total | No | 1 when the address is in the database, 0 when it is not |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and openWorld, so the safety profile is covered. The description adds genuine behavioral context beyond them: domains are resolved to their first IPv4 before lookup, and results are IP-level/approximate and not the site owner's address. This is useful postcondition and limitation disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences plus a short related-tools line. The purpose and result set are front-loaded ahead of the caveat and related list, with no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 annotations carry the safety profile. The description still covers purpose, input forms, domain-handling behavior, and the approximate-location caveat, leaving nothing an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the query param is already documented (scheme/port/path/www stripping). The description adds meaning beyond the schema by clarifying that domains are accepted and resolved to their first IPv4 address, which the schema does not state.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Resolve') and precise resource ('an IP address or domain name'), then enumerates the returned fields (ASN, organization, country, region, city, coordinates, timezone). It names related siblings (dns, whois, ns_reverse), so an agent can distinguish this geolocation/ASN tool from adjacent lookups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Related: dns, whois, ns_reverse' line points at siblings but never states when to choose this tool over them or any exclusions. Usage is only implied by the returned fields and the domain-resolution note, with no explicit routing condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
keyword_dataKeyword Search Volume & CPCBRead-onlyIdempotentInspect
Return search-volume, CPC, and competition data for a keyword.
Related: keywords_trends.
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | Market. Default: US-EN | |
| keyword | Yes | Keyword to research |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Error message when success is false |
| keyword | No | |
| low_cpc | No | Low range cost-per-click in USD |
| success | Yes | |
| high_cpc | No | High range cost-per-click in USD |
| competition | No | Competition index (0 to 1) |
| search_volume | No | Average monthly search volume |
| competition_level | No | LOW, MEDIUM, or HIGH |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds only the metric list, not caching behavior, rate limits, or whether data is live vs. cached. Adequate but thin beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, with the metric list front-loaded before the sibling reference. Every phrase earns its place in a description this short.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 explained, and annotations carry the safety profile. Parameters are fully documented in the schema. The definition is functionally complete for invocation, with only the usage-routing gap keeping it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the country enum and default (US-EN) and the keyword parameter fully documented in the schema. The description adds no format, syntax, or constraint detail 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: returns search-volume, CPC, and competition data for a keyword. It names the exact metrics returned, so an agent knows what it does at a glance. It hints at the sibling keywords_trends via 'Related' but does not articulate how the two differ, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the bare line 'Related: keywords_trends.' There is no statement of when to use this tool versus that sibling, no prerequisites, and no exclusions. The agent is left to infer all routing decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
keywords_trendsKeyword Registration TrendsARead-onlyIdempotentInspect
Return provider-computed keyword registration statistics. hot and emerging cover rolling keyword cohorts; prefix returns prefix activity buckets. scope=all represents the provider's filtered all-gTLD sample, while scope=com represents its pure-letter .com subset and is not available for prefix. Results are representative samples, not a complete registry feed, demand measurement, valuation, or investment recommendation.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Trend dataset to return. | |
| scope | No | all = filtered all-gTLD sample; com = pure-letter .com subset. prefix supports all only. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| type | No | |
| error | No | Error message when success is false. |
| scope | No | |
| total | No | |
| success | Yes | |
| coverage | No | Provider coverage identifier, such as all_gTLDs or com_letters_only. |
| data_date | No | Provider data date when supplied; not derived from the request time. |
| updated_at | No | Provider update timestamp when supplied; not derived from the request time. |
| sample_type | No | Provider sampling description, such as filtered_representative_sample. |
| window_days | No | Provider-defined rolling observation window when supplied. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safety profile (readOnlyHint, idempotentHint, openWorldHint=false), so the bar is lower, yet the description adds genuinely useful context beyond them: results are representative samples rather than a complete registry feed, and explicitly not demand measurement, valuation, or investment advice. It also flags the constraint that scope=com is unavailable for prefix, a behavioral limit not visible from annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense, front-loaded sentences with no filler; the core purpose leads and the scope caveats follow. Slightly long, but each sentence carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and annotations carry the safety profile; the description covers parameter meaning and the sampling disclaimer. The only notable gap is the absence of explicit routing guidance against sibling trend/keyword tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 goes beyond the thin schema text ('Trend dataset to return') by explaining that hot/emerging represent rolling keyword cohorts and prefix represents prefix activity buckets. That adds real semantic meaning to the enum values rather than restating the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Return provider-computed keyword registration statistics') and explains what the three type values produce, so the agent knows exactly what the tool yields. It does not, however, explicitly contrast itself with near-siblings like keyword_data or tld_trends, leaving that differentiation implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clarifies what each type and scope value covers ('hot and emerging cover rolling keyword cohorts; prefix returns prefix activity buckets'), which implicitly guides selection among the enum values. It gives no explicit when-to-use or when-not-to-use guidance relative to alternative tools such as keyword_data or tld_trends.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketDomain Marketplace SearchARead-onlyIdempotentInspect
Search currently registered domains that carry marketplace listing data, filtered by keyword, TLD, TLD type (generic or country-code), listing status, length, and character set. Results are live domains owned by someone.
Related: keyword_data, tld_check.
| Name | Required | Description | Default |
|---|---|---|---|
| tld | No | Filter by TLD, e.g. 'com', 'de', or a second-level suffix such as 'com.br'. A two-letter country code also covers its second-level suffixes. Provide WITHOUT keyword to enter TLD browse mode (requires a registered account) | |
| page | No | Page number for pagination | |
| sort | No | Sort order | |
| type | No | Character set filter | |
| length | No | Domain name length filter | |
| status | No | Filter by status: 'forsale' for domains listed for sale | |
| exclude | No | Negative keywords to exclude | |
| keyword | No | Brand or industry term (min 2 chars). Substring matching applies at every length, including 2-character terms. | |
| position | No | Keyword placement in domain name. Default is 'all' (substring match). | |
| tld_type | No | Limit results to country-code TLDs ('cctld': suffixes ending in a two-letter code, including second-level ones such as 'com.br') or generic TLDs ('gtld': all other suffixes; internationalized country codes such as 'xn--p1ai' fall here). Omit to include both. | |
| no_hyphen | No | Exclude hyphenated domains (true/false) | |
| no_number | No | Exclude domains containing numbers (true/false) | |
| tld_count_max | No | Maximum cross-TLD registration count for the name. Integer 0-10000. See tld_count_min. | |
| tld_count_min | No | Minimum cross-TLD registration count for the name. Integer 0-10000. Combine with tld_count_max for a range; set both equal for an exact count. Matches the prefix_tld_count field in results. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| page | No | |
| total | No | Number of results on this page |
| success | Yes | |
| max_page | No | |
| total_found | No | Total matching results across all pages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds the useful behavioral fact that results are live, owned domains (not parked or unregistered), but omits the account requirement for TLD browse mode (present only in the schema) and says nothing about result volume or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus a short related-tools pointer, front-loaded with the core scope statement and no filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema handling return values, 100% schema coverage on 14 params, and annotations covering the safety profile, the description provides enough to call the tool correctly. The remaining gap is sibling routing – nothing tells the agent why to choose market over market_price or available – which a 14-parameter tool in a crowded namespace would benefit from.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with 6 enums, so the schema already documents every parameter in detail (including browse mode and count ranges). The description merely names the filter categories (keyword, TLD, TLD type, listing status, length, character set) without adding syntax or format meaning beyond it, which is the baseline 3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: 'Search currently registered domains that carry marketplace listing data,' with the filter axes enumerated. 'Results are live domains owned by someone' implicitly separates it from the available/deleted/expired siblings, but it never names an alternative (e.g. market_price) or sharply delimits itself, so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Related: keyword_data, tld_check' line is a routing hint but does not say when to prefer this tool over them, nor when not to use it versus market_price or available. Usage is only implied by the scope sentence about live registered domains, not stated as an explicit condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_priceDomain Market Price CheckARead-onlyIdempotentInspect
Check whether a domain is listed for sale on a supported aftermarket and, if it is, the asking price. Returns for_sale with the asking price in USD, make_offer when it is listed without a fixed price, or not_found when no listing was found. Coverage is limited to a few marketplaces, so not_found does not mean the domain is not for sale elsewhere.
Related: available, aged.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain name (e.g., 'example.com') |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| domain | Yes | |
| status | Yes | Market status: for_sale, make_offer, or not_found |
| message | No | |
| success | Yes | |
| currency | No | Price currency (e.g., USD) |
| estimated_price | No | Seller's listing price (only when status=for_sale) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and non-openWorld, so the safety profile is covered. The description adds real value beyond that: it enumerates the outcome states (for_sale, make_offer, not_found) and explains that not_found is scoped to a few marketplaces rather than a definitive negative, which aligns with and enriches openWorldHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, followed by return states and the coverage caveat — all earning their place. The trailing 'Related: available, aged.' is a thin, unqualified dangling line that slightly dilutes the structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with an output schema, this is nearly complete: it explains outcome semantics and the coverage limitation so an agent will not over-interpret not_found. The remaining gap is sibling disambiguation against 'price' and 'market', which the description does not address.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 100% and only one parameter, the schema already documents 'domain' including an example. The description adds no format, normalization, or TLD constraints beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Check whether a domain is listed for sale on a supported aftermarket... the asking price'), and names the related siblings available and aged. An agent can distinguish this from a general price or market tool 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Related: available, aged.' line implies related tooling but gives no condition for choosing between them, and critically does not differentiate from the sibling tools literally named 'price' and 'market'. The coverage caveat ('not_found does not mean the domain is not for sale elsewhere') is useful interpretive guidance, but explicit when-to-use routing is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
monitorPersonalized Domain MonitorADestructiveInspect
Manage cross-platform domain monitoring tasks that track changes in WHOIS, DNS, and host-supplied page content. Data is encrypted at rest (AES-256-GCM) in a private per-user directory.
Actions:
get: retrieve monitors and check eligible WHOIS/DNS targets, returning current and previous data with change flags.
set: create a monitor, subject to the account tier's maximum.
update: save host-supplied page, WHOIS, or DNS state for a monitor.
delete: remove a monitor.
history: list the changes actually observed over time, optionally for one domain. get compares against the previous check only; history answers when a domain changed and what it changed from.
Requires a registered account with memory enabled.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Monitor task ID (update and delete) | |
| dns | No | DNS result, backward compatibility (update only) | |
| days | No | history only: how far back to look, in days. Default 30, maximum 365. | |
| note | No | What to watch for: the user's intent in natural language (set only) | |
| page | No | Page content summary from web_fetch (update only) | |
| tools | No | Comma-separated: whois, dns, web_fetch. Default: whois,dns (set only) | |
| whois | No | WHOIS result, backward compatibility (update only) | |
| action | No | 'get', 'set', 'update', 'delete', or 'history'. Defaults to 'get' if not specified. | |
| domain | No | Domain to monitor (set; also optional on history to filter to one domain) |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Error message when success is false |
| total | No | Number of active monitors (get only) |
| message | No | Human-readable result message |
| monitor | No | Created monitor details (set only) |
| success | Yes | Whether the request was successful |
| monitors | No | List of monitors with auto-check results (get only) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered; the description adds non-obvious context beyond that: AES-256-GCM encryption in a per-user directory, the requirement of a registered account with memory enabled, and that set is capped by the account tier's maximum. It lacks detail on pagination or failure behavior, but the additions are substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose sentence, then a scannable action list, then prerequisites. Every line earns its place, though the action list is slightly verbose relative to the information density needed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and annotations cover the safety profile. The description supplies prerequisites, encryption, tier limits, and action meanings, leaving little an agent needs for correct invocation, though sibling routing remains unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 goes further by explaining what the action values actually do (get/set/update/delete/history) and clarifies the get-vs-history relationship, which the bare enum list in the schema does not convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Manage cross-platform domain monitoring tasks that track changes in WHOIS, DNS, and host-supplied page content'), which clearly conveys what the tool does. It does not, however, differentiate itself from plausible siblings like domain_changes or whois/dns, so an agent must infer which of the overlapping tools to use.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit per-action semantics and a genuinely useful distinction between get (compares against the previous check only) and history (when a domain changed and what it changed from). It stops short of naming sibling alternatives or when NOT to use this multi-action tool over e.g. domain_changes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nrdsNewly Registered Domains SearchARead-onlyIdempotentInspect
Search newly registered domains from the last 60 days by keyword, or browse a single TLD without a keyword (browsing requires a registered account). Covers generic TLDs plus more than 100 country-code TLDs, including second-level registrations such as .com.br, .co.za and .co.id (tld 'br' returns the whole .br family, 'com.br' returns that suffix alone); government, military, education and non-profit categories are not included. Which country-code TLDs you can see depends on your plan; asking for one outside it returns a message saying so. Filter by recency or exact registration dates, registration term, TLD type (generic or country-code), length, character set, sale status, and nameserver; returns the cross-TLD count for each name. New registrations are folded in continuously, typically 15 to 20 minutes after registration. Dates here are day-level, not clock times.
Related tools: whois, dns, ns_reverse, typosquat
| Name | Required | Description | Default |
|---|---|---|---|
| ns | No | Nameserver filter, one value. A domain such as 'cloudflare.com' matches every nameserver host under it; a full host such as 'dana.ns.cloudflare.com' matches that host only. | |
| tld | No | Filter by TLD, e.g. 'com', 'ai', or a second-level suffix such as 'com.br'. A two-letter country code also covers its second-level registrations ('br' includes 'com.br'). | |
| page | No | Page number for pagination | |
| sort | No | Sort order | |
| type | No | Character set filter | |
| length | No | Domain name length: '<=15' is 15 characters or fewer, '>15' is 16 or more. | |
| period | No | Registration term: '1' is one year, '>1' is longer than one year. | |
| exclude | No | Negative keywords to exclude | |
| keyword | No | Search term (min 2 chars). Substring matching applies at every length, including 2-character terms. | |
| has_sale | No | Filter to domains listed for sale | |
| position | No | Keyword placement in domain name. Default is 'all' (substring match). | |
| tld_type | No | Limit results to country-code TLDs ('cctld', including second-level ones such as 'com.br'; only those your plan includes) or generic TLDs ('gtld'). Omit to include both. | |
| no_hyphen | No | Exclude hyphenated domains | |
| no_number | No | Exclude domains containing numbers | |
| tld_count | No | Cross-TLD registration count of the name (the prefix_tld_count field): '<=4', '5-20' or '>20'. Domains first seen only hours ago (live rows) carry a count of 1. | |
| days_range | No | Registration recency: '0-30' is the last 30 days, '31-60' is 31 to 60 days ago. | |
| exclude_ns | No | Leave out domains using these nameservers. Comma-separated, up to 10 values, each matched the same way as ns. | |
| registered_to | No | Registered on or before this date, YYYY-MM-DD. See registered_from. | |
| registered_from | No | Registered on or after this date, YYYY-MM-DD. Combine with registered_to for a range, or set both to the same day for a single day. Takes precedence over days_range. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| page | No | |
| error | No | Error message when success is false |
| total | No | Number of results on this page |
| success | Yes | |
| max_page | No | |
| total_found | No | Total matching results across all pages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only annotations, the description discloses freshness ('15 to 20 minutes after registration'), date granularity ('day-level, not clock times'), plan-based visibility of ccTLDs, and the error behavior when a plan-excluded TLD is requested. These are valuable operational details not captured in 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then adds detail in a logical order, but it is somewhat long. Every sentence contributes useful information, though a few details (e.g., TLD category exclusions) could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (19 parameters) and the presence of an output schema, the description covers all essential context: TLD scope, plan limitations, data freshness, date granularity, and available filters. Nothing critical is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter is already fully documented. The description provides a high-level summary of available filters but adds no syntax or format details beyond what the schema provides, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Search') and resource ('newly registered domains from the last 60 days') with clear scope. It distinguishes itself from generic search tools by emphasizing recency, but does not explicitly name which sibling tools (e.g., 'active', 'aged') are alternatives for different time windows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains two usage modes (keyword search or TLD browsing) and notes that browsing requires a registered account. However, it gives no explicit when-to-use vs alternatives among the many sibling tools, leaving the agent to infer selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ns_reverseReverse NS LookupARead-onlyIdempotentInspect
Reverse NS lookup: find gTLD domains hosted on a specific nameserver, filtered by TLD and keyword. Give several nameservers to find domains that use all of them at once (intersection; available on higher plans).
Related: whois, dns.
| Name | Required | Description | Default |
|---|---|---|---|
| ns | Yes | Target nameserver hostname (e.g., 'ns1.example.com'). Comma-separate up to 10 to match only domains that use all of them (intersection, unlike tld where commas mean any); multiple nameservers are available on higher plans. | |
| tld | No | Filter by TLD (e.g., 'com') | |
| page | No | Page number for pagination | |
| sort | No | Sort order | |
| keyword | No | Substring filter within domain names | |
| max_len | No | Maximum domain name length (integer) | |
| min_len | No | Minimum domain name length (integer) | |
| no_hyphen | No | Exclude hyphens | |
| no_number | No | Exclude numbers | |
| pure_alpha | No | Letters only (strictest quality filter) | |
| pure_digit | No | Numbers only |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| page | No | |
| error | No | |
| total | No | Number of results on this page |
| success | Yes | |
| max_page | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower. The description adds genuine behavioral context: comma-separated nameservers resolve to an AND/intersection rather than an OR, and that capability is gated to higher plans. No rate limits or result-size behavior are mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core purpose before the intersection nuance and the sibling pointer. Efficient and free of filler, though the trailing 'Related: whois, dns.' is a thin addition rather than a routing instruction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only lookup tool with rich annotations, a 100%-covered 11-parameter schema, and an output schema, the description supplies everything an agent needs to select and invoke it correctly. Return format and pagination are handled by the output schema and parameter docs respectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description's explanation of intersection semantics largely restates what the 'ns' parameter description already says verbatim, and it says nothing about page, sort, or the length/character filters, so it does not meaningfully exceed the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'find gTLD domains hosted on a specific nameserver', which is precisely the inverse of a forward DNS lookup and clearly distinct from sibling tools like dns and whois. The added scoping ('filtered by TLD and keyword') and the 'Related: whois, dns' pointer make the tool's identity immediately legible.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete usage context (find domains on a nameserver) plus the multi-nameserver intersection pattern and the plan-tier caveat, which tells the agent when the feature is even available. It lacks explicit 'when not to use' guidance or a direct alternative to route to for forward lookups, keeping it out 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.
preferencesUser Preferences & MemoryADestructiveIdempotentInspect
Manage user preferences and memory settings. Data is encrypted at rest (AES-256-GCM) in isolated per-user directories.
Actions:
get: report whether memory is enabled and return saved preferences.
set: save preferences; memory_enabled must be true before any preferences, monitors, or strategies can be stored, and requires explicit user consent.
delete: permanently erase all stored user data (GDPR Article 17).
Related: monitor, strategy.
| Name | Required | Description | Default |
|---|---|---|---|
| style | No | 'short', 'brandable', 'keyword' (set only) | |
| action | No | 'get', 'set', or 'delete'. Defaults to 'get' if not specified. | |
| budget | No | 'low', 'medium', 'high' (set only) | |
| industry | No | Industry type (set only) | |
| memory_enabled | No | 'true' to enable memory, 'false' to disable. Must be enabled before using monitors or strategies. (set only) | |
| preferred_tlds | No | Comma-separated TLDs, e.g. 'com,net,io' (set only) | |
| exclude_hyphens | No | 'true' or 'false' (set only) | |
| exclude_numbers | No | 'true' or 'false' (set only) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Saved preference data (get only, when memory is enabled) |
| message | No | Human-readable result message |
| success | Yes | Whether the request was successful |
| memory_enabled | No | Whether memory is enabled for this user |
| monitors_count | No | Number of active monitors (get only) |
| monitors_summary | No | Monitor overview (get only, when monitors_count > 0) |
| strategies_count | No | Number of active strategies (get only) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing AES-256-GCM encryption at rest, isolated per-user directories, the memory_enabled gating dependency, an explicit-consent requirement for writes, and irreversible GDPR-scoped deletion. The 'permanently erase all stored user data' line concretely backs the destructiveHint=true annotation rather than merely restating it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose sentence, then a scannable action list, then related tools — a clean, well-ordered structure. The encryption sentence slightly interrupts the purpose statement but is short and load-bearing. No filler sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter, multi-action tool with annotations and an output schema, the description covers the key operational facts: action semantics, prerequisites, consent, and data-handling/destruction behavior. Return values are delegated to the output schema, which is appropriate. Only minor gaps remain (e.g., behavior of omitted set fields).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema by stating that memory_enabled must be true before preferences, monitors, or strategies can be stored, and by flagging the consent prerequisite — an ordering/precondition detail the schema only partially conveys. It does not clarify partial-update or default behavior for unset fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource (manage user preferences and memory) with three clearly differentiated actions (get/set/delete), each with its own one-line behavior. It distinguishes itself from siblings by naming 'monitor' and 'strategy' as related but separate tools. The umbrella verb 'manage' is broad, but the action breakdown removes ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Each action carries actionable context: get reports memory status, set requires memory_enabled=true and explicit user consent before storing preferences/monitors/strategies, delete is for GDPR erasure. It routes the agent toward monitor/strategy for related work. It stops short of explicit when-not-to-use guidance, but the per-action prerequisites are strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
priceTLD PricingBRead-onlyIdempotentInspect
Return standard registration and renewal price for a TLD.
Related: available.
| Name | Required | Description | Default |
|---|---|---|---|
| tld | Yes | TLD to query, comma-separated for multiple (e.g., 'com', 'com,io,ai') |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| error | No | |
| total | No | Number of TLDs returned |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds the detail that it returns both registration and renewal pricing, which is useful context beyond the annotations. However, it does not disclose whether pricing is current, cached, or subject to variation, so it only partially complements the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at one sentence plus a related note. Every word earns its place, and the key information is front-loaded. It is not overlong, though the 'Related: available' line could be seen as slightly tacked-on rather than integrated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter), the presence of a full output schema, and strong annotations, the description covers the core functionality adequately. It states what is returned and hints at a related tool. It lacks a bit of context about edge cases (e.g., unsupported TLDs), but for a simple pricing query it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for the sole parameter 'tld', explaining comma-separated multiple TLDs. The description does not add any additional parameter semantics beyond what the schema already provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns 'standard registration and renewal price for a TLD', specifying the resource and action. It is not a tautology and provides a concrete function. However, it does not explicitly distinguish from siblings like 'market_price' or 'tld_trends', so it misses the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage hint is the vague 'Related: available', which implies a connection to availability checks but does not explain when to use this tool vs alternatives. There is no explicit when-to-use or when-not-to-use guidance, and sibling names like 'market_price' remain unaddressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
registrarICANN Registrar DirectoryARead-onlyIdempotentInspect
Look up ICANN-accredited registrars by name, alias, or IANA ID. Returns accreditation status, RDAP endpoint, business contact details, a drop-catch flag, and the parent entity for reseller shells. Around 60 percent of accredited registrars are shells operated by a handful of parents, so parent_id is what tells you who actually runs a name.
Related: whois, available, expired.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination | |
| query | Yes | Registrar name, alias, or IANA ID (e.g. 'namecheap', 'gname', '1441') |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Matching registrars |
| page | No | |
| error | No | |
| total | No | Rows on this page |
| success | Yes | |
| max_page | No | |
| total_found | No | Total matches across all pages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the description earns credit for adding domain semantics instead: it explains that ~60% of registrars are reseller shells and that parent_id reveals the actual operator. That is genuine behavioral context beyond the structured fields, though pagination behavior is left unmentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the action and the return shape, followed by the parent_id insight that actually affects interpretation. The shell-statistic framing is somewhat verbose but it is the highest-value content in the definition, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 spelled out; the description goes further and flags the semantically important field (parent_id). With annotations covering safety and the schema covering both parameters, nothing essential is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with only 2 parameters, so the schema already documents 'query' and 'page'. The description repeats the accepted query forms without adding format or syntax detail beyond what the schema provides, and says nothing about the pagination parameter. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('look up') and resource ('ICANN-accredited registrars') plus the three lookup keys (name, alias, IANA ID), and enumerates the returned fields. It also names related siblings (whois, available, expired), so an agent can locate it in the toolset 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when this tool applies (looking up a registrar by name/alias/IANA ID) and points at related tools, but it lists those siblings without stating the conditions under which one should be preferred over registrar. No explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
strategySaved User Strategy StateADestructiveInspect
Store user-authored strategy text, execution timestamps, and the most recent result in encrypted per-user storage. This tool does not provide presets, define opportunities, choose domains, or execute a workflow. Requires a registered account with memory enabled.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Saved strategy ID for update or delete. | |
| name | No | Optional user-defined name for set. | |
| action | No | get, set, update, or delete. Defaults to get. | |
| result | No | Latest user- or host-supplied result summary for update. | |
| strategy | No | User-authored text, maximum 500 characters, for set. |
Output Schema
| Name | Required | Description |
|---|---|---|
| max | No | |
| error | No | |
| total | No | |
| message | No | |
| success | Yes | |
| strategy | No | |
| strategies | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false. The description adds value beyond that by disclosing encrypted per-user storage and the auth/memory prerequisite. It stops short of explaining what a delete destroys or how update merges fields, so it is good but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, purpose front-loaded before the exclusion list, with no filler. Slightly awkward phrasing ("in encrypted per-user storage") but efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 covers purpose, the prerequisite, and the exclusions, and annotations carry the safety profile. Nothing critical to correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 five parameters and the action enum. The description echoes the strategy and result concepts but adds no format, length, or update-semantics detail 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Store user-authored strategy text") and scopes what is persisted (strategy text, timestamps, latest result). The negative clause lists what the tool does NOT do, which helps distinguish it, though it never names the get/set/update/delete actions that the 'action' param enables.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a prerequisite ("Requires a registered account with memory enabled") and excludes several adjacent capabilities (presets, opportunities, domains, workflow execution), which is useful context. However, it gives no guidance on when to choose get vs set vs update vs delete, and names no alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tld_checkCross-TLD Registration CheckARead-onlyIdempotentInspect
Check how a prefix is registered across core TLDs, returning per-TLD status and aggregate counts.
Related: bulk_tld, available.
| Name | Required | Description | Default |
|---|---|---|---|
| prefix | Yes | Keyword without extension (e.g., 'openai') |
Output Schema
| Name | Required | Description |
|---|---|---|
| tlds | No | Status of core TLDs (com, net, org, io, ai, de). Values: registered, for_sale, expiring, or might_available |
| count | No | Total number of TLDs with this prefix registered |
| error | No | Error message when success is false |
| prefix | Yes | |
| success | Yes | |
| gtlds_count | No | Number of gTLDs with this prefix registered |
| cctlds_count | No | Number of ccTLDs with this prefix registered |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds behavioral context by specifying the return shape (per-TLD status and aggregate counts) and the scope (core TLDs), which goes beyond the annotations. It doesn't contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action, and includes a compact pointer to related tools. Every sentence contributes value; no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple read-only tool with one parameter and an output schema present. The description sufficiently communicates what it does and what it returns, and the output schema handles detailed return values. The mention of 'core TLDs' and aggregated counts completes the contextual picture without being verbose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description for the single 'prefix' parameter is highly detailed ('Keyword without extension, e.g., openai'), providing 100% coverage. The tool description adds no parameter-level detail, so the schema carries the full burden. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks registration of a prefix across core TLDs and returns per-TLD status plus aggregate counts. It uses a specific verb ('check') and resource ('prefix across core TLDs'), and explicitly names related tools (bulk_tld, available), distinguishing its cross-TLD scope from bulk and single-TLD alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: when you need to see how a prefix is registered across multiple TLDs. It names related tools (bulk_tld, available) as alternatives, but stops short of explicit 'use this instead of X when...' guidance. Still, the purpose and related tools give enough signal for appropriate selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tld_rankgTLD RankingsARead-onlyIdempotentInspect
Rank TLDs by registration volume and related metrics over a chosen period.
Related: tld_trends.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Ranking type: 'newly' for today's new registrations, 'active' for total active domains | |
| limit | No | Number of results (default 20, max 100) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| date | No | Data date (YYYY-MM-DD) |
| type | No | Ranking type: 'newly' or 'active' |
| error | No | |
| total | No | |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, indicating a safe read operation. The description adds little beyond that—'related metrics' is vague, and 'chosen period' is inaccurate given the parameter schema. It does not contradict the annotations, but also does not provide additional meaningful 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences: one for the core purpose and one pointing to a related tool. It is front-loaded and every word earns its place, with no unnecessary elaboration or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 optional params, output schema present) and strong annotations, the description is minimally viable. However, it lacks details about what 'related metrics' include, how the ranking is ordered, and the 'chosen period' phrase creates confusion because no period parameter exists. This gap is significant enough to prevent a higher score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage, as both 'type' and 'limit' have descriptions. The description does not add meaning beyond the schema and actually introduces a 'chosen period' concept that does not map to any parameter. Since the schema already explains the parameters, the baseline of 3 is appropriate, but no additional semantic value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool ranks TLDs by registration volume, which is a specific verb and resource. It also mentions 'related metrics' and points to tld_trends as a sibling, providing some differentiation. However, the phrase 'over a chosen period' is misleading because the type parameter only allows 'newly' (today) or 'active' (total) with no actual date range selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only says 'Related: tld_trends,' which implies an alternative exists but does not explain when to use tld_rank versus tld_trends. No explicit conditions, prerequisites, or exclusions are given. The usage context is thus implied rather than clearly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tld_trendsgTLD Registration TrendsARead-onlyIdempotentInspect
Return registration trend data for a TLD over time, or compare multiple TLDs, in active-total or newly-registered mode.
Related: tld_rank, keywords_trends.
| Name | Required | Description | Default |
|---|---|---|---|
| tld | No | Single TLD for 'data' mode, gTLDs only (e.g., 'com', 'xyz'). Country-code TLDs are not covered and return an error. | |
| days | No | Time horizon | |
| tlds | No | Comma-separated TLDs for 'compare' mode (max 5, gTLDs only, e.g. 'xyz,online,shop,store'). Country-code TLDs such as io, ai, co are not covered by this dataset. | |
| type | No | 'newly' for daily new registrations, 'active' for total active domains | |
| action | No | 'data' for single TLD deep-dive, 'compare' for multi-TLD comparison |
Output Schema
| Name | Required | Description |
|---|---|---|
| tld | No | TLD name (data mode only) |
| data | No | In 'data' mode: array of data points. In 'compare' mode: object keyed by TLD name, each value is an array of data points. |
| days | No | |
| type | No | 'newly' or 'active' |
| error | No | |
| notice | No | Compare mode only: present when some requested TLDs had no data; explains which and why. |
| success | Yes | |
| tlds_missing | No | Compare mode only: requested TLDs that returned no trend data. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the safe read-only behavior is covered. The description adds mode and comparison context but does not disclose additional behavioral traits such as data-source coverage, rate limits, or response characteristics beyond what the schema and output schema provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action and resource, and includes related tool names without unnecessary verbosity. Every sentence contributes useful context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich schema, full parameter coverage, annotations, and an output schema, the description is sufficiently complete for a read-only trend tool. It communicates the core modes and related tools, though it leaves sibling differentiation to the reader.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters are already documented in the input schema. The description mirrors the modes (active-total vs newly-registered, single vs compare) but does not add new semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns registration trend data for a TLD over time or multiple TLDs in active/newly-registered modes. It is specific about verb and resource, but it does not explicitly differentiate itself from the related sibling tools tld_rank and keywords_trends beyond 'Related'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the description and elaborated by the schema's mode descriptions, but there is no explicit when-to-use guidance or direct comparison to tld_rank or keywords_trends. The gTLD-only exclusion is present only in the parameter schema, not in the description itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
typosquatTyposquat ScannerARead-onlyIdempotentInspect
Generate typosquat permutations for a domain and check which variants are registered. Produces omission, transposition, keyboard-adjacent replacement, insertion, repetition, hyphenation, vowel-swap, homoglyph, plural/singular, and TLD-swap variants. Each result includes the variant domain, mutation type, prefix TLD count (how many TLDs the prefix is registered under), and registration date if known.
Use for brand protection, phishing detection, and defensive registration planning.
Related tools: nrds, ns_reverse, dns, whois.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain to scan (e.g. example.com) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| total | No | Number of permutations generated |
| domain | No | The input domain |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and non-open-world behavior, so the safety profile is covered. The description adds real value beyond that by disclosing the mutation taxonomy and the exact per-result fields (variant domain, mutation type, prefix TLD count, registration date), plus the caveat that registration date is only known sometimes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action, then result shape, then use cases, then related tools. Dense but every sentence carries information; 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering safety, the description need not explain return values, and it still describes the result fields usefully. The only shortfall is that the listed related tools are not qualified with when each applies, leaving tool selection partly to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter, and the schema documents it at 100% coverage with its own example (example.com). The description adds no format or constraint details beyond what the schema already provides, so this is the baseline case where the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (generate permutations) and resource (domain variants), then enumerates the ten mutation classes it produces. Distinctly different from siblings like dns, whois, or nrds, which are lookups rather than permutation generators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names three motivating scenarios (brand protection, phishing detection, defensive registration planning) and lists related tools. It stops short of saying when to prefer a sibling (e.g. nrds vs whois) or when not to use this tool, so it is clear context without real differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unregistered_short_domainsUnregistered Short DomainsARead-onlyIdempotentInspect
Search short .ai, .io, .si, .sh, .so and .md names that were unregistered at the latest data update: 3-letter names and 4-letter names, including CVCV, VCVC, and CCVV shapes (C = consonant, V = vowel), with how many other TLDs each name is registered in. Without a registered account, only .ai names are shown and filters are not available. Not re-checked at query time; confirm with available or bulk_available before registering.
Related: available, bulk_available.
| Name | Required | Description | Default |
|---|---|---|---|
| tld | No | Extension: ai, io, si, sh, so or md. Comma-separate to combine (e.g., 'io,sh'); omit for all. | |
| page | No | Page number, 10 results per page. Page depth depends on your plan. | |
| sort | No | Sort order | |
| type | No | Pattern type filter | |
| exclude | No | Exclude characters (comma-separated) | |
| keyword | No | Filter by characters in prefix | |
| no_hyphen | No | Exclude hyphens | |
| no_number | No | Exclude numbers | |
| tld_count | No | Filter by cross-TLD registration count |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| page | No | |
| error | No | |
| total | No | Number of results on this page |
| success | Yes | |
| max_page | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description's real added value is the data-freshness caveat ('at the latest data update', 'Not re-checked at query time') and the auth-tier gating of results and filters. It stops short of describing pagination depth or rate limits beyond the passing plan reference in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the resource and scope, then caveats and verification workflow in descending priority; every sentence carries information. The opening sentence is dense, packing six TLDs, two length classes and three pattern notations into one clause, which costs a little readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, return values need no explanation, and the definition still covers the items an agent must know to call it correctly: data staleness, account-tier limitations on results and filters, and which sibling to use before acting on a result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds real meaning the schema lacks: it defines the CVCV/VCVC/CCVV pattern notation (C = consonant, V = vowel) that the `type` enum only labels as 'Pattern type filter', and notes that filters are unavailable without an account.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb and resource (search short unregistered domain names) plus the exact scope: six TLDs, 3-letter and 4-letter names, and CVCV/VCVC/CCVV shapes. It also names the sibling tools it is not (available, bulk_available), so an agent can route without opening another schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly gives when-to-use and when-not-to-use: this is a snapshot list, not a live check, so 'confirm with available or bulk_available before registering.' It also states the account-level precondition that changes behavior (without an account only .ai is shown and filters are unavailable).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
usageUsage and QuotaARead-onlyIdempotentInspect
Return the current account tier, per-tool-group usage, rate limits, and stateful Monitor and Strategy quotas.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| tier | Yes | Account tier. |
| tools | Yes | Usage and quota information grouped by tools that share a limit. |
| monitor | Yes | |
| strategy | Yes | |
| upgrade_hint | No | Optional account-capacity information for tiers that have an upgrade path. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds meaningful context by enumerating the exact categories returned (tier, usage, rate limits, quotas) and notes that Monitor and Strategy quotas are 'stateful,' which is useful behavioral insight beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence contains zero filler and conveys the full purpose. Every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the zero-parameter complexity and the presence of an output schema, the description sufficiently covers what the tool returns. No further details about return value structure are needed, and the description is complete for an agent 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to explain any. Baseline 4 is appropriate because no parameter guidance is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Return' and clearly identifies the resource as 'current account tier, per-tool-group usage, rate limits, and stateful Monitor and Strategy quotas.' This precisely distinguishes the tool from siblings like 'monitor' and 'strategy' by framing it as the quota/usage overview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for checking account-level limits and quotas but provides no explicit 'when to use' vs alternatives or exclusions. An agent can infer the use case, but the tool does not state when it should be preferred over other information-gathering tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whoisRDAP WHOIS Registration InfoBRead-onlyIdempotentInspect
Return WHOIS/RDAP registration data for a domain: registrar, dates, status, and nameservers.
Related: dns.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Bare domain name such as example.com. No protocol (https://), path, or port; internationalized names in punycode (xn--...). |
Output Schema
| Name | Required | Description |
|---|---|---|
| domain | Yes | |
| status | No | Domain status codes |
| created | No | Registration creation date |
| expires | No | Expiration date |
| updated | No | Last updated date |
| registered | Yes | Whether the domain is currently registered |
| nameservers | No | Configured nameservers |
| registrar_name | No | Registrar name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is fully covered without the description. The description adds the field categories returned, which is mild context, but discloses nothing about rate limits, auth, or lookup failures -- acceptable given the rich annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero waste; the core capability is front-loaded before the relational note. Nothing should be cut.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values needn't be explained, and the single required parameter is fully described. The only gap is the missing when-to-use guidance relative to sibling lookups, which matters given the dense sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the domain parameter is fully documented in the schema (bare domain, punycode, no protocol/path/port), so the description correctly does not duplicate it. Baseline 3 applies because the schema carries all parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Return) and resource (WHOIS/RDAP registration data) and enumerates the payload (registrar, dates, status, nameservers), so the agent knows exactly what it retrieves. It gestures at a sibling with 'Related: dns' but does not differentiate from the more ambiguous neighbors registrar, domain_changes, or epp_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Related: dns' is the only usage cue and it neither states when to prefer this tool nor when to avoid it. No exclusions or prerequisites are given, so the agent must infer that this is the raw registration lookup versus the registrar/status-specific siblings.
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 tool update
- Changed
expired3 fields changed- removed
Input schema / properties / holdRemoved value: -{ - "description": "Registry hold status", - "enum": [ - "no_hold", - "has_hold" - ], - "type": "string" -} - added
Input schema / properties / registrar_nameAdded value: +{ + "description": "Registrar name or part of it, case-insensitive, one value (e.g. 'namecheap' matches 'NameCheap Inc.').", + "type": "string" +} - added
Output schema / properties / data / items / properties / registrar_nameAdded value: +{ + "description": "Registrar of the domain, empty when unknown. Present on plans that include the registrar_name filter.", + "type": "string" +}
1 tool update
- Changed
nrds15 fields changed- changed
Input schema / properties / days_range / descriptionPrevious value: -"Registration recency"New value: +"Registration recency: '0-30' is the last 30 days, '31-60' is 31 to 60 days ago." - changed
Input schema / properties / days_range / enumPrevious value: -[ - "0-10", - "10-20", - "20+" -]New value: +[ + "0-30", + "31-60" +] - added
Input schema / properties / exclude_nsAdded value: +{ + "description": "Leave out domains using these nameservers. Comma-separated, up to 10 values, each matched the same way as ns.", + "type": "string" +} - changed
Input schema / properties / length / descriptionPrevious value: -"Domain name length filter"New value: +"Domain name length: '<=15' is 15 characters or fewer, '>15' is 16 or more." - changed
Input schema / properties / length / enumPrevious value: -[ - "<5", - "5-10", - "10-15", - "15+" -]New value: +[ + "<=15", + ">15" +] - added
Input schema / properties / nsAdded value: +{ + "description": "Nameserver filter, one value. A domain such as 'cloudflare.com' matches every nameserver host under it; a full host such as 'dana.ns.cloudflare.com' matches that host only.", + "type": "string" +} - changed
Input schema / properties / period / descriptionPrevious value: -"Registration term length in years"New value: +"Registration term: '1' is one year, '>1' is longer than one year." - changed
Input schema / properties / period / enumPrevious value: -[ - "1", - "2-5", - "6+" -]New value: +[ + "1", + ">1" +] - added
Input schema / properties / registered_fromAdded value: +{ + "description": "Registered on or after this date, YYYY-MM-DD. Combine with registered_to for a range, or set both to the same day for a single day. Takes precedence over days_range.", + "type": "string" +} - added
Input schema / properties / registered_toAdded value: +{ + "description": "Registered on or before this date, YYYY-MM-DD. See registered_from.", + "type": "string" +} - added
Input schema / properties / tld_countAdded value: +{ + "description": "Cross-TLD registration count of the name (the prefix_tld_count field): '<=4', '5-20' or '>20'. Domains first seen only hours ago (live rows) carry a count of 1.", + "enum": [ + "<=4", + "5-20", + ">20" + ], + "type": "string" +} - removed
Input schema / properties / tld_count_maxRemoved value: -{ - "description": "Maximum cross-TLD registration count for the name. Integer 0-10000. See tld_count_min.", - "type": "string" -} - removed
Input schema / properties / tld_count_minRemoved value: -{ - "description": "Minimum cross-TLD registration count for the name. Integer 0-10000. Combine with tld_count_max for a range; set both equal for an exact count. Matches the prefix_tld_count field in results. Domains first seen only hours ago (live rows) carry a count of 1.", - "type": "string" -} - added
Input schema / properties / tld_typeAdded value: +{ + "description": "Limit results to country-code TLDs ('cctld', including second-level ones such as 'com.br'; only those your plan includes) or generic TLDs ('gtld'). Omit to include both.", + "enum": [ + "gtld", + "cctld" + ], + "type": "string" +} - added
Output schema / properties / data / items / properties / nameserversAdded value: +{ + "description": "Nameserver hosts of the domain. Present on plans that include the ns filter.", + "items": { + "type": "string" + }, + "type": "array" +}
1 tool update
- Changed
active1 field changed- changed
Input schema / properties / tld / descriptionPrevious value: -"Filter by TLD (e.g., 'com', 'net', 'org'); when keyword is omitted, this is the browse target (TLD browse mode requires a registered account)"New value: +"Filter by TLD, e.g. 'com', 'ai', or a second-level suffix such as 'com.br'. A two-letter country code also covers its second-level registrations ('br' includes 'com.br'). When keyword is omitted, this is the browse target (TLD browse mode requires a registered account)."
2 tool updates
- Changed
market1 field changed- added
Input schema / properties / tld_typeAdded value: +{ + "description": "Limit results to country-code TLDs ('cctld': suffixes ending in a two-letter code, including second-level ones such as 'com.br') or generic TLDs ('gtld': all other suffixes; internationalized country codes such as 'xn--p1ai' fall here). Omit to include both.", + "enum": [ + "gtld", + "cctld" + ], + "type": "string" +}
- Removed
nrds_live
3 tool updates
- Changed
market1 field changed- changed
Input schema / properties / tld / descriptionPrevious value: -"Filter by TLD (e.g., 'com', 'net', 'org'). Provide WITHOUT keyword to enter TLD browse mode (gTLDs only; requires a registered account)"New value: +"Filter by TLD, e.g. 'com', 'de', or a second-level suffix such as 'com.br'. A two-letter country code also covers its second-level suffixes. Provide WITHOUT keyword to enter TLD browse mode (requires a registered account)"
- Changed
nrds1 field changed- changed
Input schema / properties / tld / descriptionPrevious value: -"Filter by TLD, e.g. 'com', 'ai', or a second-level suffix such as 'com.br'. A family country code ('br', 'mx', 'cl', 'gg', 'id', 'my') covers all of its second-level registrations."New value: +"Filter by TLD, e.g. 'com', 'ai', or a second-level suffix such as 'com.br'. A two-letter country code also covers its second-level registrations ('br' includes 'com.br')."
- Changed
nrds_live1 field changed- changed
Input schema / properties / tld / descriptionPrevious value: -"Filter by a single TLD without dots (e.g., 'com', 'ai', 'io'). 'br', 'mx', 'cl', 'gg', 'id' or 'my' covers that country's whole family; combine it with a keyword. One TLD per call; omit to cover all TLDs."New value: +"Filter by a single TLD without dots (e.g., 'com', 'ai', 'io'). A country code with second-level registrations (such as 'br', 'za' or 'jp') covers that country's whole family; combine it with a keyword. One TLD per call; omit to cover all TLDs."
2 tool updates
- Changed
ip_lookup2 fields changed- changed
Output schema / properties / data / items / properties / latitude / descriptionPrevious value: -"Null when unknown, never 0 (which is a real coordinate)"New value: +"Null when unknown (0 is a real coordinate, so it is not used as a placeholder)" - changed
Output schema / properties / data / items / properties / longitude / descriptionPrevious value: -"Null when unknown, never 0 (which is a real coordinate)"New value: +"Null when unknown (0 is a real coordinate, so it is not used as a placeholder)"
- Changed
keywords_trends2 fields changed- changed
Output schema / properties / data_date / descriptionPrevious value: -"Provider data date when supplied; never synthesized from request time."New value: +"Provider data date when supplied; not derived from the request time." - changed
Output schema / properties / updated_at / descriptionPrevious value: -"Provider update timestamp when supplied; never synthesized from request time."New value: +"Provider update timestamp when supplied; not derived from the request time."
2 tool updates
- Removed
unregistered_ai - Added
unregistered_short_domains
2 tool updates
- Changed
nrds1 field changed- changed
Input schema / properties / tld / descriptionPrevious value: -"Filter by TLD, e.g. 'com', 'ai', or a second-level suffix such as 'com.br'"New value: +"Filter by TLD, e.g. 'com', 'ai', or a second-level suffix such as 'com.br'. A family country code ('br', 'mx', 'cl', 'gg', 'id', 'my') covers all of its second-level registrations."
- Changed
nrds_live1 field changed- changed
Input schema / properties / tld / descriptionPrevious value: -"Filter by a single TLD without dots (e.g., 'com', 'ai', 'io'). One TLD per call; omit to cover all TLDs."New value: +"Filter by a single TLD without dots (e.g., 'com', 'ai', 'io'). 'br', 'mx', 'cl', 'gg', 'id' or 'my' covers that country's whole family; combine it with a keyword. One TLD per call; omit to cover all TLDs."
2 tool updates
- Changed
nrds1 field changed- changed
Input schema / properties / tld / descriptionPrevious value: -"Filter by TLD (e.g., 'com', 'ai', 'io')"New value: +"Filter by TLD, e.g. 'com', 'ai', or a second-level suffix such as 'com.br'"
- Changed
nrds_live1 field changed- changed
Input schema / properties / tld / descriptionPrevious value: -"Filter by a single TLD (e.g., 'com', 'ai', 'io'). One TLD per call; omit to cover all TLDs."New value: +"Filter by a single TLD without dots (e.g., 'com', 'ai', 'io'). One TLD per call; omit to cover all TLDs."
6 tool updates
- Changed
active1 field changed- changed
Output schema / properties / data / items / properties / marketplace / descriptionPrevious value: -"Sale platform code where the domain is listed: se=Sedo, go=GoDaddy, at=Atom, vn=Venture, pd=PerfectDomain, gn=Gname. Present only when the domain is listed for sale."New value: +"Sale platform code where the domain is listed: se=Sedo, go=GoDaddy, at=Atom, vn=Venture, pd=PerfectDomain, gn=Gname, hu=HugeDomains. Present only when the domain is listed for sale."
- Changed
aged1 field changed- changed
Output schema / properties / data / items / properties / marketplace / descriptionPrevious value: -"Sale platform code where the domain is listed: se=Sedo, go=GoDaddy, at=Atom, vn=Venture, pd=PerfectDomain, gn=Gname. Present only when the domain is listed for sale."New value: +"Sale platform code where the domain is listed: se=Sedo, go=GoDaddy, at=Atom, vn=Venture, pd=PerfectDomain, gn=Gname, hu=HugeDomains. Present only when the domain is listed for sale."
- Changed
domain_changes1 field changed- removed
Output schema / properties / data / items / properties / combinationRemoved value: -{ - "description": "Word segmentation of the prefix", - "type": "string" -}
- Changed
market2 fields changed- removed
Output schema / properties / data / items / properties / componentsRemoved value: -{ - "description": "Word segmentation of the domain prefix", - "type": "string" -} - changed
Output schema / properties / data / items / properties / marketplace / descriptionPrevious value: -"Sale platform code where the domain is listed: se=Sedo, go=GoDaddy, at=Atom, vn=Venture, pd=PerfectDomain, gn=Gname. Present only when the domain is listed for sale."New value: +"Sale platform code where the domain is listed: se=Sedo, go=GoDaddy, at=Atom, vn=Venture, pd=PerfectDomain, gn=Gname, hu=HugeDomains. Present only when the domain is listed for sale."
- Changed
nrds1 field changed- changed
Output schema / properties / data / items / properties / marketplace / descriptionPrevious value: -"Sale platform code where the domain is listed: se=Sedo, go=GoDaddy, at=Atom, vn=Venture, pd=PerfectDomain, gn=Gname. Present only when the domain is listed for sale."New value: +"Sale platform code where the domain is listed: se=Sedo, go=GoDaddy, at=Atom, vn=Venture, pd=PerfectDomain, gn=Gname, hu=HugeDomains. Present only when the domain is listed for sale."
- Changed
nrds_live1 field changed- removed
Output schema / properties / data / items / properties / componentsRemoved value: -{ - "description": "Word segmentation of the name, space-separated. Absent when the feed supplies none.", - "type": "string" -}
5 tool updates
- Changed
active1 field changed- changed
Output schema / properties / total_found / descriptionPrevious value: -"Total matching results across all pages — primary metric for comparative analysis"New value: +"Total matching results across all pages; the primary metric for comparative analysis"
- Changed
bulk_tld4 fields changed- changed
Output schema / properties / data / items / properties / cctld / descriptionPrevious value: -"Count in country-code TLDs"New value: +"Count in country-code TLDs outside the popular set" - changed
Output schema / properties / data / items / properties / other / descriptionPrevious value: -"Count in other gTLDs"New value: +"Count in other gTLDs outside the popular set" - changed
Output schema / properties / data / items / properties / popular / descriptionPrevious value: -"Count in popular TLDs (com, net, org, io, ai, app, etc.)"New value: +"Count in popular TLDs (com, net, org, io, ai, app, and similar; io and ai count here, not in cctld)" - changed
Output schema / properties / data / items / properties / total / descriptionPrevious value: -"Total TLDs with this keyword registered"New value: +"Number of TLDs where keyword.tld is registered (popular + cctld + other)"
- Changed
deleted1 field changed- changed
Input schema / properties / hold / descriptionPrevious value: -"Registry hold status — no_hold = immediately registrable"New value: +"Filter by registry hold flag (has_hold or no_hold). Neither value confirms current availability."
- Changed
monitor1 field changed- changed
Input schema / properties / note / descriptionPrevious value: -"What to watch for — user's intent in natural language (set only)"New value: +"What to watch for: the user's intent in natural language (set only)"
- Changed
unregistered_ai2 fields changed- changed
Output schema / properties / data / items / properties / length / descriptionPrevious value: -"Prefix character length — 3 = ultra premium, 4 = premium"New value: +"Prefix character length (3 or 4)" - changed
Output schema / properties / data / items / properties / prefix / descriptionPrevious value: -"Available short name (e.g., tuyu, hamu)"New value: +"Short name without the .ai extension (e.g., tuyu, hamu)"
1 tool update
- Changed
keyword_data1 field changed- changed
Output schema / properties / search_volume / descriptionPrevious value: -"Average monthly search volume on Google"New value: +"Average monthly search volume"
1 tool update
- Removed
safety
1 tool update
- Changed
ns_reverse1 field changed- changed
Input schema / properties / ns / descriptionPrevious value: -"Target nameserver hostname (e.g., 'ns1.example.com')"New value: +"Target nameserver hostname (e.g., 'ns1.example.com'). Comma-separate up to 10 to match only domains that use all of them (intersection, unlike tld where commas mean any); multiple nameservers are available on higher plans."
6 tool updates
- Changed
active2 fields changed- changed
Input schema / properties / keyword / descriptionPrevious value: -"Brand or industry term (min 2 chars). Omit to use TLD browse mode."New value: +"Brand or industry term (min 2 chars). Omit to use TLD browse mode, which requires a registered account." - changed
Input schema / properties / tld / descriptionPrevious value: -"Filter by TLD (e.g., 'com', 'net', 'org'); when keyword is omitted, this is the browse target"New value: +"Filter by TLD (e.g., 'com', 'net', 'org'); when keyword is omitted, this is the browse target (TLD browse mode requires a registered account)"
- Changed
bulk_available1 field changed- changed
Output schema / properties / data / items / properties / price / descriptionPrevious value: -"Price including currency when supplied by the upstream service."New value: +"Registration price including currency, when available."
- Changed
dns1 field changed- changed
Output schema / properties / records / properties / CAA / descriptionPrevious value: -"Certification Authority Authorization records. If this field is omitted, the upstream DNS service did not provide CAA data; omission is not proof that no CAA record exists."New value: +"Certification Authority Authorization records. If this field is omitted, no CAA data was returned; omission is not proof that no CAA record exists."
- Changed
keywords_trends2 fields changed- changed
Output schema / properties / data / items / properties / top_registrar / descriptionPrevious value: -"Deprecated Top-1 compatibility field used by the current Gateway until it passes top_registrars through unchanged."New value: +"Deprecated: the first entry of top_registrars, kept for compatibility." - changed
Output schema / properties / data / items / properties / top_registrars / descriptionPrevious value: -"Provider-computed registrar ranking. MCP does not derive this from nrds."New value: +"Registrar ranking computed by the data source; not derived from nrds."
- Changed
market1 field changed- changed
Input schema / properties / tld / descriptionPrevious value: -"Filter by TLD (e.g., 'com', 'net', 'org'). Provide WITHOUT keyword to enter TLD browse mode (gTLDs only)"New value: +"Filter by TLD (e.g., 'com', 'net', 'org'). Provide WITHOUT keyword to enter TLD browse mode (gTLDs only; requires a registered account)"
- Changed
registrar1 field changed- changed
Output schema / properties / data / items / properties / rdap_fetched / descriptionPrevious value: -"False means the RDAP record could not be retrieved this time (time budget or upstream). It does NOT mean the registrar has no address on file"New value: +"False means the RDAP record could not be retrieved this time (time budget or source unavailable). It does NOT mean the registrar has no address on file"
Related MCP Connectors
Domain availability and prices from 40+ registrars, name checks, DNS setup, and a domain broker
Parsed WHOIS, RDAP, DNS, certificates, nameservers and domain history for any domain.
Domain intelligence for DNS, WHOIS/RDAP, TLS, reputation, valuation, and brand protection.
Domain data: Top 1M domain ranks, compromised checks, new domain search, registered domain lists.
Related MCP Servers
- AlicenseAqualityDmaintenanceDomain intelligence for DNS, WHOIS/RDAP, SSL/TLS, subdomain discovery, availability, valuation, email security, and typosquatting and brand protection.11MIT
- AlicenseAqualityCmaintenanceEnables users to brainstorm brandable domain names, check live availability and verified pricing across TLDs, and inspect DNS, SSL, and RDAP/WHOIS details without registering or buying anything.7MIT
- FlicenseNot gradedqualityDmaintenanceEnables checking domain availability using WHOIS and DNS resolution, with support for single and batch queries.29-
- AlicenseAqualityDmaintenanceFast domain availability checker that searches across multiple registrars (Porkbun, Namecheap) and protocols (RDAP, WHOIS) to find available domains, compare pricing, get suggestions, and check social media username availability.7254 npm28MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.