Check domain availability
without leaving Claude

A free, open-source MCP server. Add one URL to Claude, then just ask — “is mybrand.ai available?”

Streamable HTTP (MCP 2026-07-28) Works with Claude, Claude Code, Cursor MIT licensed No API key — free RDAP Deploy your own in ~2 min
MCP endpoint
https://domain-checker-mcp.vercel.app/mcp

What this is

One tool, one job

MCP (Model Context Protocol) is the open standard for connecting AI assistants to external tools. This server adds a single tool — check_domain_availability — so Claude can look up domains itself instead of you copy-pasting names into a registrar.

You (or Claude) send

{
  "name": "mybrand",
  "tld": "ai"
}

Whitespace is trimmed, everything is lower-cased, .AI becomes ai, and full URLs like https://mybrand.ai are rejected.

You get back

Domain: mybrand.ai
Status: AVAILABLE
TLD Valid: Yes
Check Method: RDAP
Lookup Time: 583ms

Plus a structured JSON payload so the assistant can reason over the result reliably.

Setup · 30 seconds

Add it to Claude

Prefer watching? Here’s a short video walkthrough of connecting this server to Claude:

Open connector settings

In Claude, go to Settings → Connectors (some plans: Feature preview → Model Context Protocol).

Add a custom connector

Click Add custom connector. Name it Domain Checker and paste the URL:

https://domain-checker-mcp.vercel.app/mcp

Enable it and ask

Save (no login needed). In a chat, turn on Domain Checker from the tools menu, then ask a question. Approve the tool call when prompted.

Remote connectors need Claude Pro, Max, Team or Enterprise. On a free plan, run it locally over stdio — see the README.

Prompts to try

Check mybrand.ai
Is mybrand.com available?
Check whether mybrand.io is available
Which of acme.dev, acme.io and acme.ai are free?

Built for production

What’s inside

🎯

One clear tool

Name + TLD in, a clean AVAILABLE / NOT AVAILABLE status out — plus structured JSON.

🌐

Any TLD

.com, .ai, .io, .dev, .co.uk… generic validation, nothing hard-coded.

🧹

Forgiving input

Trims spaces, lower-cases, turns .AI into ai, rejects full URLs.

⏱️

Reliable

Request timeouts via AbortController; rate limits and upstream errors become clean messages.

🔒

No credentials

RDAP is public and unauthenticated — nothing to leak, rotate, or bill. No user-controlled URLs, no SSRF.

⚡

Serverless

Stateless Streamable HTTP. One-click deploy to Vercel; also runs locally over stdio.

🧪

Tested

49 unit tests, strict TypeScript, no unnecessary dependencies.

🆓

Open source

MIT. Fork it, read every line, run your own copy for free.

Recommended for real use

Run your own copy — free, ~2 minutes

The shared instance above applies a per-visitor rate limit to stay fair to everyone. Your own deployment is exclusively yours — no other traffic can throttle it, and there’s no API key to sign up for.

Fork & import to Vercel

Fork the repo, then import it at vercel.com/new. The bundled vercel.json configures everything — no environment variables required.

Deploy

Click Deploy. That’s it — no keys, no accounts, nothing else to configure.

Connect your URL to Claude

Use https://<your-project>.vercel.app/mcp in the steps above. Verify with /health — it should report "status": "ok".

Full README & docs

Under the hood

How a check flows

Claude→ HTTPS→ Vercel function (MCP server)→ validate & normalize→ IANA RDAP bootstrap→ registry’s RDAP server

The server is stateless: every request is independent, and nothing about your queries is stored. There’s no API key anywhere — the IANA bootstrap registry resolves which RDAP server owns a TLD, and that server is queried directly and publicly.

Quick API test

curl -s -X POST https://domain-checker-mcp.vercel.app/mcp \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"check_domain_availability",
                 "arguments":{"name":"mybrand","tld":"ai"}}}'

FAQ

Questions

What is Domain Checker MCP?

Domain Checker MCP is a free, open-source MCP server. You add its URL (https://domain-checker-mcp.vercel.app/mcp) to an AI assistant such as Claude, ChatGPT or Gemini as a custom connector, and it gives the assistant one tool, check_domain_availability, that reports whether a domain name is available for registration using RDAP data queried directly from the domain’s registry.

How do I check domain availability in Claude?

Add this server’s endpoint (https://domain-checker-mcp.vercel.app/mcp) as a custom connector in Claude’s settings, enable it in a chat, and ask something like “is mybrand.ai available?”. Claude calls the check_domain_availability tool and reports the result.

What is an MCP server, in plain terms?

It’s a small web service that exposes “tools” an AI assistant can call during a conversation. Instead of the model guessing whether a domain is taken, it actually runs a lookup. This one exposes exactly one tool.

Is it really free? What’s the catch?

The code is MIT-licensed and free, and needs no API key — it queries public RDAP servers directly. The hosted instance applies a per-visitor rate limit to stay fair to everyone, so it’s best for trying things out. For regular use, deploy your own copy — it takes about 2 minutes and there’s nothing to sign up for.

Which domains and TLDs can I check?

Any syntactically valid domain and TLD: .com, .ai, .io, .co, .dev, .app, and multi-level TLDs like .co.uk. The TLD list is not hard-coded — validation is generic.

Does it work with ChatGPT, Cursor, or other tools?

Yes. It speaks the standard MCP Streamable HTTP transport, so any MCP-compatible client can connect with just the URL — Claude, Claude Code, Cursor, and others that support remote MCP connectors.

How accurate is the result?

Availability is derived from RDAP records, queried directly from the domain’s official registry (e.g. Verisign for .com). It’s a strong signal but not a purchase guarantee — always confirm at a registrar before relying on it. Some registries also reserve or premium-price names that look “available”.

Do you store my queries?

No. The server is stateless and keeps no database. Operational logs record events like “request started/completed” and the domain checked, without personal data. There are no credentials anywhere for logs to leak.

I got a “rate limiting” message.

The shared instance caps how many checks each visitor can run per minute, to keep it fair for everyone. Wait a few seconds, or run your own copy, which isn’t affected by anyone else’s usage.