Check domain availability
check_domainsBulk-check hundreds of domain names in one call. Returns available, taken, or reserved status plus buy links and prices for free names.
Instructions
Checks whether domain names are free to register. Built for bulk search: almost every good .com is taken, so brainstorm many candidates and pass them ALL in one call - hundreds of names are fine - instead of checking names one by one. Runs on the user's machine: DNS first, then the registry itself (RDAP, or WHOIS where there is no RDAP), in parallel within polite rate limits.
Input: names with or without a TLD. "acme" is tried in every TLD from tlds (default: com, net, ai); "acme.io" is checked exactly as given. URLs work too. For a long list, pass only the TLDs the user wants (e.g. ["com"]): every name is checked in every TLD.
Statuses:
available: a registrar API confirmed it can be registered (only when the user set registrar API keys);
premiumsays whether it costs more than the standard price.likely_available: not in the registry or DNS. Premium or registry-reserved names look the same, so the final price is on the registrar's page.
taken: registered. May note that it is in deletion and may become available soon.
reserved: blocked by the registry, or not sellable according to the registrar.
unknown: could not verify right now (rate limit or timeout); try again later.
Free domains come with buy links, cheapest first, with standard per-year prices where public price lists exist, or the exact price when a registrar confirmed the name. When many names are free, the text lists each on one line with its cheapest offer; check the user's favourites again to get every registrar's link.
How to present the answer: list the free domains with their price and their buy link from this result - a table with a link column works well - so the user can register a name in one click. Keep the links; do not replace them with links of your own. Mention the renewal price when it differs from the first year, and any minimum term. Pass on the NOTES and, when present, the affiliate disclosure line.
New names on request: when the user asks to regenerate, or for more or similar names, suggest only names that were not checked before, and pass the domains the user saved in saved so they stay in the results.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tlds | No | TLDs to try for names without one, e.g. ["com", "io", "co.uk"]. Omit to use the defaults (com, net, ai); the user can change the defaults with DOMAINSCOUT_TLDS in the MCP server config. | |
| saved | No | Domains the user saved in the results panel, e.g. ["acme.com"]. They are checked again with the rest and come back marked saved, so they stay in the results. Pass them whenever the user asks for new names but keeps the ones they saved. | |
| confirm | No | Confirm free-looking domains with registrar APIs, which also reveals premium names and exact prices. Works only when the user has set registrar API keys; on by default. Set false to skip it for large lists. | |
| details | No | Include the evidence from each source (DNS, RDAP, WHOIS, registrar API) for every domain. | |
| domains | Yes | Names or domains, e.g. ["acme", "acme.io", "https://acme.dev"]. Pass every candidate in ONE call - hundreds of names are fine. An entry may also hold several names separated by spaces, commas or new lines. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tlds | Yes | TLDs used for names given without one | |
| invalid | Yes | ||
| results | Yes | ||
| summary | Yes | ||
| warnings | Yes | Things that concern the whole call, e.g. a rejected API key or the confirmation limit | |
| disclosure | No |