When naming a project, the first thing I do is check if the domain is available. Opening a browser, typing the domain, waiting for WHOIS — too slow. I wanted something I could run from the terminal or ask my agent to check in one second. So I built Dotter.
Dotter is a domain availability checker built in Go. Give it a name, and it tells you which TLDs are free in parallel.
$ dotter myproject
✗ myproject.com is TAKEN
Alternative TLDs for "myproject":
TLD Status
─────────── ───────
.dev ✓ FREE
.io ✓ FREE
.tech ✓ FREE
.app ✓ FREE
.ai ✓ FREE
.net ✓ FREE
→ 6 TLDs available! Try: myproject.dev
Key Features
Fast Parallel Checks
Go goroutines check multiple TLDs simultaneously. Default 10 concurrent queries, configurable:
dotter myproject # Check .com + curated TLDs
dotter myproject --all # Scan ~70 extended TLDs
dotter myproject --tlds .io,.dev,.tech # Custom list
Two-Stage Detection
- DNS check (fast) — resolves NS records. NS exists → domain is taken.
- WHOIS fallback (accurate) — if DNS is inconclusive, queries WHOIS servers.
This combo is both fast and reliable.
MCP Server Mode
Dotter doubles as an MCP server, making it callable by any agent:
dotter mcp # Start MCP stdio server
Agent tools exposed:
| Tool | Description |
|---|---|
check_domain | Check domain availability + suggest alternative TLDs |
Configure in Hermes Agent:
# ~/.hermes/config.yaml
mcp_servers:
dotter:
command: dotter
args: ["mcp"]
Then just tell your agent: “check if myproject.dev is available.”
Output Formats
| Flag | Format | Use Case |
|---|---|---|
--json | JSON | Pipe to other tools |
| Default | Pretty table | Human readability |
| Exit code 0 | At least one TLD free | Script conditions |
| Exit code 1 | No TLDs free | Blocking logic |
Tech Stack
| Component | Choice | Why |
|---|---|---|
| Language | Go | Single binary, goroutines for parallel checks |
| DNS resolution | net.LookupNS | Standard library, no deps |
| WHOIS | Raw TCP to WHOIS servers | No external library needed |
| MCP SDK | Custom stdio protocol | Lightweight, no framework |
| Concurrency | Goroutines + semaphore | Parallel TLD scanning |
| Size | ~8 MB static binary | Instant download |
| Tests | Go test suite | Core checking logic tested |
Quick Start
go install github.com/fxckcode/dotter@latest
# Check a domain
dotter example.com
# Check with alternatives
dotter myproject --tlds .io,.dev,.tech
# JSON output
dotter myproject --json
Or download a pre-built binary from the releases page.
The project is MIT licensed and open on GitHub.