Cheapest Domains
Server Details
Compare domain registration and renewal prices across registrars and check exact-name availability.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- igalil/cheapest-domains-integrations
- GitHub Stars
- 0
TDQS
Scored across 9 tools
Each tool targets a distinct operation: exact availability check, batch availability, cost estimation, popularity, guidance, registrar links, registrar listing, TLD price comparison, and price search. The descriptions clearly delineate boundaries, e.g., check_availability vs check_availability_batch differ in scope and fallback behavior, and search_prices is explicitly for price comparison, not availability. No two tools appear to do the same thing.
Tool names follow a consistent verb_noun or verb_noun_modifier pattern: check_availability, check_availability_batch, estimate_cost, get_domain_popularity, get_naming_guidance, get_registrar_link, get_registrars, get_tld_prices, search_prices. All use snake_case, and the verb choice (check, estimate, get, search) is predictable and readable.
Nine tools is well-scoped for a domain research and price comparison server. Each tool earns its place by covering a distinct aspect of the workflow, and the count avoids both redundancy and excessive fragmentation.
The tool set covers availability checking, price estimation, registrar comparison, naming guidance, and popularity. However, it lacks tools for purchasing, reservation, or transfer operations, which may be intentional but leaves a gap in the full domain lifecycle. Core research workflows are well-supported.
Available Tools
9 toolscheck_availabilityCheck domain availabilityARead-onlyIdempotentInspect
Check one exact domain. Cloudflare answers first; configured fallback providers, then an optional selected registrar, run only for missing facts; a taken name ends the chain. Returns separate availability and nullable premium facts with provider attempts and check times; null premium is unconfirmed, not standard tier. Evidence expires after five minutes. No price lookup, purchase or reservation.
| Name | Required | Description | Default |
|---|---|---|---|
| tld | Yes | One covered ASCII top-level extension, such as com or .com. Multi-part suffixes and IDNs are not covered. | |
| name | Yes | One ASCII domain label without the extension, such as myproject. Price and link tools only build links from it; availability and popularity tools send the exact domain to their providers. | |
| fresh | No | Explicitly request a fresh single-name recheck only when the user asks. Normal checks reuse five-minute evidence. Fresh checks still obey provider gates, pending claims, caller limits and cooldowns; never use in a loop. | |
| registrar | No | Connected registrar ID from the registrars endpoint. Omit to compare all. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations carry only the generic safe-read profile, and the description adds substantive behavior beyond them: provider fallback ordering, five-minute evidence expiry, the meaning of a null premium result ('unconfirmed, not standard tier'), and the fact that provider attempts and check times are returned. These are exactly the traits an agent cannot get from readOnlyHint/idempotentHint.
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?
Very dense and front-loaded, with the cardinality constraint and provider chain leading. The second sentence packs three ideas into one semicolon chain, which is efficient but slightly heavy for a definition of this length.
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 no output schema and four parameters, the description carries the return-value burden and does so: it explains that availability and premium facts are returned separately, that premium may be null with a specific interpretation, and that provider attempts and timestamps accompany the result. Nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (tld, name, fresh, registrar) is already documented in the schema, including the fresh-check cooldown and registrar gating rules. The description adds output semantics rather than parameter meaning, so the 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?
The first sentence states a specific verb and resource with an explicit cardinality constraint ('Check one exact domain'), which separates it cleanly from the batch sibling. It also names the internal provider chain (Cloudflare, fallbacks, registrar), so the agent understands what is actually being queried.
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 clearly bounds usage by ruling out adjacent tools ('No price lookup, purchase or reservation') and states the flow condition ('a taken name ends the chain'), which is real routing guidance. It never names a sibling tool explicitly, so an agent must infer that check_availability_batch handles multiple names, but the context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_availability_batchCheck a name across extensionsARead-onlyIdempotentInspect
Check one name across up to 20 extensions, reusing shared five-minute evidence. Enrichment stops once availability is known, so premium can remain null. Partial failures keep the answers received plus retry guidance, without automatic retries. cachedOnly makes no provider calls. No selected-registrar fallback, fresh mode, prices or purchases.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | One ASCII domain label without the extension, such as myproject. Price and link tools only build links from it; availability and popularity tools send the exact domain to their providers. | |
| tlds | Yes | One to 20 distinct ASCII top-level extensions separated by commas, for the same name. Optional leading dots are accepted. No whole-catalog scans. | |
| cachedOnly | No | Return only existing fresh availability evidence, without provider calls, lookup admission, claims or retries. Cache misses remain Not confirmed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations (which only cover read-only/open-world/idempotent safety): it discloses that enrichment halts once availability is known so 'premium can remain null', that partial failures return received answers plus retry guidance with no automatic retries, and that cached mode makes zero provider calls. These are exactly the runtime behaviors an agent cannot infer from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences, no filler; the core capability (one name, up to 20 extensions, shared evidence) is front-loaded, and each following sentence adds a distinct operational fact.
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 no output schema, the description still covers the return-shape quirks an agent needs: nullable premium, partial-failure payloads with retry guidance, and no automatic retries. Nothing required to call or interpret it correctly appears 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%, so tlds and cachedOnly are already documented; the description adds the shared five-minute evidence window and reconfirms the 20-extension ceiling for tlds. It repeats rather than extends some cachedOnly semantics, keeping it just above the high-coverage 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?
States a specific verb and resource with scope: 'Check one name across up to 20 extensions', which immediately distinguishes it from the single-name sibling check_availability. The reusing-shared-evidence clause further pins down what this batch variant does.
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 closing sentence explicitly rules out related tasks – 'No selected-registrar fallback, fresh mode, prices or purchases' – and 'cachedOnly makes no provider calls' gives a clear condition for that mode. It stops short of naming the sibling tools to use instead (estimate_cost, get_tld_prices, check_availability), so routing 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.
estimate_costEstimate domain costsARead-onlyIdempotentInspect
Estimate new registration plus subsequent renewals for one TLD at a registrar. Returns null for unknown multi-year term totals. Not a transfer or existing-domain renewal quote.
| Name | Required | Description | Default |
|---|---|---|---|
| tld | Yes | One covered ASCII top-level extension, such as com or .com. Multi-part suffixes and IDNs are not covered. | |
| name | No | One ASCII domain label without the extension, such as myproject. Price and link tools only build links from it; availability and popularity tools send the exact domain to their providers. | |
| years | Yes | Planning horizon in years, including initial registration. | |
| registrar | Yes | Connected registrar ID from the registrars endpoint. Omit to compare all. |
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 covered. The description adds a real behavioral trait beyond that: null results are returned for unknown multi-year term totals, which tells the caller how to interpret an empty-looking response. That is meaningful added context, though nothing is said about rate limits or coverage limits beyond the TLD 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 sentences, no filler. The core computation is front-loaded and the two exclusions and the null-return caveat follow in a single tight sentence. 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?
There is no output schema, so the description must carry return semantics; it does partially by explaining the null case. For a read-only, idempotent estimate tool with fully documented parameters this is close to sufficient, though it doesn't describe the shape of a successful cost response.
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 each parameter is documented in the schema itself (tld pattern/coverage, years horizon, registrar ID source). The description's 'one TLD' and 'multi-year term totals' echo the schema without adding syntax, format, or defaults beyond it, 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 computed output: new registration plus subsequent renewals for one TLD at a registrar. It also scopes out transfer and existing-domain renewal, which an agent can use to orient. It does not name the nearest sibling (get_tld_prices / search_prices), so a full 5 for sibling differentiation is not warranted.
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 says what this is not (transfer quote, existing-domain renewal), which is useful negative guidance, but it never states when to prefer it over get_tld_prices or search_prices, nor any prerequisite such as needing a connected registrar ID (that lives only in the schema). Usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_domain_popularityGet domain DNS popularityARead-onlyIdempotentInspect
Look up one exact domain in Cloudflare Radar’s global DNS popularity ranking. Returns an exact top-100 rank or a broader popularity group, categories, locations, data dates, and CC BY-NC 4.0 attribution. Not Google SEO difficulty, name competition, or availability. Missing data does not indicate zero competition.
| Name | Required | Description | Default |
|---|---|---|---|
| tld | Yes | One covered ASCII top-level extension, such as com or .com. Multi-part suffixes and IDNs are not covered. | |
| name | Yes | One ASCII domain label without the extension, such as myproject. Price and link tools only build links from it; availability and popularity tools send the exact domain to their providers. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive, so safety is covered. The description adds real behavioral context beyond that: the result is either an exact top-100 rank or a broader popularity group, includes categories/locations/data dates/attribution, and critically warns that 'Missing data does not indicate zero competition' – an interpretation caveat an agent would otherwise get wrong.
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 sentences, each carrying distinct information: purpose, return shape, exclusions, and a caveat. The purpose is front-loaded and there is 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?
No output schema exists, so the description must carry return-value semantics – and it does, enumerating rank-or-group, categories, locations, data dates, and attribution, plus a data-absence caveat. Nothing an agent needs to call or interpret this tool correctly appears to be 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%, so the schema already documents both name and tld thoroughly (including patterns, length caps, and that popularity tools send the exact domain to providers). The description reinforces exact-match semantics with 'one exact domain,' clarifying that no wildcard/substring matching applies, which is a modest but real addition over the schema 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?
States a specific verb and resource ('Look up one exact domain in Cloudflare Radar's global DNS popularity ranking') with the exact scope ('one exact domain'). It explicitly distinguishes itself from sibling concerns by ruling out availability and competition metrics, so an agent can tell it apart from check_availability 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?
Gives clear context ('one exact domain', single-domain scope) and explicit exclusions: 'Not Google SEO difficulty, name competition, or availability.' This steers the agent away from misusing it for SEO or availability questions, but it does not name the sibling tool (e.g., check_availability) that should be used instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_naming_guidanceGet domain naming guidanceARead-onlyIdempotentInspect
Return domain naming criteria, renewal-price comparison guidance and availability-status definitions. This static reference does not generate names or check availability.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 structurally. The description adds the meaningful extra fact that this is a static reference returning fixed documentation rather than live lookups, though it says nothing about output size, format or caching.
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, front-loaded with the payload contents and closed with the scoping constraint. Every clause carries information and nothing is padded.
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 no output schema present, the description takes on the burden of telling the agent what comes back, and it does so by naming the three content categories. It could go slightly further on the shape/format of that reference material, but for a zero-parameter static lookup 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 tool takes zero parameters, so the baseline of 4 applies; there is no parameter semantics to explain and the description correctly does not invent any.
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 names a specific resource and enumerates its three contents (naming criteria, renewal-price comparison guidance, availability-status definitions), so the agent knows exactly what it gets. It also distinguishes itself from siblings by stating what it does NOT do, which separates it from check_availability and search_prices.
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 clearly frames this as a static reference and explicitly excludes the sibling behaviors ('does not generate names or check availability'), which routes the agent away from check_availability and search_prices. It stops short of saying when to reach for it versus get_registrars or get_tld_prices, but the context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_registrar_linkGet a registrar search linkARead-onlyIdempotentInspect
Construct a verified registrar search destination for a proposed name and extension. Does not navigate, check availability, or purchase. NameBright and AWS Route 53 use an explicit copy/paste fallback.
| Name | Required | Description | Default |
|---|---|---|---|
| tld | Yes | One covered ASCII top-level extension, such as com or .com. Multi-part suffixes and IDNs are not covered. | |
| name | Yes | One ASCII domain label without the extension, such as myproject. Price and link tools only build links from it; availability and popularity tools send the exact domain to their providers. | |
| registrar | Yes | Connected registrar ID from the registrars endpoint. Omit to compare all. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and open-world behavior. The description adds genuinely useful context beyond them: the tool builds a destination rather than fetching it, and NameBright and AWS Route 53 require an explicit copy/paste fallback rather than a direct redirect.
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 tight sentences, no filler, with the core action front-loaded and the scope limits immediately following. Every sentence adds distinct information (action, exclusions, special-case fallback).
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 no output schema, the description still conveys that the result is a link/destination, though it never states the actual return shape (URL string vs. object) or what the copy/paste fallback yields. Coverage of the tool's behavior is solid for a low-complexity, 3-param read-only 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%, so the schema already documents tld, name and registrar in detail, including the registrar-ID dependency on the registrars endpoint. The description only loosely gestures at 'name and extension', so the baseline 3 applies since 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: 'Construct a verified registrar search destination for a proposed name and extension.' The description then explicitly disambiguates from adjacent capabilities ('Does not navigate, check availability, or purchase'), which separates it from check_availability and purchase-oriented siblings.
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 negative guidance tells the agent when NOT to use it (not for availability checks or navigation), which steers it toward check_availability instead. However, it never names the alternative tool or clarifies its relationship to get_registrars, whose IDs the registrar parameter depends on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_registrarsGet registrar coverageBRead-onlyIdempotentInspect
Get connected registrar coverage, timestamps, fresh counts, failures, and registrars not compared.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds a useful inventory of returned fields (timestamps, fresh counts, failures, registrars not compared) that compensates for the absent output schema, but says nothing about staleness, refresh behavior, or cost of calls despite the open-world hint.
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 sentence, front-loaded with the primary purpose and followed by the returned field list. No filler, though the trailing field enumeration reads slightly like a data dump rather than prioritized 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 no parameters and no output schema, the description carries the return-value burden and does list the key fields, which is adequate for a zero-argument read tool. It stops short of describing structure or meaning of items like 'registrars not compared', leaving some interpretive gaps.
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 takes zero parameters, so per the rubric the baseline is 4. There is nothing for the description to disambiguate, and it sensibly spends its words on return content instead.
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 (Get) and resource (registrar coverage) plus the data fields it exposes, which distinguishes it from price-, availability-, and link-oriented siblings. However, 'connected registrar coverage' is jargon that the description never unpacks, so an agent must infer what coverage actually means.
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 guidance on when to call this tool, what triggers the need for registrar coverage, or how it relates to siblings like get_registrar_link. The agent only knows what it returns, not when it is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tld_pricesCompare prices for an extensionARead-onlyIdempotentInspect
Compare all covered registrars for one extension. Returns source failures, quote timestamps and minimum terms; availability is not checked.
| Name | Required | Description | Default |
|---|---|---|---|
| tld | Yes | One covered ASCII top-level extension, such as com or .com. Multi-part suffixes and IDNs are not covered. | |
| name | No | One ASCII domain label without the extension, such as myproject. Price and link tools only build links from it; availability and popularity tools send the exact domain to their providers. | |
| sort | No | Ranking metric. Total uses a conservative new-registration estimate. | renewal |
| limit | No | Maximum number of results, up to 200. | |
| years | No | Planning horizon in years, including initial registration. | |
| format | No | Response representation. CSV and Markdown use the same filters, order and bounded pagination; they contain main offers, not favorite comparison arrays. MCP retains structured JSON alongside rendered text. | json |
| offset | No | Result offset. Follow pagination.next for additional results; the feed can change between requests. | |
| orderBy | No | Order results by the selected price metric or extension. Cheapest-per-extension winners are selected before ordering. | price |
| direction | No | Ascending or descending result order. Unknown totals follow priced totals in either price direction. | asc |
| favorites | No | Up to two distinct connected registrar IDs, comma-separated. Adds saved favorite offers and fresh baselines for this result page, independent of filters. Does not save preferences or check names. | |
| registrar | No | Connected registrar ID from the registrars endpoint. Omit to compare all. | |
| registrars | No | Comma-separated connected registrar IDs to compare together. Use instead of registrar. Cheapest-per-extension winners are chosen within this set. | |
| includeStale | No | Accepted for compatibility. Saved prices stay in results until a successful refresh replaces them and are labeled stale. includeStale=true still requires view=all. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive and open-world behavior, so the bar is lower. The description adds real value beyond them by disclosing the return payload traits (source failures, quote timestamps, minimum terms) and the important limitation that availability is not verified - context an agent would otherwise have to learn the hard way.
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 short sentences with zero padding. The scope statement is front-loaded and the caveat about availability is placed immediately after, which is exactly where an agent needs it.
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 13-parameter, output-schema-less read tool, the definition is largely sufficient: safety is covered by annotations, parameters by a fully documented schema, and return shape traits are named in the description. It falls just short of 5 because it never routes the agent away from the overlapping search_prices sibling.
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 13 well-annotated parameters, so the schema carries the semantics. The description adds no parameter-level meaning beyond what the schema already provides, 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+resource+scope: 'Compare all covered registrars for one extension.' That is clear and actionable. It does not, however, distinguish itself from the sibling search_prices tool, so an agent cannot tell from the description alone which of the two price tools is the right one.
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 ('one extension', 'compare all covered registrars') and adds one genuine exclusion - availability is not checked, so check_availability must be used separately. But it never names sibling alternatives such as search_prices or check_availability, nor states when this tool is preferred over them; guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_pricesCompare renewal pricesARead-onlyIdempotentInspect
Compare standard prices, including explicitly labeled Cloudflare samples. Find affordable domain extensions and registrar offers, sorted by annual renewal by default. Saved offers remain listed when outdated, with stale flags and source timestamps. Returns prices, citation links, timestamps, coverage, and pagination. Does not check exact-name availability.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | TLD search: .com is exact; com is partial. Separate alternatives with commas or spaces. | |
| name | No | One ASCII domain label without the extension, such as myproject. Price and link tools only build links from it; availability and popularity tools send the exact domain to their providers. | |
| sort | No | Ranking metric. Total uses a conservative new-registration estimate. | renewal |
| view | No | Best returns one winner per TLD; all returns every matching registrar offer. | best |
| limit | No | Maximum number of results, up to 200. | |
| years | No | Planning horizon in years, including initial registration. | |
| format | No | Response representation. CSV and Markdown use the same filters, order and bounded pagination; they contain main offers, not favorite comparison arrays. MCP retains structured JSON alongside rendered text. | json |
| offset | No | Result offset. Follow pagination.next for additional results; the feed can change between requests. | |
| orderBy | No | Order results by the selected price metric or extension. Cheapest-per-extension winners are selected before ordering. | price |
| direction | No | Ascending or descending result order. Unknown totals follow priced totals in either price direction. | asc |
| favorites | No | Up to two distinct connected registrar IDs, comma-separated. Adds saved favorite offers and fresh baselines for this result page, independent of filters. Does not save preferences or check names. | |
| hideJumps | No | Exclude current renewal prices greater than twice registration. | |
| registrar | No | Connected registrar ID from the registrars endpoint. Omit to compare all. | |
| registrars | No | Comma-separated connected registrar IDs to compare together. Use instead of registrar. Cheapest-per-extension winners are chosen within this set. | |
| includeStale | No | Accepted for compatibility. Saved prices stay in results until a successful refresh replaces them and are labeled stale. includeStale=true still requires view=all. | |
| maxRenewalCents | No | Maximum annual renewal in integer USD cents; 1000 means USD 10. | |
| hideCountryCodes | No | Exclude two-letter country-code extensions. |
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), but the description adds real behavioral context: stale saved offers remain listed with stale flags and source timestamps, and results carry citations, coverage and pagination. That is information the annotations cannot supply.
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 and default ordering, then the stale/return/pagination caveats, then the exclusion. Four compact sentences with no filler, though some sentences bundle several ideas (stale flags plus timestamps plus pagination) that could be split.
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 17-parameter tool with no output schema and no required parameters, the description adequately covers what comes back (prices, citation links, timestamps, coverage, pagination) plus the stale-data lifecycle and the availability exclusion. Auth/registrar-set details live in the schema, so nothing critical 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 17 parameters are documented in detail (enums, patterns, defaults), so the schema carries the parameter burden. The description only echoes the default sort and the returned fields, adding no syntax or format detail beyond what the schema already states — the baseline 3.
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 ('Compare standard prices', 'registrar offers'), the default ranking metric, and an explicit boundary ('Does not check exact-name availability') that separates it from the check_availability siblings. An agent can identify this as the price-comparison 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?
Gives clear context for use (compare prices across domain extensions and registrars, renewal-oriented by default) and one explicit exclusion routing away from availability checks. It does not, however, say when to prefer this over neighboring siblings such as get_tld_prices or estimate_cost, so the routing guidance is partial.
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.
9 tool updates
- First observed
check_availability - First observed
check_availability_batch - First observed
estimate_cost - First observed
get_domain_popularity - First observed
get_naming_guidance - First observed
get_registrar_link - First observed
get_registrars - First observed
get_tld_prices - First observed
search_prices
Related MCP Connectors
Compare domain prices across 145+ registrars and 1,100+ TLDs, find promo codes, check availability.
Live domain availability and prices across registrars, ranked by true two-year cost.
Find domains and domain hacks with live availability, registrar prices, and keyword search demand.
Domain availability across 1,200+ TLDs, with renewal price, minimum term and eligibility
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables checking domain availability and registration prices across multiple TLDs and providers. Users can find available domain names and compare pricing through natural language.010MIT

TLDers Domain Pricesofficial
AlicenseNot gradedqualityCmaintenanceEnables AI assistants to compare live domain registration, renewal, and transfer prices across many registrars and TLDs, find promo codes, and check domain availability.MIT- AlicenseAqualityCmaintenanceFast 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.788 npm28MIT
- AlicenseAqualityAmaintenanceDomain availability + registrar price comparison across 52 TLDs — see not just if a domain is free, but where it's cheapest (7 registrars, renewal traps exposed). Honest: shows an Unverified state instead of guessing. Free, no API key. For Claude, ChatGPT, Cursor & any MCP client.468 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.