Why
AI coding tools can't check if a domain is available. Claude suggests a name, you open a browser, search manually, come back — the flow breaks every time.
temper fixes this. One command. 30 TLDs. Fast enough to stay in flow.
Features
- Private — CLI and MCP queries run on your machine. No tracking, no telemetry. The hosted web demo uses a server-side API route for live checks.
- Fast — checks 30 TLDs by default with a 5s timeout. 59 with
--extended. - MCP native — Codex, Claude Code, Claude Desktop, and Cursor can search domains directly.
- Keyboard-first — vim-style navigation, single-key registrar selection.
- Pipe-friendly —
--format jsonfor scripting and automation. - Themeable — 7 built-in themes (5 dark + 2 light).
- Open source — Apache 2.0. Zero telemetry.
Install
# Homebrew (macOS/Linux) — no runtime needed
brew install jongjinchoi/temper-domains/temper
# npm (Node.js >= 18)
npm i -g temper-domains
temper search <name>
# One-off npm run without global install
npx -y temper-domains search <name>
# Or run from source (requires Bun)
bun install && bun run src/index.ts search <name>
Usage
$ temper --help
Usage: temper [options] [command]
Never leave your terminal to find a domain.
Commands:
search [options] <queries...> Search domain availability across TLDs
suggest [options] [query] Generate name combinations and check availability
whois <domain> Show detailed WHOIS/RDAP info for a domain
init Set up temper (registrar + theme)
history Show search history
watch <domain> Add a domain to watchlist
list Show watchlist with current availability
show-presets Show available TLD presets
config Manage temper configuration
mcp Start MCP server over stdio
Keyboard shortcuts
| Key | Action |
|---|---|
j/k |
Move up/down |
Enter |
Buy domain / select |
i |
WHOIS/RDAP detail |
/ |
Filter results |
a |
Add to watchlist |
s |
Suggest combinations |
h |
Search history |
w |
Watchlist |
esc |
Back |
q |
Quit |
Search
temper search myproject # 30 default TLDs
temper search myproject --extended # 59 TLDs
temper search myproject --tlds com,dev,io # specific TLDs
temper search myproject --tld-preset tech # preset: tech, popular, startup, cheap
temper search myproject -a # available only
temper search myproject -t 8 # 8s timeout (default: 5)
temper search myproject --format json # JSON output for piping
temper search gethalden writeholt --format json # multiple keywords in JSON mode
Navigate with j/k, press Enter to buy, a to add to watchlist, / to filter. Press s for suggestions, h for history, w for watchlist. q to quit. TUI mode shows one query at a time; use --format json for batch searches.
TLD Presets
temper show-presets
popular com, net, org, io, co, app, dev, ai, me
tech io, ai, dev, app, gg, sh, tech, cloud, digital
startup com, io, co, ai, app, dev, xyz, so, gg
cheap xyz, fun, lol, top, site, online, store, shop, club
JSON output
temper search gethalden --format json | jq '.[] | select(.status == "available" and .confidence != "low") | .domain'
Availability rows can include confidence, reason, rdapKey,
publicSuffix, and registrableDomain fields. A low-confidence available
result should be reviewed with a registrar before treating it as purchasable.
Whois
Look up detailed WHOIS/RDAP information for any domain. In search view, press i on any domain.
temper whois example.com # TUI view
temper whois example.com --format json # JSON output
Shows registrar, registration/expiry dates, nameservers, DNSSEC status, and EPP status codes. Uses RDAP (RFC 9083) when available, falls back to WHOIS.
Suggest
Generate name combinations and check .com availability. Press Enter on any name to check all 30 TLDs.
temper suggest gethalden # default prefixes + suffixes
temper suggest gethalden -p use,try -s app,hq # custom prefixes/suffixes
BASE
gethalden ✗ taken
PREFIX
usegethalden ✓ available
trygethalden ✓ available
mygethalden ✓ available
...
SUFFIX
gethaldenapp ✓ available
gethaldenlabs ✓ available
...
Summary: 13 available · 2 taken
Default prefixes: get use try my go join
Default suffixes: app labs hq ly dev hub run kit
Watchlist & History
temper history # interactive search history (re-search, remove)
temper list # interactive watchlist (refresh, remove)
temper watch gethalden.com # add a domain to watchlist from CLI
In search view, press a to add a domain to your watchlist, h to view history, w to view watchlist.
Setup
temper init # first-time setup (registrar + theme)
temper config theme seoul-night # change theme
temper config theme --list # list themes
temper runs as a local MCP server. Your AI assistant searches domains without you switching context.
Prerequisite: Install temper first —
brew install jongjinchoi/temper-domains/temperornpm i -g temper-domains.
Codex
Codex stores MCP server configuration in ~/.codex/config.toml and shares it between the Codex CLI and IDE extension. Add temper with:
codex mcp add temper -- temper mcp
In the Codex TUI, run /mcp to confirm the server is active.
You can also edit ~/.codex/config.toml directly:
[mcp_servers.temper]
command = "temper"
args = ["mcp"]
If you prefer not to install globally, use npx as the command and pass ["-y", "temper-domains", "mcp"] as args in MCP clients that support explicit command/args configuration.
Claude Code
Pick one based on how you want temper available:
All projects (recommended):
claude mcp add --scope user --transport stdio temper -- temper mcp
Current folder only:
claude mcp add --transport stdio temper -- temper mcp
Claude Desktop
Settings → Developer → Edit Config:
{
"mcpServers": {
"temper": {
"command": "temper",
"args": ["mcp"]
}
}
}
Restart Claude Desktop after saving.
Cursor
Settings → Tools & Integrations → New MCP Server (command type):
{
"mcpServers": {
"temper": {
"command": "temper",
"args": ["mcp"]
}
}
}
Windsurf
Edit ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"temper": {
"command": "temper",
"args": ["mcp"]
}
}
}
VS Code (Cline)
Command Palette → MCP: Add server → stdio → temper mcp
Tools:
| Tool | Description |
|---|---|
search_domain |
Check 30 or 59 TLDs for one bare name |
search_names |
Check up to 8 bare name candidates across default or extended TLDs |
suggest_domain |
15 name combinations × 5 TLDs using RDAP/WHOIS |
check_domain_availability |
Verify explicit full domains only (up to 100) |
whois_domain |
Detailed WHOIS/RDAP info (registrar, dates, nameservers) |
open_registrar |
Open purchase page in browser |
MCP output keeps uncertain results visible. Low-confidence availability is reported as review instead of a final recommendation.
Example: Brainstorm from scratch
You: "I'm building a health management app. Suggest domain names."
Claude: [generates candidates: wellbi, vitalo, medra, healix, ...]
[calls search_names for generated bare names]
[calls suggest_domain for top picks]
Top Pick: wellbi.app
- Short, pronounceable, .app TLD fits mobile apps
- getwellbi.com also available
⚠ Medra means "fear" in Spanish — avoid for global use
💡 Check @wellbi on social media before registering
Example: Search with a name
You: "Find domains for gethalden"
Claude: [calls search_domain]
gethalden.com is taken, but these are available:
- gethalden.dev, gethalden.app, gethalden.io
For names without a TLD, temper checks the default 30 TLDs first and treats
.com as the first result to interpret. Use extended search only when the
default set is not enough.
Example: Check specific domains
You: "Check usegethalden.com and trygethalden.com"
Claude: [calls check_domain_availability]
✓ usegethalden.com — available
✓ trygethalden.com — available
Example: Buy a domain
You: "Open Cloudflare for usegethalden.com"
Claude: [calls open_registrar]
Done. Cloudflare opened in your browser.
When temper runs as a local CLI or MCP server, queries run on your machine. The hosted website demo uses its own API route for live checks.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Theme | |
|---|---|
| Temper Forge | 🔥 Flame orange on dark steel |
| Seoul Night | 🌃 Neon pink, Han River blue |
| Catppuccin Mocha | 🎨 Soft pastels |
| Dracula | 🧛 High contrast |
| Default | ⚫ Terminal native |
| Catppuccin Latte | ☀️ Pastel light |
| Rosé Pine Dawn | 🌅 Warm natural light |
Contributing
git clone https://github.com/jongjinchoi/temper-domains.git
cd temper-domains
bun install
bun run src/index.ts search <name> # run locally
bun test # run tests
Issues and pull requests are welcome.
License
Apache 2.0 — see LICENSE







No comments yet
Be the first to share your take.