protogrid

Search / expert.tld/tld-expert

tld.expert

R0· no sign-in

Live domain availability, TLD alternatives, dated registrar prices and expert TLD advice.

v1.0.0 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality87good
Trust83of 100
Uptime, 30 days100%
Latency p50488 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "tld-expert": {
      "type": "http",
      "url": "https://tld.expert/mcp"
    }
  }
}
claude mcp add --transport http tld-expert https://tld.expert/mcp
[mcp_servers.tld-expert]
url = "https://tld.expert/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "tld-expert": {
      "type": "remote",
      "url": "https://tld.expert/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "tld-expert": {
      "type": "http",
      "url": "https://tld.expert/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=tld-expert&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vdGxkLmV4cGVydC9tY3AifQ%3D%3D"
}
{
  "servers": {
    "tld-expert": {
      "type": "http",
      "url": "https://tld.expert/mcp"
    }
  }
}
{
  "mcpServers": {
    "tld-expert": {
      "httpUrl": "https://tld.expert/mcp"
    }
  }
}
extensions:
  "tld-expert":
    enabled: true
    name: "tld-expert"
    type: streamable_http
    uri: "https://tld.expert/mcp"
    timeout: 300

Quality 87 / 100good

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length1 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations5 of 5 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 1,684 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability75 · weight 15
  • warn
    stability.changes6 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

5 tools, about 1,684 tokens to load them all · tool set 934e3ebaa8f2 · tools last changed 2026-11-05 · checked 2026-11-07 19:10 UTC

