Skip to main content
Glama

Check which domain names are free

domains.search
Read-onlyIdempotent

Checks whether domain names are free to register. Pass full domains (bakkerijjansen.nl) and/or bare names (bakkerijjansen); a bare name is tried with every extension in extensions, or by default with the ones people ask for most: nl, com, eu, be, de, net, org, shop, online, site, store, tech, app, dev, io, ai, co.uk, uk, fr, at, ch, it, es, nu, se, co, me, info, biz, xyz, cloud. We sell 718 extensions in all (.amsterdam, .restaurant, .photography and so on); pass them in extensions when they fit the name. At most 50 domains per call. The first check is quick and asks DNS only: taken means the domain has nameservers (certain); likely_available means it has none, so it is probably free (reason dns_only, or no_rdap where the registry has no RDAP and verifying adds nothing). Once the person has favourites, call again with verify: true for the dns_only ones (at most 10 domains): that asks our registrar (or else the registry over RDAP) and turns them into available or taken; otherwise reason says why (rdap_rate_limited, rdap_unavailable). A premium name (premium: true) costs what its registry asks: price is our price for it in euro cents before VAT, often far above the usual price, so tell the person. unknown means no answer at all. Each free domain has a register_url: a page where the person signs in and registers it in their own name. Registration itself checks again. Each taken domain has a transfer_url: if the domain is the person's own, they move it to Spaicely there.

Input Schema

NameRequiredDescriptionDefault
namesYesDomains or bare names, such as bakkerijjansen.nl or bakkerijjansen
verifyNoDeep check for a shortlist: also ask the registries. At most 10 domains.
extensionsNoExtensions to try bare names with, such as nl, com, eu. Default: the ones people ask for most.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/openWorld, and the description still adds substantial behaviour: DNS-only semantics for taken vs likely_available, the reasons emitted (dns_only, no_rdap, rdap_rate_limited, rdap_unavailable), premium pricing in euro cents before VAT, and where register_url/transfer_url lead. It does not describe latency or how rate limits are enforced, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and the input formats are front-loaded, and every sentence carries operational detail. It is a dense single paragraph, though, and the 31-item default extension list is bulky enough to make the middle hard to scan; bullet-like separation would improve it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the full burden and discharges it: it defines each status value, each reason code, the premium price units, and the meaning of register_url and transfer_url. An agent could interpret every field of the response without further help.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline would be 3, but the description goes well beyond it: it explains that bare names are expanded across `extensions`, enumerates the default extension set, and clarifies that `verify` costs more, is capped at 10 domains, and converts dns_only into available/taken. That is real semantic enrichment, not restatement.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb and resource: 'Checks whether domain names are free to register.' The scope (bulk lookups across extensions) is unambiguous, and no sibling tool (blocks.get/blocks.list) overlaps, so an agent can select it immediately.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly prescribes a two-phase workflow: run the cheap DNS-only check first, then 'Once the person has favourites, call again with verify: true' for the dns_only results. It also states when to supply `extensions` ('pass them in `extensions` when they fit the name') and the 50-domain cap, leaving no inference needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources