check_name
Check brand-name availability across domains + namespaces
Check whether one or more candidate names are free to use as a brand — across domains and the GitHub / npm / PyPI namespaces — in a single call.
tldsnames必填surfaces
io.github.Sra1Phani由 GitHub 帳號 Sra1Phani 發布v0.1.0更新於 Oct 24, 2026
Check if a brand name is free across domains, GitHub, npm and PyPI, and suggest available names.
發布方自己的服務:Finder Jobs
檢查候選品牌名稱在網域、GitHub、npm 與 PyPI 上是否可用,並產生依評分排序的名稱建議。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/io.github.Sra1Phani%2Fdomain-finder/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。把它新增到你客戶端的 mcpServers 設定中。
{
"mcpServers": {
"domain-finder": {
"type": "http",
"url": "https://domain-finder-theta.vercel.app/api/mcp"
}
}
}Search and recommend good domain names to buy. Describe a product or idea; the app brainstorms brandable names (AI + rule-based combos), checks real availability via RDAP, and returns a ranked list of buy candidates.
Source-available under the Elastic License 2.0 (SPDX-License-Identifier: Elastic-2.0) — see License.
Domain Finder is also a remote MCP server — check a brand name across domains and the GitHub / npm / PyPI namespaces from any MCP-capable agent.
https://domain-finder-theta.vercel.app/api/mcp (Streamable HTTP)check_name — check whether one or more candidate names are free across
domains and the GitHub / npm / PyPI namespaces, in a single call.generate_names — generate candidate names from a description, each
pre-checked for domain availability; feed the favorites into check_name.Cursor (~/.cursor/mcp.json) and any client with native Streamable-HTTP
support:
Claude Desktop (claude_desktop_config.json) — bridge a remote server with
mcp-remote:
Generation (lib/generate.ts) — merges three sources of candidates:
get, try, -ly, -hq, -app, …), shorter-first.generateObject
lib/hacks.ts): read the word across the dot —
delicio.us, bit.ly, recip.es. Built from IANA's full TLD list; needs
no API. These ignore the TLD filter by design (the word picks the zone), so
they have their own toggle..com before any gets a second TLD).Availability (lib/availability.ts) — RDAP behind a swappable
AvailabilityProvider interface. Resolves each TLD to its authoritative
registry RDAP server via the IANA bootstrap file (+ curated overrides), then
queries the registry directly. Retries on 429.
Status taxonomy (lib/rdap-status.ts) — "taken" isn't one thing. Modelled
on Domainr's taxonomy, each domain
gets a status and a coarse bucket:
All derived free from RDAP's RFC 8056 status codes, expiration event, and
nameservers. deleting domains also get an estimatedDropAt (pendingDelete
is a fixed ~5-day window).
Ranking (lib/rank.ts) — a 0–100 score from availability (45), TLD
desirability (20), length (20), cleanliness/no-hyphens-or-digits (10), and a
brandability nudge (5, hack > AI > combo). Sorted by bucket first, then
score — so "buy it now" always outranks "might be gettable".
Swapping RDAP for a paid registrar API later (pricing + real buy flow) only
touches lib/availability.ts — nothing else in the pipeline knows the source.
Track a domain, get emailed when it enters the drop path, hand off to a
backorder service. This is a scheduler around availabilityProvider.check(),
not new availability logic.
lib/cadence.ts) — every domain carries a
next_check_at; the poller only touches what's due. Cadence follows status:
far-off active weekly → expiry <30d or redemption daily → pendingDelete
every 6h → hourly inside 24h of the estimated drop. RDAP load stays
proportional to how interesting a domain is, not how many watches exist.lib/db/schema.ts). A hundred
people watching the same short .com is one row, one RDAP call, one
transition, fanned out to a hundred inboxes. Load scales with unique domains
observed, not users × domains — which matters because registries don't sell
capacity.watch_events) is the source of truth. Alerts fire only
on a change, and alerts has unique(watch_id, event_id) so a cron retry
can't double-send.deleting (pendingDelete — the fixed ~5-day
window, i.e. the last moment a backorder can be placed) and available.
Everything else is logged and shown in the UI but stays silent.unknown is not a transition. A 429 or timeout means "we couldn't
tell", not "the domain changed" — the last known status stands, and the check
backs off exponentially (1h, 2h, 4h … capped at a day)..co/.es/.at/.gg
have no public RDAP server, so a watch on them could never fire. Better to say
so than to accept it and silently never alert.FREE_WATCH_LIMIT in lib/watch.ts).Identity is an email plus an unguessable manage token — no accounts, no
sessions, no users table. The token rides in alert links and authenticates
/watch/<token>.
Without RESEND_API_KEY alerts are printed to the console rather than sent,
so the whole flow is drivable with no third-party signup. Trigger a poll by hand:
.github/workflows/poll.yml hits /api/cron/poll hourly. Vercel's Hobby cron
only fires once per day, which can burn most of a ~5-day pendingDelete
warning, so the schedule lives in GitHub Actions instead. Set the POLL_URL and
CRON_SECRET repository secrets. GHA cron is best-effort and can lag a few
minutes — fine for a multi-day warning, and nothing here depends on being
punctual.
lib/rdap-status.test.ts and lib/cadence.test.ts are pure. lib/poll.test.ts
drives the real database with a fake availability provider — pendingDelete
and redemptionPeriod are too rare in the wild to find on demand, and they're
exactly what this feature exists to catch. It skips when DATABASE_URL is unset.
Search works with no configuration — availability (RDAP) and rule-based
generation need no keys. To enable AI brainstorming, copy .env.example to
.env.local and set an AI Gateway key:
The watchlist is the only part that needs a database; search keeps working
without one (getDb() is lazy and only throws when a watch route calls it).
See Watchlist above.
POST /api/search
OVERRIDES (lib/availability.ts): .io/.me/.sh/.ac,
.de, .us. No reachable endpoint was found for .co/.es/.at/.gg, so
those report unknown rather than guess. Add more if you find them.parked proves nothing. Real aftermarket data needs a paid source.backorderUrl() points at DropCatch for dropping domains.
Swapping in affiliate links is a one-line change in app/page.tsx.Source-available under the Elastic License 2.0 (SPDX-License-Identifier: Elastic-2.0). You may inspect, self-host, and modify the code freely. What
you may not do is provide it to third parties as a hosted or managed
service that exposes a substantial set of its features — i.e. running it as a
competing hosted service is not permitted. Full terms in LICENSE.
來源:README.md,提交 12f9911
Check brand-name availability across domains + namespaces
Check whether one or more candidate names are free to use as a brand — across domains and the GitHub / npm / PyPI namespaces — in a single call.
tldsnames必填surfacesGenerate candidate names, pre-checked for domain availability
Generate candidate names from a description, each pre-checked for domain availability. Then call check_name on the favorites for the full cross-namespace picture.
countuseHacksdescription必填已滿足適用檢查項的 90%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
請在儲存庫或註冊中心條目中宣告授權條款。
work.finder官方發布者
即時職位空缺與薪資統計:俄羅斯、白俄羅斯、哈薩克、德國、法國等。AI 翻譯