Tool changes

  • suggest_tld_alternativeschangeddescription
    before

    Use this when the domain the user wants is taken (or they ask for other options for a name). Given a full domain like "acme.com", proposes other endings (acme.io), added words (getacme.com), domain hacks and related words, checks every candidate live, and returns only the ones that are not taken. Slower than a single check (up to ~30 live lookups). Also use it when the user describes what the domain is for ("a fitness app in brazil", "a scratch site for side projects"): pass that as brief, with their name as domain if they have one. It then answers like the tld.expert search box: endings that fit the project (each with why and its source page), the popular endings, and name variants, every one checked live, taken ones counted but not listed. In brief mode, audience (who it is for) and vibe (how the name should feel) rethink the name ideas and lead with endings that suit them, like the questionnaire on the site.

    after · 84% of words in common

    Use this when the domain the user wants is taken (or they ask for other options for a name). Given a full domain like "acme.com", proposes other endings (acme.io), added words (getacme.com), domain hacks and related words, checks every candidate live, and returns only the ones that are not taken. Slower than a single check (up to ~30 live lookups). Also use it when the user describes what the domain is for ("a fitness app in brazil", "a scratch site for side projects"): pass that as brief, with their name as domain if they have one. It then answers like the tld.expert search box: endings that fit the project (each with why and its source page), the popular endings, and name variants, every one checked live, taken ones counted but not listed. In brief mode, audience (who it is for) and vibe (how the name should feel) rethink the name ideas and lead with endings that suit them, like the questionnaire on the site. A suggestion on a gated ending (.law for licensed lawyers, .nyc for a New York City address) carries registration_rule with the registry source; closed ones are only proposed when the brief says the user qualifies.

  • check_domain_availabilitychangeddescription, input schema
    before

    Use this when the user wants to know if a domain name is available or taken, or asks "can I get <name>". Accepts a full domain ("acme.io") for one verdict, or a bare name ("acme") to check it across popular TLDs (com, io, ai, co, app, dev, net, org, xyz) or a custom TLD list. Checks live DNS, registry RDAP/WHOIS and a registrar; never claims "available" without registrar confirmation. Returns a verdict per domain, buy links for names that may be free, and a tld.expert URL to cite.

    after · 75% of words in common

    Use this when the user wants to know if a domain name is available or taken, or asks "can I get <name>". Accepts a full domain ("acme.io") for one verdict, or a bare name ("acme") to check it across popular TLDs (com, io, ai, co, app, dev, net, org, xyz) or a custom TLD list. Checks live DNS, registry RDAP/WHOIS and a registrar; never claims "available" without registrar confirmation. Returns a verdict per domain, buy links for names that may be free, and a tld.expert URL to cite. For one full domain that is taken, the result also carries registration: who it is registered with, when it expires, whether it is in redemption or pending delete, and whether it is listed for sale on a marketplace, from the registry's own RDAP/WHOIS. Use it for "who owns this domain", "when does it expire" and "is it for sale".

  • suggest_tld_alternativeschangeddescription, input schema
    before

    Use this when the domain the user wants is taken (or they ask for other options for a name). Given a full domain like "acme.com", proposes other endings (acme.io), added words (getacme.com), domain hacks and related words, checks every candidate live, and returns only the ones that are not taken. Slower than a single check (up to ~30 live lookups). Also use it when the user describes what the domain is for ("a fitness app in brazil", "a scratch site for side projects"): pass that as brief, with their name as domain if they have one. It then answers like the tld.expert search box: endings that fit the project (each with why and its source page), the popular endings, and name variants, every one checked live, taken ones counted but not listed.

    after · 86% of words in common

    Use this when the domain the user wants is taken (or they ask for other options for a name). Given a full domain like "acme.com", proposes other endings (acme.io), added words (getacme.com), domain hacks and related words, checks every candidate live, and returns only the ones that are not taken. Slower than a single check (up to ~30 live lookups). Also use it when the user describes what the domain is for ("a fitness app in brazil", "a scratch site for side projects"): pass that as brief, with their name as domain if they have one. It then answers like the tld.expert search box: endings that fit the project (each with why and its source page), the popular endings, and name variants, every one checked live, taken ones counted but not listed. In brief mode, audience (who it is for) and vibe (how the name should feel) rethink the name ideas and lead with endings that suit them, like the questionnaire on the site.

  • suggest_tld_alternativeschangeddescription, input schema
    before

    Use this when the domain the user wants is taken (or they ask for other options for a name). Given a full domain like "acme.com", proposes other endings (acme.io), added words (getacme.com), domain hacks and related words, checks every candidate live, and returns only the ones that are not taken. Slower than a single check (up to ~30 live lookups).

    after · 56% of words in common

    Use this when the domain the user wants is taken (or they ask for other options for a name). Given a full domain like "acme.com", proposes other endings (acme.io), added words (getacme.com), domain hacks and related words, checks every candidate live, and returns only the ones that are not taken. Slower than a single check (up to ~30 live lookups). Also use it when the user describes what the domain is for ("a fitness app in brazil", "a scratch site for side projects"): pass that as brief, with their name as domain if they have one. It then answers like the tld.expert search box: endings that fit the project (each with why and its source page), the popular endings, and name variants, every one checked live, taken ones counted but not listed.

  • check_brand_nameadded

    Use this when the user is naming a product or company and asks whether the name is free beyond the domain: a GitHub account or org, an npm package, or a US trademark ("is acme taken on GitHub", "is there a trademark for acme"). Checks GitHub, the npm registry and live USPTO marks right now; each answer carries its source URL and checked time. "none" means the source has no record, never that the name is available or safe to use; a trademark search is not legal clearance. For the domain itself, call check_domain_availability.

  • get_tld_priceschangeddescription
    before

    Use this when the user asks what a domain extension costs, where it is cheapest, or what it renews at. Returns dated first-year, renewal and transfer prices per registrar (Porkbun, Dynadot, Cloudflare, Namecheap where tracked), the cheapest direct buy, the wholesale floor, and a renewal-trap flag when the renewal is 2x+ the intro price. Prices are the TLD standard price, not premium names.

    after · 62% of words in common

    Use this when the user asks what a domain extension costs, where it is cheapest, or what it renews at. Returns dated first-year, renewal and transfer prices per registrar (Porkbun, Dynadot, Cloudflare, Namecheap where tracked), the cheapest direct buy, the wholesale floor, and a renewal-trap flag when the renewal is 2x+ the intro price. Prices are the TLD standard price, not premium names. Also answers "what does it cost over 5 years": true_cost gives each registrar's 1/3/5/10-year cost, the cheapest path per horizon (stay, or register at one and transfer after year one for gTLDs) and recent renewal price changes, each with source URL and checked date.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 83 / 100

