Compare domain registration and renewal prices across registrars and check exact-name availability.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Check one exact domain. Cloudflare answers first; configured fallbacks, then an optional selected registrar, run only for missing facts; a taken name ends the chain. Returns separate availability and nullable premium facts, provider attempts and check times; null premium is unconfirmed, not standard tier. Recheck after expiresAt (5 min; up to 30 days if taken). No prices, purchase or reservation.
One covered ASCII top-level extension, such as com or .com. Multi-part suffixes and IDNs are not covered.
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.
Explicitly request a fresh single-name recheck only when the user asks. Normal checks reuse saved evidence: five minutes, or up to 30 days for a name found taken. Fresh checks still obey provider gates, pending claims, caller limits and cooldowns; never use in a loop.
Connected registrar ID from the registrars endpoint. Omit to compare all.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Check one exact domain. Cloudflare answers first; configured fallbacks, then an optional selected registrar, run only for missing facts; a taken name ends the chain. Returns separate availability and nullable premium facts, provider attempts and check times; null premium is unconfirmed, not standard tier. Recheck after expiresAt (5 min; up to 30 days if taken). No prices, purchase or reservation.
| Argument | Type | Description |
|---|---|---|
| tld* | string | One covered ASCII top-level extension, such as com or .com. Multi-part suffixes and IDNs are not covered. |
| name* | string | 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 | boolean | Explicitly request a fresh single-name recheck only when the user asks. Normal checks reuse saved evidence: five minutes, or up to 30 days for a name found taken. Fresh checks still obey provider gates, pending claims, caller limits and cooldowns; never use in a loop. |
| registrar | string | Connected registrar ID from the registrars endpoint. Omit to compare all. |
{
"type": "object",
"required": [
"name",
"tld"
],
"properties": {
"tld": {
"type": "string",
"pattern": "^\\.?[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
"maxLength": 64,
"description": "One covered ASCII top-level extension, such as com or .com. Multi-part suffixes and IDNs are not covered."
},
"name": {
"type": "string",
"pattern": "^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
"maxLength": 63,
"description": "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": {
"type": "boolean",
"default": false,
"description": "Explicitly request a fresh single-name recheck only when the user asks. Normal checks reuse saved evidence: five minutes, or up to 30 days for a name found taken. Fresh checks still obey provider gates, pending claims, caller limits and cooldowns; never use in a loop."
},
"registrar": {
"type": "string",
"pattern": "^[a-z0-9-]+$",
"maxLength": 40,
"description": "Connected registrar ID from the registrars endpoint. Omit to compare all."
}
},
"additionalProperties": false
}Check one name across up to 20 extensions, reusing shared 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.
| Argument | Type | Description |
|---|---|---|
| name* | string | 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* | string | 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 | boolean | Return only existing fresh availability evidence, without provider calls, lookup admission, claims or retries. Cache misses remain Not confirmed. |
{
"type": "object",
"required": [
"name",
"tlds"
],
"properties": {
"name": {
"type": "string",
"pattern": "^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
"maxLength": 63,
"description": "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": {
"type": "string",
"maxLength": 1299,
"description": "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": {
"type": "boolean",
"default": false,
"description": "Return only existing fresh availability evidence, without provider calls, lookup admission, claims or retries. Cache misses remain Not confirmed."
}
},
"additionalProperties": false
}After checking exact names with the availability tools, compare up to 10 candidates using saved renewal-first prices and fresh cached evidence. No new availability requests; cache misses are Not confirmed. Returns standard reference offers, premium facts, dates and links. The assistant explains project fit. Split larger lists into bounded groups. Does not generate names.
| Argument | Type | Description |
|---|---|---|
| domains* | string | One to 10 distinct exact ASCII domains separated by commas or whitespace, such as brightkit.com,brightkit.dev. One label and one top-level extension per domain; no URLs, multi-part suffixes or IDNs. |
| maxRenewalCents | integer | Maximum annual renewal in integer USD cents; 1000 means USD 10. |
{
"type": "object",
"required": [
"domains"
],
"properties": {
"domains": {
"type": "string",
"maxLength": 1279,
"description": "One to 10 distinct exact ASCII domains separated by commas or whitespace, such as brightkit.com,brightkit.dev. One label and one top-level extension per domain; no URLs, multi-part suffixes or IDNs."
},
"maxRenewalCents": {
"type": "integer",
"maximum": 100000000,
"minimum": 0,
"description": "Maximum annual renewal in integer USD cents; 1000 means USD 10."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| tld* | string | One covered ASCII top-level extension, such as com or .com. Multi-part suffixes and IDNs are not covered. |
| name | string | 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* | integer | Planning horizon in years, including initial registration. |
| registrar* | string | Connected registrar ID from the registrars endpoint. Omit to compare all. |
{
"type": "object",
"required": [
"tld",
"registrar",
"years"
],
"properties": {
"tld": {
"type": "string",
"pattern": "^\\.?[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
"maxLength": 64,
"description": "One covered ASCII top-level extension, such as com or .com. Multi-part suffixes and IDNs are not covered."
},
"name": {
"type": "string",
"pattern": "^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
"maxLength": 63,
"description": "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": {
"type": "integer",
"default": 3,
"maximum": 10,
"minimum": 1,
"description": "Planning horizon in years, including initial registration."
},
"registrar": {
"type": "string",
"pattern": "^[a-z0-9-]+$",
"maxLength": 40,
"description": "Connected registrar ID from the registrars endpoint. Omit to compare all."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| tld* | string | One covered ASCII top-level extension, such as com or .com. Multi-part suffixes and IDNs are not covered. |
| name* | string | 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. |
{
"type": "object",
"required": [
"name",
"tld"
],
"properties": {
"tld": {
"type": "string",
"pattern": "^\\.?[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
"maxLength": 64,
"description": "One covered ASCII top-level extension, such as com or .com. Multi-part suffixes and IDNs are not covered."
},
"name": {
"type": "string",
"pattern": "^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
"maxLength": 63,
"description": "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."
}
},
"additionalProperties": false
}Return domain naming criteria, renewal-price comparison guidance and availability-status definitions. This static reference does not generate names or check availability.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Return how each covered registrar's renewal or registration price for one extension changed over time: price periods with the date each price was first seen, when the previous price was last seen, and whether it came from our scheduled refreshes or the registrar's own price page archived by the Internet Archive. A first record may be older than its date. Availability is not checked.
| Argument | Type | Description |
|---|---|---|
| tld* | string | One covered ASCII top-level extension, such as com or .com. Multi-part suffixes and IDNs are not covered. |
| price | string | Which price history to return: the annual renewal (default) or the first-year registration, which includes promotions. |
| format | string | 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. |
| registrar | string | Connected registrar ID from the registrars endpoint. Omit to compare all. |
{
"type": "object",
"required": [
"tld"
],
"properties": {
"tld": {
"type": "string",
"pattern": "^\\.?[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
"maxLength": 64,
"description": "One covered ASCII top-level extension, such as com or .com. Multi-part suffixes and IDNs are not covered."
},
"price": {
"enum": [
"renewal",
"registration"
],
"type": "string",
"default": "renewal",
"description": "Which price history to return: the annual renewal (default) or the first-year registration, which includes promotions."
},
"format": {
"enum": [
"json",
"csv",
"markdown"
],
"type": "string",
"default": "json",
"description": "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."
},
"registrar": {
"type": "string",
"pattern": "^[a-z0-9-]+$",
"maxLength": 40,
"description": "Connected registrar ID from the registrars endpoint. Omit to compare all."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| tld* | string | One covered ASCII top-level extension, such as com or .com. Multi-part suffixes and IDNs are not covered. |
| name* | string | 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* | string | Connected registrar ID from the registrars endpoint. Omit to compare all. |
{
"type": "object",
"required": [
"tld",
"registrar",
"name"
],
"properties": {
"tld": {
"type": "string",
"pattern": "^\\.?[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
"maxLength": 64,
"description": "One covered ASCII top-level extension, such as com or .com. Multi-part suffixes and IDNs are not covered."
},
"name": {
"type": "string",
"pattern": "^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
"maxLength": 63,
"description": "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": {
"type": "string",
"pattern": "^[a-z0-9-]+$",
"maxLength": 40,
"description": "Connected registrar ID from the registrars endpoint. Omit to compare all."
}
},
"additionalProperties": false
}Get connected registrar coverage, timestamps, fresh counts, failures, and registrars not compared.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Compare all covered registrars for one extension. Returns source failures, quote timestamps and minimum terms; availability is not checked.
| Argument | Type | Description |
|---|---|---|
| tld* | string | One covered ASCII top-level extension, such as com or .com. Multi-part suffixes and IDNs are not covered. |
| name | string | 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 | string | Ranking metric. Total uses a conservative new-registration estimate. |
| limit | integer | Maximum number of results, up to 200. |
| years | integer | Planning horizon in years, including initial registration. |
| format | string | 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. |
| offset | integer | Result offset. Follow pagination.next for additional results; the feed can change between requests. |
| orderBy | string | Order results by the selected price metric or extension. Cheapest-per-extension winners are selected before ordering. |
Open the naming form in a compatible host, or return its text workflow. Collect seed names, an optional project brief, count and annual renewal budget; the current assistant generates ideas and checks them with the research tools. Opening performs no generation or registrar checks. Does not connect subscriptions or require a model API key.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Compare standard prices, including explicitly labeled Cloudflare samples. Find affordable domain extensions and registrar offers, sorted by annual renewal by default. Saved offers stay listed after a failed refresh, with stale flags and source timestamps for stating their age. Returns prices, citation links, timestamps, coverage, and pagination. Does not check exact-name availability.
| Argument | Type | Description |
|---|---|---|
| q | string | TLD search: .com is exact; com is partial. Separate alternatives with commas or spaces. |
| name | string | 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 | string | Ranking metric. Total uses a conservative new-registration estimate. |
| view | string | Best returns one winner per TLD; all returns every matching registrar offer. |
| limit | integer | Maximum number of results, up to 200. |
| years | integer | Planning horizon in years, including initial registration. |
| format | string | 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. |
| direction | string | Ascending or descending result order. Unknown totals follow priced totals in either price direction. |
| favorites | string | 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 | string | Connected registrar ID from the registrars endpoint. Omit to compare all. |
| registrars | string | Comma-separated connected registrar IDs to compare together. Use instead of registrar. Cheapest-per-extension winners are chosen within this set. |
| includeStale | boolean | Accepted for compatibility. Saved prices stay in results until a successful refresh replaces them and are labeled stale. includeStale=true still requires view=all. |
{
"type": "object",
"required": [
"tld"
],
"properties": {
"tld": {
"type": "string",
"pattern": "^\\.?[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
"maxLength": 64,
"description": "One covered ASCII top-level extension, such as com or .com. Multi-part suffixes and IDNs are not covered."
},
"name": {
"type": "string",
"pattern": "^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
"maxLength": 63,
"description": "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": {
"enum": [
"renewal",
"registration",
"total"
],
"type": "string",
"default": "renewal",
"description": "Ranking metric. Total uses a conservative new-registration estimate."
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 200,
"minimum": 1,
"description": "Maximum number of results, up to 200."
},
"years": {
"type": "integer",
"default": 3,
"maximum": 10,
"minimum": 1,
"description": "Planning horizon in years, including initial registration."
},
"format": {
"enum": [
"json",
"csv",
"markdown"
],
"type": "string",
"default": "json",
"description": "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."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 100000,
"minimum": 0,
"description": "Result offset. Follow pagination.next for additional results; the feed can change between requests."
},
"orderBy": {
"enum": [
"price",
"extension"
],
"type": "string",
"default": "price",
"description": "Order results by the selected price metric or extension. Cheapest-per-extension winners are selected before ordering."
},
"direction": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "asc",
"description": "Ascending or descending result order. Unknown totals follow priced totals in either price direction."
},
"favorites": {
"type": "string",
"pattern": "^[a-z0-9-]+(?:,[a-z0-9-]+)?$",
"maxLength": 81,
"description": "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": {
"type": "string",
"pattern": "^[a-z0-9-]+$",
"maxLength": 40,
"description": "Connected registrar ID from the registrars endpoint. Omit to compare all."
},
"registrars": {
"type": "string",
"pattern": "^[a-z0-9-]+(?:,[a-z0-9-]+)*$",
"maxLength": 200,
"description": "Comma-separated connected registrar IDs to compare together. Use instead of registrar. Cheapest-per-extension winners are chosen within this set."
},
"includeStale": {
"type": "boolean",
"default": false,
"description": "Accepted for compatibility. Saved prices stay in results until a successful refresh replaces them and are labeled stale. includeStale=true still requires view=all."
}
},
"additionalProperties": false
}| offset |
| integer |
| Result offset. Follow pagination.next for additional results; the feed can change between requests. |
| orderBy | string | Order results by the selected price metric or extension. Cheapest-per-extension winners are selected before ordering. |
| direction | string | Ascending or descending result order. Unknown totals follow priced totals in either price direction. |
| favorites | string | 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 | boolean | Exclude current renewal prices greater than twice registration. |
| registrar | string | Connected registrar ID from the registrars endpoint. Omit to compare all. |
| registrars | string | Comma-separated connected registrar IDs to compare together. Use instead of registrar. Cheapest-per-extension winners are chosen within this set. |
| includeStale | boolean | 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 | integer | Maximum annual renewal in integer USD cents; 1000 means USD 10. |
| hideCountryCodes | boolean | Exclude two-letter country-code extensions. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"default": "",
"maxLength": 200,
"description": "TLD search: .com is exact; com is partial. Separate alternatives with commas or spaces."
},
"name": {
"type": "string",
"pattern": "^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$",
"maxLength": 63,
"description": "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": {
"enum": [
"renewal",
"registration",
"total"
],
"type": "string",
"default": "renewal",
"description": "Ranking metric. Total uses a conservative new-registration estimate."
},
"view": {
"enum": [
"best",
"all"
],
"type": "string",
"default": "best",
"description": "Best returns one winner per TLD; all returns every matching registrar offer."
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 200,
"minimum": 1,
"description": "Maximum number of results, up to 200."
},
"years": {
"type": "integer",
"default": 3,
"maximum": 10,
"minimum": 1,
"description": "Planning horizon in years, including initial registration."
},
"format": {
"enum": [
"json",
"csv",
"markdown"
],
"type": "string",
"default": "json",
"description": "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."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 100000,
"minimum": 0,
"description": "Result offset. Follow pagination.next for additional results; the feed can change between requests."
},
"orderBy": {
"enum": [
"price",
"extension"
],
"type": "string",
"default": "price",
"description": "Order results by the selected price metric or extension. Cheapest-per-extension winners are selected before ordering."
},
"direction": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "asc",
"description": "Ascending or descending result order. Unknown totals follow priced totals in either price direction."
},
"favorites": {
"type": "string",
"pattern": "^[a-z0-9-]+(?:,[a-z0-9-]+)?$",
"maxLength": 81,
"description": "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": {
"type": "boolean",
"default": false,
"description": "Exclude current renewal prices greater than twice registration."
},
"registrar": {
"type": "string",
"pattern": "^[a-z0-9-]+$",
"maxLength": 40,
"description": "Connected registrar ID from the registrars endpoint. Omit to compare all."
},
"registrars": {
"type": "string",
"pattern": "^[a-z0-9-]+(?:,[a-z0-9-]+)*$",
"maxLength": 200,
"description": "Comma-separated connected registrar IDs to compare together. Use instead of registrar. Cheapest-per-extension winners are chosen within this set."
},
"includeStale": {
"type": "boolean",
"default": false,
"description": "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": {
"type": "integer",
"maximum": 100000000,
"minimum": 0,
"description": "Maximum annual renewal in integer USD cents; 1000 means USD 10."
},
"hideCountryCodes": {
"type": "boolean",
"default": false,
"description": "Exclude two-letter country-code extensions."
}
},
"additionalProperties": false
}