Cheapest Domains
Compare domain registration and renewal prices across registrars and check exact-name availability.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (1)
- LOWin estimate_cost
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"cheapest-domains": {
"url": "https://www.cheapest.domains/mcp"
}
}
}Remote-Endpunkte
https://www.cheapest.domains/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (9)
🟢search_prices(q, registrar, registrars, favorites, sort, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"maxLength": 200,
"description": "TLD search: .com is exact; com is partial. Separate alternatives with commas or spaces.",
"default": ""
},
"registrar": {
"type": "string",
"maxLength": 40,
"pattern": "^[a-z0-9-]+$",
"description": "Connected registrar ID from the registrars endpoint. Omit to compare all."
},
"registrars": {
"type": "string",
"maxLength": 200,
"pattern": "^[a-z0-9-]+(?:,[a-z0-9-]+)*$",
"description": "Comma-separated connected registrar IDs to compare together. Use instead of registrar. Cheapest-per-extension winners are chosen within this set."
},
"favorites": {
"type": "string",
"maxLength": 81,
"pattern": "^[a-z0-9-]+(?:,[a-z0-9-]+)?$",
"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."
},
"sort": {
"type": "string",
"enum": [
"renewal",
"registration",
"total"
],
"default": "renewal",
"description": "Ranking metric. Total uses a conservative new-registration estimate."
},
"orderBy": {
"type": "string",
"enum": [
"price",
"extension"
],
"default": "price",
"description": "Order results by the selected price metric or extension. Cheapest-per-extension winners are selected before ordering."
},
"direction": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "asc",
"description": "Ascending or descending result order. Unknown totals follow priced totals in either price direction."
},
"years": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"default": 3,
"description": "Planning horizon in years, including initial registration."
},
"maxRenewalCents": {
"type": "integer",
"minimum": 0,
"maximum": 100000000,
"description": "Maximum annual renewal in integer USD cents; 1000 means USD 10."
},
"hideCountryCodes": {
"type": "boolean",
"default": false,
"description": "Exclude two-letter country-code extensions."
},
"hideJumps": {
"type": "boolean",
"default": false,
"description": "Exclude current renewal prices greater than twice registration."
},
"view": {
"type": "string",
"enum": [
"best",
"all"
],
"default": "best",
"description": "Best returns one winner per TLD; all returns every matching registrar offer."
},
"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."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50,
"description": "Maximum number of results, up to 200."
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 100000,
"default": 0,
"description": "Result offset. Follow pagination.next for additional results; the feed can change between requests."
},
"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."
},
"format": {
"type": "string",
"enum": [
"json",
"csv",
"markdown"
],
"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."
}
},
"additionalProperties": false
}🟢get_tld_prices(tld, registrar, registrars, favorites, sort, ...)
Compare all covered registrars for one extension. Returns source failures, quote timestamps and minimum terms; availability is not checked.
Eingabe-Schema
{
"type": "object",
"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."
},
"registrar": {
"type": "string",
"maxLength": 40,
"pattern": "^[a-z0-9-]+$",
"description": "Connected registrar ID from the registrars endpoint. Omit to compare all."
},
"registrars": {
"type": "string",
"maxLength": 200,
"pattern": "^[a-z0-9-]+(?:,[a-z0-9-]+)*$",
"description": "Comma-separated connected registrar IDs to compare together. Use instead of registrar. Cheapest-per-extension winners are chosen within this set."
},
"favorites": {
"type": "string",
"maxLength": 81,
"pattern": "^[a-z0-9-]+(?:,[a-z0-9-]+)?$",
"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."
},
"sort": {
"type": "string",
"enum": [
"renewal",
"registration",
"total"
],
"default": "renewal",
"description": "Ranking metric. Total uses a conservative new-registration estimate."
},
"orderBy": {
"type": "string",
"enum": [
"price",
"extension"
],
"default": "price",
"description": "Order results by the selected price metric or extension. Cheapest-per-extension winners are selected before ordering."
},
"direction": {
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "asc",
"description": "Ascending or descending result order. Unknown totals follow priced totals in either price direction."
},
"years": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"default": 3,
"description": "Planning horizon in years, including initial registration."
},
"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."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50,
"description": "Maximum number of results, up to 200."
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 100000,
"default": 0,
"description": "Result offset. Follow pagination.next for additional results; the feed can change between requests."
},
"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."
},
"format": {
"type": "string",
"enum": [
"json",
"csv",
"markdown"
],
"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."
}
},
"required": [
"tld"
],
"additionalProperties": false
}🟢get_registrars
Get connected registrar coverage, timestamps, fresh counts, failures, and registrars not compared.
Eingabe-Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢estimate_cost(tld, registrar, years, name)
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.
Eingabe-Schema
{
"type": "object",
"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."
},
"registrar": {
"type": "string",
"maxLength": 40,
"pattern": "^[a-z0-9-]+$",
"description": "Connected registrar ID from the registrars endpoint. Omit to compare all."
},
"years": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"default": 3,
"description": "Planning horizon in years, including initial registration."
},
"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."
}
},
"required": [
"tld",
"registrar",
"years"
],
"additionalProperties": false
}🟢get_registrar_link(tld, registrar, name)
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.
Eingabe-Schema
{
"type": "object",
"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."
},
"registrar": {
"type": "string",
"maxLength": 40,
"pattern": "^[a-z0-9-]+$",
"description": "Connected registrar ID from the registrars endpoint. Omit to compare all."
},
"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."
}
},
"required": [
"tld",
"registrar",
"name"
],
"additionalProperties": false
}🟢get_naming_guidance
Return domain naming criteria, renewal-price comparison guidance and availability-status definitions. This static reference does not generate names or check availability.
Eingabe-Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢check_availability(name, tld, registrar, fresh)
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.
Eingabe-Schema
{
"type": "object",
"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."
},
"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."
},
"registrar": {
"type": "string",
"maxLength": 40,
"pattern": "^[a-z0-9-]+$",
"description": "Connected registrar ID from the registrars endpoint. Omit to compare all."
},
"fresh": {
"type": "boolean",
"default": false,
"description": "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."
}
},
"required": [
"name",
"tld"
],
"additionalProperties": false
}🟢get_domain_popularity(name, tld)
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.
Eingabe-Schema
{
"type": "object",
"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."
},
"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."
}
},
"required": [
"name",
"tld"
],
"additionalProperties": false
}🟢check_availability_batch(name, tlds, cachedOnly)
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.
Eingabe-Schema
{
"type": "object",
"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."
}
},
"required": [
"name",
"tlds"
],
"additionalProperties": false
}Community
Nachweis