no-repository
provenance55
liveness100
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-100% +updated-18d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://tld.expert/mcp streamable-httpnoneyes100%488 ms2026-07-282026-11-07

Tools (5)

check_brand_nameread-onlyUse this when the user is naming a product or company and asks whether the name is free beyond the domain: a GitHub account or org, an npm package, or a US trademark ("is acme taken on GitHub", "is there a trademark for acme"). Checks GitHub, the npm registry and live USPTO marks right now; each answer carries its source URL and checked time. "none" means the source has no record, never that the name is available or safe to use; a trademark search is not legal clearance. For the domain itself, call check_domain_availability.
check_domain_availabilityread-onlyUse this when the user wants to know if a domain name is available or taken, or asks "can I get <name>". Accepts a full domain ("acme.io") for one verdict, or a bare name ("acme") to check it across popular TLDs (com, io, ai, co, app, dev, net, org, xyz) or a custom TLD list. Checks live DNS, registry RDAP/WHOIS and a registrar; never claims "available" without registrar confirmation. Returns a verdict per domain, buy links for names that may be free, and a tld.expert URL to cite. For one full domain that is taken, the result also carries registration: who it is registered with, when it expires, whether it is in redemption or pending delete, and whether it is listed for sale on a marketplace, from the registry's own RDAP/WHOIS. Use it for "who owns this domain", "when does it expire" and "is it for sale".
explain_tldread-onlyUse this when the user asks what a domain extension is, what it means, who runs it, who can register it, or whether it fits their project ("is .ai good for a startup", "what is .io", "does .web exist"). Returns tld.expert’s editorial verdict, pros and cons, registry, registration restrictions, the use cases it ranks for, and a typical price. Also answers for well-known non-existent TLDs like .eth or .web.
get_tld_pricesread-onlyUse this when the user asks what a domain extension costs, where it is cheapest, or what it renews at. Returns dated first-year, renewal and transfer prices per registrar (Porkbun, Dynadot, Cloudflare, Namecheap where tracked), the cheapest direct buy, the wholesale floor, and a renewal-trap flag when the renewal is 2x+ the intro price. Prices are the TLD standard price, not premium names. Also answers "what does it cost over 5 years": true_cost gives each registrar's 1/3/5/10-year cost, the cheapest path per horizon (stay, or register at one and transfer after year one for gTLDs) and recent renewal price changes, each with source URL and checked date.
suggest_tld_alternativesread-onlyUse this when the domain the user wants is taken (or they ask for other options for a name). Given a full domain like "acme.com", proposes other endings (acme.io), added words (getacme.com), domain hacks and related words, checks every candidate live, and returns only the ones that are not taken. Slower than a single check (up to ~30 live lookups). Also use it when the user describes what the domain is for ("a fitness app in brazil", "a scratch site for side projects"): pass that as brief, with their name as domain if they have one. It then answers like the tld.expert search box: endings that fit the project (each with why and its source page), the popular endings, and name variants, every one checked live, taken ones counted but not listed. In brief mode, audience (who it is for) and vibe (how the name should feel) rethink the name ideas and lead with endings that suit them, like the questionnaire on the site. A suggestion on a gated ending (.law for licensed lawyers, .nyc for a New York City address) carries registration_rule with the registry source; closed ones are only proposed when the brief says the user qualifies.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "expert.tld/tld-expert",
  "title": "tld.expert",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://tld.expert/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.0",
  "websiteUrl": "https://tld.expert",
  "description": "Live domain availability, TLD alternatives, dated registrar prices and expert TLD advice."
}