TLDMath
Live domain availability and prices across registrars, ranked by true two-year cost.
Should I use this
Quality & Safety
Findings (3)
- LOWin check_domain
- LOWin compare_email_hosting
- LOWin list_supported_tlds
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"tldmath": {
"url": "https://www.tldmath.com/mcp"
}
}
}Remote endpoints
https://www.tldmath.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (11)
π’check_domain(domain, fresh)
Live availability and price comparison for one exact domain (e.g. "acme.io") across registrars. Returns per-registrar registration, renewal and transfer prices, premium status, and a recommendation based on 2-year total cost.
Input Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 3,
"maxLength": 253,
"description": "A single domain name with its TLD, e.g. \"acme.io\". No subdomains."
},
"fresh": {
"description": "Bypass the 10-minute cache and query every registrar live. Default false.",
"type": "boolean"
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’check_name_across_tlds(name, tlds)
Check one name (e.g. "acme") across several TLDs at once and return availability plus the best 2-year price for each. Defaults to .com, .net, .io, .ai, .dev, .app. Max 8 TLDs per call.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 63,
"pattern": "^[a-zA-Z0-9-]+$",
"description": "The name without a TLD, e.g. \"acme\"."
},
"tlds": {
"description": "TLDs to check, without or with a leading dot. Default: com, net, io, ai, dev, app.",
"maxItems": 8,
"type": "array",
"items": {
"type": "string",
"pattern": "^\\.?[a-zA-Z]{2,24}$"
}
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’compare_tld_prices(tld)
Standard (non-premium) prices for one TLD across registrars, refreshed daily, sorted by 2-year cost. Use for general questions like "how much is a .io domain"; use check_domain for a specific name.
Input Schema
{
"type": "object",
"properties": {
"tld": {
"type": "string",
"pattern": "^\\.?[a-zA-Z]{2,24}$",
"description": "A TLD such as \"com\", \".ai\" or \"dev\"."
}
},
"required": [
"tld"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’recommend_names(description)
Given a short project description, recommend 3-5 TLDs (best fit first, with reasons) and 10 brandable names, each screened for availability on the top 3 TLDs with the cheapest standard 2-year cost. Run check_domain on a pick for live per-registrar prices.
Input Schema
{
"type": "object",
"properties": {
"description": {
"type": "string",
"minLength": 10,
"maxLength": 600,
"description": "What the project is, who it is for, and its tone. One to three sentences."
}
},
"required": [
"description"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’brand_check(name)
Check whether a name is free as a handle on GitHub, npm, PyPI, crates.io and YouTube, with links to check X, Instagram and TikTok by hand, plus links to the USPTO and WIPO trademark databases. Not legal advice.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 63,
"pattern": "^[a-zA-Z0-9-]+$",
"description": "The name to check, e.g. \"acme\"."
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’check_renewals(domains)
For domains the user already owns (up to 20): current registrar, expiry date, renewal price, and the cheapest registrar to transfer to, with the two-year saving. Registrar and expiry come from the public registry (RDAP); some TLDs such as .io have no RDAP. Suggests a free email reminder service at tldmath.com/watch.
Input Schema
{
"type": "object",
"properties": {
"domains": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 3,
"maxLength": 253
},
"description": "Domains the user owns, e.g. [\"example.com\", \"acme.io\"]."
}
},
"required": [
"domains"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’taken_domain_options(domain)
For a domain someone else owns: its registrar and expiry, where it is in the expiry-to-release cycle (active, expiring soon, expired, redemption, pending delete) with an estimated drop window, whether it is parked at a marketplace such as Afternic or Sedo (so possibly for sale), and backorder links. Also points to free email alerts at tldmath.com/watch for when it nears expiry or drops.
Input Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 3,
"maxLength": 253,
"description": "The taken domain, e.g. \"acme.com\"."
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’compare_email_hosting(mailboxes, need)
Custom-domain email providers ranked by two-year cost for a number of mailboxes: free forwarding (Cloudflare, ImprovMX), cheap mailboxes (Purelymail, Zoho, Migadu, iCloud+, Namecheap, Hostinger), office suites (Google Workspace, Microsoft 365, Zoho Workplace) and encrypted options (Proton). Includes intro-price traps and per-user vs flat pricing. Prices are curated from each providerβs pricing page with a date.
Input Schema
{
"type": "object",
"properties": {
"mailboxes": {
"description": "How many mailboxes/people. Default 1.",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"need": {
"description": "forward = forward to an existing inbox; mailbox = a real inbox (default); suite = mail + calendar + docs; private = end-to-end encrypted.",
"type": "string",
"enum": [
"forward",
"mailbox",
"suite",
"private"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’tld_price_changes(tld, days)
Announced registry (wholesale) price increases, upcoming and from the past year, plus changes to registrar standard prices seen in TLDMathβs daily checks. Use for "is .com going up?" or "should I renew early?". Optionally filter by TLD.
Input Schema
{
"type": "object",
"properties": {
"tld": {
"description": "Limit to one TLD, e.g. \"com\". Omit for all.",
"type": "string",
"pattern": "^\\.?[a-zA-Z]{2,24}$"
},
"days": {
"description": "How far back to look for registrar price changes. Default 30.",
"type": "integer",
"minimum": 1,
"maximum": 365
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’plan_dns_setup(domain, host, host_target, email)
The DNS records a domain needs for a website host and/or an email provider, each checked against live public DNS (in place, missing, or needs change), plus where the domainβs DNS is hosted and records to remove. Read-only: it never changes DNS. Use after the user buys a domain, or when their site or email on a custom domain isnβt working.
Input Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 3,
"maxLength": 253,
"description": "The domain, e.g. \"acme.dev\"."
},
"host": {
"description": "Where the website is hosted.",
"type": "string",
"enum": [
"vercel",
"netlify",
"github-pages",
"cloudflare-pages"
]
},
"host_target": {
"description": "Netlify site (x.netlify.app), GitHub user, or Cloudflare Pages project (x.pages.dev), when the host needs one.",
"type": "string",
"maxLength": 253
},
"email": {
"description": "Email provider, or \"no-email\" to lock the domain against spoofing.",
"type": "string",
"enum": [
"google-workspace",
"microsoft-365",
"zoho-mail",
"fastmail",
"proton-mail",
"icloud",
"purelymail",
"migadu",
"namecheap-email",
"hostinger-email",
"cloudflare-email",
"no-email"
]
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}π’list_supported_tlds
TLDs with daily price tables, and the registrars TLDMath queries live.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence