mcpField
U
Unique.domains

Unique.domains

Remote
unique.domainsBusiness & Marketing0Updated 1d ago

About Unique.domains

Unique.domains is an MCP server for reading domain names, TLDs, registrar prices, market data, trends, and industry events from its catalog. It offers hosted or local access, with additional tools available to members using a key; it does not register or buy domains.

Key features

  1. 01Read domain status and registry records
  2. 02Compare registrar prices and renewal traps
  3. 03Explore TLD facts and launch phases
  4. 04Query market sales, auctions, and trends
  5. 05Access extra tools with a member key
  6. 06Use hosted HTTP or local stdio

Use cases

  1. 01Check a domain's stored registry and DNS data
  2. 02Compare registrar prices across endings
  3. 03Review domain market activity and trends
  4. 04Explore TLD launch information and industry events

MCP support

The MCP server exposes catalog-reading tools over hosted Streamable HTTP or local stdio. A member key enables plan-specific tools in local use; no tool registers, buys, or changes a domain.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://mcp.unique.domains/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Packages
npm@uniquedomains/mcp-server0.1.5

Tools

Details

From the project README

Unique Domains MCP server

An MCP server for the Unique Domains API. It lets an AI assistant read domain names, words, TLDs, registrar prices, the domain market, trends and the industry agenda from the Unique Domains catalog.

Every tool reads stored data as of its day. None registers, buys or changes a name.

  • Hosted, no install and no key: https://mcp.unique.domains/mcp
  • On your machine: npx -y @uniquedomains/mcp-server

Connect your assistant

Claude

In Claude (web or Desktop), open Settings, then Connectors, add a custom connector and paste https://mcp.unique.domains/mcp. No sign-in is needed.

To run it on your machine instead, add this to Claude Desktop's claude_desktop_config.json:

{
  "mcpServers": {
    "uniquedomains": { "command": "npx", "args": ["-y", "@uniquedomains/mcp-server"] }
  }
}
Claude Code
claude mcp add --transport http uniquedomains https://mcp.unique.domains/mcp

Or on your machine, with a member key:

claude mcp add uniquedomains -e UD_API_KEY=ud_live_your_key -- npx -y @uniquedomains/mcp-server
Cursor

