Cheapest Domains

Compare domain registration and renewal prices across registrars and check exact-name availability.

我该使用它吗

质量与安全性

A
描述质量
94%
模式完整度
83%
命名质量
98%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

发现(1)

  • LOWTool 'estimate_cost' description lacks action verb在 estimate_cost 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~3,361token 数(工具定义)
~3.4 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 2.63%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "cheapest-domains": {
      "url": "https://www.cheapest.domains/mcp"
    }
  }
}

远程端点

https://www.cheapest.domains/mcpstreamable-http

它能做什么

工具清单

工具(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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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
}

社区

评价此服务器

证据

最近观测

已验证未记录版本9 个工具