tldx-mcp

tldx-mcp

An MCP server for tldx that allows AI agents to brainstorm brand names and instantly verify domain availability using lightning-fast, concurrent RDAP lookups.

Category
Visit Server

README

tldx logo

tldx

GitHub release (latest by date) Tests GitHub Go Report Card codecov

tldx helps you brainstorm available domain names fast.

tldx openai -p get,use -s ly,hub -t com,io,ai --only-available
āœ”ļø getopenaily.com is available
āœ”ļø useopenaihub.io is available
  ...

tldx demo

šŸ“š Table of Contents

⚔ Features

  • šŸ” Smart keyword-based domain permutations (prefixes, suffixes, TLDs)
  • šŸŽÆ Regex pattern support for generating domain combinations (e.g., all 3-letter domains)
  • šŸš€ Fast and concurrent availability checks with RDAP
  • šŸ“¤ Streams results as they're found
  • šŸ“¦ Multiple output formats: text, json, json-stream, json-array, csv, grouped, grouped-tld
  • šŸ”§ TLD presets to quickly select curated TLD sets
  • šŸ“ Optional filtering by domain length
  • šŸ¤– MCP server (tldx mcp) for AI agent integration

šŸ› ļø Usage

Usage:
  tldx [keywords] [flags]
  tldx [command]

Available Commands:
  completion       Generate the autocompletion script for the specified shell
  help             Help about any command
  mcp              Start an MCP (Model Context Protocol) server over stdio
  show-tld-presets Show available TLD presets

Flags:
      --dry-run                 Print domains that would be checked without making network calls
  -f, --format string           Format of output (text, json, json-stream, json-array, csv, grouped, grouped-tld) (default "text")
  -h, --help                    help for tldx
  -i, --input string            File to read keywords from. Use "-" to read from stdin.
  -l, --limit int               Stop after finding this many available domains (0 = no limit)
  -m, --max-domain-length int   Maximum length of domain name (default 64)
      --no-color                Disable colored output
  -a, --only-available          Show only available domains
  -p, --prefixes strings        Prefixes to add (e.g. get,my,use)
  -r, --regex                   Enable regex pattern matching for domain keywords
      --show-stats              Show statistics at the end of execution
  -s, --suffixes strings        Suffixes to add (e.g. ify,ly)
      --tld-preset string       Use a tld preset (e.g. popular, tech)
  -t, --tlds strings            TLDs to check (e.g. com,io,ai)
  -v, --verbose                 Show verbose output
      --version                 version for tldx

Exit code 2 is returned when --only-available is set but no available domains are found.

šŸ”— Examples

Domain Availability

$ tldx google
āŒ google.com is not available
$ tldx google youtube reddit
  āŒ reddit.com is not available
  āŒ google.com is not available
  āŒ youtube.com is not available

Regex Domain Selection

Use regex patterns with the --regex flag to generate domain combinations based on patterns:

# Check all 3-letter .com domains
$ tldx '[a-z]{3}' --regex --tlds com --only-available
  āœ”ļø  aaa.com is available
  āœ”ļø  aab.com is available
  ...
# Check all 2-letter domains with specific TLDs
$ tldx '[a-z]{2}' --regex --tlds io,ai --only-available
  āœ”ļø  qa.io is available
  āœ”ļø  zx.ai is available
  ...
# Combine patterns with prefixes
$ tldx '[a-z]{2}' --regex --prefixes my,get --tlds app --only-available
  āœ”ļø  myaa.app is available
  āœ”ļø  getab.app is available
  ...

Note: Patterns generating more than 500,000 combinations will be skipped.

Presets

$ tldx google --tld-preset popular
  āŒ google.com is not available
  āŒ google.io is not available
  ...
$ tldx google --tld-preset geo
  āŒ google.au is not available
  āŒ google.de is not available
  āŒ google.us is not available
  ...

You can see all available presets:

$ tldx show-tld-presets

TLD Presets:

all                     (use all available TLDs)

cheap                   pw fun icu top xyz blog info shop site click
                        space store online website

popular                 ai me app com dev net org

tech                    io ai gg app dev tech codes tools cloud games
                        software digital network security systems
                        data technology
...

Permutations

$ tldx google --prefixes get,my --suffixes ly,hub --tlds com,io,ai
  āœ”ļø  mygooglely.com is available
  āœ”ļø  getgooglely.ai is available
  āŒ  mygoogle.ai is not available
  ...