Add to Cursor (the direct link is cursor://anysphere.cursor-deeplink/mcp/install?name=uniquedomains&config=eyJ1cmwiOiJodHRwczovL21jcC51bmlxdWUuZG9tYWlucy9tY3AifQ==), or put this in .cursor/mcp.json:

{
  "mcpServers": {
    "uniquedomains": { "url": "https://mcp.unique.domains/mcp" }
  }
}
VS Code
code --add-mcp '{"name":"uniquedomains","type":"http","url":"https://mcp.unique.domains/mcp"}'

Or in .vscode/mcp.json:

{
  "servers": {
    "uniquedomains": { "type": "http", "url": "https://mcp.unique.domains/mcp" }
  }
}
ChatGPT

With developer mode on (Settings, Apps and Connectors, Advanced settings), create a connector with the URL https://mcp.unique.domains/mcp and no authentication.

Any other client

Streamable HTTP at https://mcp.unique.domains/mcp, or stdio with npx -y @uniquedomains/mcp-server.

Free tools and a member key

Without a key, the server answers what the Unique Domains website shows anyone: a name's status and registry record, an ending's facts, registrar prices, market aggregates, trends and the agenda.

A member key adds the keyed tools of its plan, the Founder or the Investor plan. Create the key in Unique Domains under Settings, Account, API, then pass it to the server on your machine:

UD_API_KEY=ud_live_your_key npx -y @uniquedomains/mcp-server

The server reads the key's plan once at start and lists the tools that plan opens. The plans are described at unique.domains/api.

The hosted connector serves the free tools only and takes no key. Three free tools are on the npm server only (ud_get_market_sales_word, ud_get_word_market, ud_list_tld_prices): each answers one word or one ending a caller a day, and the hosted connector is one caller for all its users.

What an answer holds

  • structuredContent: the API's data, meta and links, as the tool's output schema describes them.
  • content: one line for a reader (the name and its headline fact, or the row count and the first names), then the same JSON as text.
  • links.details: the public Unique Domains page about the subject, when there is one (hosted connector).
  • A list answers 20 rows by default. When meta.cursor is set, pass it as cursor to read the next page.
  • A refusal is a sentence the assistant can act on: what was wrong, what is accepted, or when a limit resets.

The same data elsewhere

Tools

56 tools answer without a key (53 on the hosted connector); a member key adds 25 more, the Investor ones for an Investor key only.

ToolWhat it readsNeeds
ud_get_nameStored answer for one domain namefree
ud_batch_namesKeyed name resource for up to 100 names in one callInvestor key
ud_check_nameReads one name live from its registry and a registrarmember key
ud_get_name_pricesEvery stored registrar quote for one namemember key
ud_get_name_registryLatest stored registry record of one namefree
ud_get_name_registry_historyStored registry record versions of one name and what moved between themInvestor key
ud_get_name_dnsLatest stored DNS reading of one namefree
ud_list_name_changesChange events of one name, newest firstInvestor key
ud_get_name_historyWeb history of one name as our bandsInvestor key
ud_get_name_valueStored value estimate of one name and its last 20 estimatesmember key
ud_appraise_nameRuns the appraisal of one stored name when its estimate is missingInvestor key
ud_get_name_compsSimilar-sales aggregate of one name and the endings its word sold onfree
ud_get_name_auctionOpen auction of one name, if anyfree
ud_resolve_wordTurns what a caller typed into the catalog word it namesfree
ud_list_word_categoriesCatalog's word categories, by namefree
ud_batch_wordsUp to 100 word profiles in one callInvestor key
ud_list_wordsSearches the catalog's words by text and facetsmember key
ud_get_wordA word's profilemember key
ud_get_word_endingsA word's endings as the nightly update holds themfree
ud_list_word_namesA word's catalog names on the endings that sell, by namemember key
ud_get_word_trademarksA word's trademark counts and its exact-match marksInvestor key
ud_get_word_notabilityA word's Wikipedia and Wikidata factsfree
ud_get_word_marketA word's sales and auction aggregates from the nightly updatefree, npm only
ud_list_related_wordsA word's synonyms then related wordsInvestor key
ud_list_word_fitsHow well the word fits each ending whose keywords list itInvestor key
ud_request_wordBrings a word into the catalogInvestor key
ud_get_word_requestState of a word requestInvestor key
ud_list_domainsOne-word catalog names under filtersfree
ud_get_domainOne catalog name, by name or idfree
ud_list_expiring_domainsCatalog names expiring or expired, by expiry dayInvestor key
ud_get_domain_dropsNames dropping on one dayfree
ud_list_domain_hacksDomain hacksfree
ud_list_domain_changesCatalog's change feed, newest firstInvestor key
ud_get_catalog_statsCatalog headline totals for the latest dayfree
ud_list_tldsEvery root TLD with its registry facts and launch phasesfree
ud_get_tldOne TLD in fullfree
ud_get_tld_statsEnding's latest market figuresfree
ud_list_tld_phasesEvery dated launch phase of the ending, chronologicalfree
ud_list_tld_changesEnding's public registry changes, newest firstfree
ud_list_tld_keywordsKeywords the catalog attaches to the ending, by typefree
ud_list_tld_applications2026 new gTLD round as ICANN publishes itfree
ud_list_tld_application_changesEvery recorded status or contention change of the roundfree
ud_get_tld_application_stringOne applied-for stringfree
ud_list_registrarsNine registrars whose daily price lists are comparedfree
ud_list_registrar_pricesA registrar's list prices, alphabetical by endingfree
ud_list_registrar_changesA registrar's confirmed list-price changes, newest firstfree
ud_get_registrar_footprintNames tracked under the registrar on the latest footprint daymember key
ud_list_tld_pricesEvery registrar's list price for one endingfree, npm only
ud_list_tld_price_historyChange-only price rows of one ending, newest firstInvestor key
ud_list_price_changesConfirmed registrar price changes across the ninefree
ud_list_price_trapsEndings whose cheapest first year renews at a trap pricefree
ud_list_cheapest_pricesCheapest registrar per ending for up to 100 endingsmember key
ud_list_venuesParking and marketplace venues with a profile and their rounded footprintfree
ud_get_venueOne venue's profile with its verified listing termsfree
ud_list_iana_registrarsIANA registrar list as the registry sync stores itfree
ud_get_iana_registrarOne IANA registrar by idfree
ud_get_market_salesDomain sales pulse as headline aggregatesfree
ud_list_market_sales_seriesOne sales series by day, week or month, oldest firstfree
ud_list_market_sales_endingsEach ending's 12-month and 30-day sales figuresfree
ud_get_market_sales_lengthsSales by label length for .com, .ai, .io and .cofree
ud_list_market_sales_moversUp to ten words whose sales moved over the last 30 daysfree
ud_get_market_sales_wordOne word's sales market over 12 monthsfree, npm only
ud_get_market_auctionsToday's domain auctions by venuefree
ud_list_market_auctions_sampleDay's fixed sample of up to 20 single-word names at auctionfree
ud_list_market_auction_venuesSeven auction venues with their verified rules and today's countsfree
ud_list_market_auction_outcomesConfirmed auction outcomes by venueInvestor key
ud_list_trendsEvery published trend with its latest edition figures and its first and last edition dayfree
ud_get_trendOne trendfree
ud_list_trend_categoriesTrend categories, the category filter of GET /trendsfree
ud_list_trend_poolAdmitted trend candidates the editions draw frommember key
ud_list_eventsIndustry events of one monthfree
ud_get_eventOne industry event with its organizerfree
ud_get_agendaWhole public agenda of one monthfree
ud_get_latest_editionLatest published daily edition of one pagefree
ud_get_editionOne dated published edition of one pagefree
ud_get_meta_enumsEvery enum the payloads use, read from the code catalogsfree
ud_get_meta_freshnessHow current the scanner's passes arefree
ud_list_meta_datasetsGitHub datasets and the API path serving the same rowsfree
ud_list_meta_trademark_classes45 Nice classes a trademark is filed underfree
ud_get_meta_providersRegistrar identities and the auction venue and parking service catalogsfree
ud_get_keyCalling key's own plan, allowances and monthmember key

Settings

VariableProfileWhat it does
UD_API_KEYlocalA member key: adds the keyed tools of its plan.
UD_MCP_PROFILEbothlocal (the default) or hosted.
UD_API_BASEbothAnother API base, for a local run of the API.
UD_CONNECTOR_SECREThostedThe connector's shared secret, sent as X-UD-Connector-Secret.
UD_WELLKNOWN_FILEShostedFiles served under /.well-known/, as a JSON object (see below).
PORThostedThe HTTP port, 8080 by default.

The hosted profile registers the free tools only, sends no Authorization header whatever UD_API_KEY holds, removes the register and product links from answers and adds links.details. Without a key (the hosted profile, or the npm server with no UD_API_KEY), the inputs only a key may send, such as sort or prefix, are not listed.

UD_WELLKNOWN_FILES maps a file name to its body (served as plain text) or to { "body": "...", "contentType": "..." }, so a directory's proof takes a variable change and no deploy:

{
  "openai-apps-challenge": "<the token from OpenAI's portal>",
  "mcp-registry-auth": "v=MCPv1; k=ed25519; p=<public key>",
  "glama.json": { "body": "{\"$schema\":\"https://glama.ai/mcp/schemas/connector.json\",\"claim\":\"<token>\"}", "contentType": "application/json" }
}

Run the hosted connector yourself

docker build -t uniquedomains-mcp-server .
docker run -p 8080:8080 uniquedomains-mcp-server

The image runs node dist/http.js with UD_MCP_PROFILE=hosted: POST /mcp (stateless Streamable HTTP, plain JSON answers), GET /healthz, and the well-known files. Every answer is Cache-Control: no-store, and /mcp allows any origin.

The same image speaks stdio when given the stdio entry, for catalogs that inspect a server that way:

docker run -i --rm -e UD_MCP_PROFILE=local uniquedomains-mcp-server dist/stdio.js

Development

npm ci
npm run build
npm test
npm run smoke
  • npm run generate rebuilds src/generated/tools.ts, openapi/v1.json and the tool list above from the API document that @uniquedomains/sdk ships; -- --check fails when they are out of date, -- --live compares the live document.
  • npm run smoke runs the MCP Inspector against both transports and a fixture API; -- --live uses the live API.
  • npm run plugin builds dist/chatgpt-plugin.zip and checks it against OpenAI's limits; it refuses while plugin/review.json holds placeholder texts (npm run plugin:test builds anyway, for CI).
  • The nightly contract workflow opens its pull request with the workflow token, which needs the repository setting "Allow GitHub Actions to create and approve pull requests" (Settings, Actions, General).

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.