com.mambabuilt
透過 Apify 服務,依公司名稱從海關提單紀錄中查找美國進口商及其海外供應商。

由 GitHub 帳號 gdangalov 發布
一個遠端 MCP 伺服器,協助助理依格式、JavaScript、驗證與價格等條件尋找有文件的網頁擷取服務,並記錄最後選用的服務。

由 GitHub 帳號 Nero-Engine 發布
由 Apify 託管的遠端 MCP 伺服器,依你的 CPV 代碼與關鍵字為 TED 上的歐盟公開招標評分媒合,並提供歷屆得標者與價格。

由 GitHub 帳號 theluckystrike 發布
通過證書透明度(certspotter、crt.sh)進行被動子網域列舉,並進行DNS檢查。AI 翻譯
{ "mcpServers": { "domain-finder": { "type": "streamable-http", "url": "https://domain-finder-theta.vercel.app/api/mcp" } }}{ "mcpServers": { "domain-finder": { "command": "npx", "args": ["-y", "mcp-remote", "https://domain-finder-theta.vercel.app/api/mcp"] } }}query ─▶ generate ─▶ check availability ─▶ rank ─▶ results (AI + rules) (RDAP) (0–100 score)cron ─▶ due-queue ─▶ check ─▶ transition? ─▶ alert (deleting | available) (next_check_at) (watch_events) deduped via `alerts`# any Postgres will dodocker run -d --name df-pg -e POSTGRES_PASSWORD=domainfinder \ -e POSTGRES_USER=domainfinder -e POSTGRES_DB=domainfinder \ -p 5433:5432 postgres:16-alpine
cp .env.example .env.local # set DATABASE_URL + CRON_SECRETnpm run db:push # create the tablesnpm run devcurl -H "authorization: Bearer $CRON_SECRET" localhost:3000/api/cron/pollnpm testnpm installnpm run dev # http://localhost:3000cp .env.example .env.local# then set AI_GATEWAY_API_KEY=...// request{ "query": "vegan meal delivery", "tlds": [".com", ".io"], "useAi": true }
// response{ "query": "...", "results": [ { "domain": "...", "score": 92, "availability": {...}, ... } ], "meta": { "generated": 45, "checked": 45, "aiUsed": false, "availabilityProvider": "rdap", "tookMs": 1200 } }