Brace Expansion (macOS, Linux)

Brace expansion works out of the box in bash/zsh:

tldx {get,use}{tldx,domains} {star,fork}ongithub
  āœ”ļø gettldx.com is available
  āœ”ļø usetldx.com is available
  āŒ getdomains.com is not available
  ...

Show Only Available Domains

$ tldx google reddit facebook -p get,my -s ly,hub -t com,io,ai --only-available
  āœ”ļø  getgooglely.ai is available
  āœ”ļø  getreddithub.com is available
  ...

Limit Results

$ tldx stripe -p get,use -t com,io,ai --only-available --limit 3
  āœ”ļø  getstripe.io is available
  āœ”ļø  usestripe.ai is available
  āœ”ļø  stripe.ai is available

Dry Run

$ tldx stripe -p get,use -t com,io --dry-run
Would check 6 domain(s):
  stripe.com
  stripe.io
  getstripe.com
  ...

Input from File or Stdin

$ tldx --input keywords.txt --tlds com,io --only-available
$ echo -e "stripe\natlas\nlinear" | tldx --input - --tlds com,io --only-available

Output Formats

By default output is human-readable (text). Change it with --format / -f.

Color is automatically disabled when stdout is not a terminal.

JSON Array

$ tldx openai -p use -s ly -t io --format json-array
[
  { "domain": "useopenaily.io", "available": true, "keyword": "openai", "prefix": "use", "suffix": "ly", "tld": "io" },
  { "domain": "openai.io", "available": false, "keyword": "openai", "tld": "io" },
  ...
]

With --show-stats the output is wrapped in an object:

$ tldx openai -p use -s ly -t io --format json-array --show-stats
{
  "results": [ ... ],
  "stats": { "total": 4, "available": 1, "not_available": 2, "errored": 1 }
}

Results include keyword, prefix, suffix, and tld metadata (empty fields are omitted).

JSON Stream

$ tldx openai -p use -s ly -t io --format json-stream
{"domain":"useopenaily.io","available":true,"keyword":"openai","prefix":"use","suffix":"ly","tld":"io"}
{"domain":"openai.io","available":false,"keyword":"openai","tld":"io"}

CSV

$ tldx openai -p use -s ly -t io --format csv
domain,available,keyword,prefix,suffix,tld,details,error
useopenaily.io,true,openai,use,ly,io,
openai.io,false,openai,,,io,

Grouped by Keyword

$ tldx openai google -p get,use -t com,io --format grouped

  google
  getgoogle.com
  getgoogle.io
  google.com
  google.io
  usegoogle.com
  usegoogle.io

  openai
  getopenai.com
  getopenai.io
  openai.com
  openai.io
  useopenai.com
  useopenai.io

Grouped by TLD

$ tldx openai google -p get,use -t com,io --format grouped-tld

  .com
  getgoogle.com
  getopenai.com
  google.com
  openai.com
  usegoogle.com
  useopenai.com

  .io
  getgoogle.io
  getopenai.io
  google.io
  openai.io
  usegoogle.io
  useopenai.io

MCP

tldx includes an MCP server for use with AI agents and IDEs.

tldx mcp

Example config (mcp.json / Claude Desktop / VS Code):

{
  "mcpServers": {
    "tldx": {
      "command": "tldx",
      "args": ["mcp"]
    }
  }
}

Available tools: check_domain, check_domains, generate_and_check, list_tld_presets.

šŸ“¦ Installation

macOS (Homebrew)

brew install tldx

or

brew tap brandonyoungdev/tldx
brew install tldx

Windows (winget)

winget install --id=brandonyoungdev.tldx  -e

Arch Linux (AUR)

Two options are available for Arch Linux users:

  • tldx - Build the package from source.
  • tldx-bin - Build the package from releases.

Linux and Windows (Manual)

Visit the Releases page.

Download the archive for your OS and architecture:

  • macOS / Linux: tldx_<version>_<os>_<arch>.tar.gz
  • Windows: tldx_<version>_windows_<arch>.zip
tar -xzf tldx_<version>_<os>_<arch>.tar.gz
mv tldx /usr/local/bin/

Go (Install from Source)

go install github.com/brandonyoungdev/tldx@latest

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured