Domain Search Mcp

io.github.dorukardahan由 GitHub 帳號 dorukardahan 發布v1.13.1更新於 Nov 3, 2026

Naming engine with availability intelligence: score names, check domains, socials and registries.

概覽

AI 產生的概覽

本機 MCP 命名引擎,為模型產生的候選名稱評分,並檢查網域、社群帳號與 npm 可用性。

可以做什麼
  • 產生並評分名稱:兩階段命名引擎,提供分線產生提示、反套路評分與候選排序
  • 檢查網域:單一名稱多後綴查詢、最多 100 個名稱的批次檢查、TLD 中繼資料與限制
  • 比較註冊商價格並辨識溢價或拍賣網域
  • 檢查社群平台與套件登錄中的使用者名稱可用性
  • 產生品牌化名稱建議、分析本機專案或 GitHub 儲存庫以提出命名,並挖掘即將到期或有投資價值的網域
  • 回報 AI 推論與服務健康狀態
適用情境
適合為專案、產品或品牌命名時,讓助理產生候選名稱、排序並確認哪些網域和帳號仍可註冊。也適用於批次篩選網域或在註冊前快速比較註冊商價格。
執行需求
透過 npx(Node.js)以 stdio 在本機執行,也可選擇以 HTTP/SSE 服務執行。可用性檢查不需金鑰。價格功能需要 PRICING_API_BASE_URL(可選 PRICING_API_TOKEN),或 Porkbun/Namecheap 金鑰;Namecheap 另需 IP 白名單。可選 Redis 與自建 Qwen 推論端點。需要網路存取。
安裝前請注意
可選密鑰包括 PORKBUN_API_KEY、PORKBUN_API_SECRET、NAMECHEAP_API_KEY、NAMECHEAP_API_USER 與 PRICING_API_TOKEN,請勿寫入共享設定。查詢會送往公開的 RDAP、GoDaddy、WHOIS、Sedo 與社群平台,若設定了價格後端或推論端點也會送往該處。評分為啟發式,可用性僅是單次快照;價格多為估算,購買前務必在註冊商處確認。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Domain Search Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Domain Search MCP

[npm] [downloads] [license] [node] [MCP Registry] [Glama] [Context7]

Naming engine with availability intelligence — an MCP server that scores the names your model generates and runs availability checks against domains, socials, and package registries. Works with zero configuration using public RDAP/WHOIS, and optionally enriches results with registrar pricing via a backend you control.

🆕 v1.12.0: name_project — a two-phase naming engine. Call it once to get generation instructions for your model, call it again with candidates[] to get anti-slop scoring, ranking, and live availability checks across domains, socials, and npm. See name_project below.

🆕 v1.10.0: GoDaddy public endpoint integration! Enhanced fallback chain (RDAP → GoDaddy → WHOIS) with premium/auction domain detection. Circuit breaker pattern ensures resilience.

🤖 v1.9.0+: AI-powered domain suggestions work out of the box! No API keys needed - suggest_domains_smart uses our public fine-tuned Qwen 7B-DPO model. Plus: Redis distributed caching and /metrics endpoint for observability.

Built on the Model Context Protocol for Claude, Codex, VS Code, Cursor, Cline, and other MCP-compatible clients.

Features

FeatureDescription
🔍 Multi-TLD SearchCheck one name across .com, .io, .dev, .ai and 500+ TLDs
📦 Bulk CheckValidate up to 100 domain names in a single call
💎 Premium DetectionIdentify premium and auction domains via GoDaddy
🤖 AI SuggestionsGenerate brandable names with fine-tuned Qwen 7B-DPO
💰 Price ComparisonCompare pricing across Porkbun, Namecheap
🌐 Social Handle CheckVerify username availability on GitHub, Twitter, etc.
🔌 Dual TransportWorks via stdio (Claude) or HTTP/SSE (ChatGPT Actions)
⚡ Zero ConfigWorks instantly - no API keys required for availability

What It Does

  • Check a single name across multiple TLDs.
  • Bulk-check up to 100 names for one TLD.
  • Compare registrar pricing (uses backend when configured).
  • Suggest names and validate social handles.
  • Detect premium/auction signals for search_domain.

How It Works

Availability and pricing are intentionally separated:

Availability Chain (zero-config):┌─────────┐     ┌─────────┐     ┌─────────┐│  RDAP   │ ──► │ GoDaddy │ ──► │  WHOIS  ││ (fast)  │     │(premium)│     │(fallback│└─────────┘     └─────────┘     └─────────┘
  • Availability (default, no keys needed):
    • RDAP: Primary source - fast, unlimited, public registry data
    • GoDaddy: Secondary - adds premium/auction detection (30 req/min, circuit breaker protected)
    • WHOIS: Last resort fallback for edge cases
  • Pricing (optional):
    • Recommended: PRICING_API_BASE_URL (backend with Porkbun keys)
    • Optional BYOK: Porkbun/Namecheap only when backend is not configured

This keeps the server zero-config while letting power users enable pricing.

Pricing Verification

Responses include price_check_url (registrar checkout/search link) and may include price_note when a price is estimated. Always verify the final price on the registrar checkout page before purchase.

If an auction/premium signal is detected, results include an aftermarket block with links to marketplace pages when available. Taken domains may include Sedo auction hints (public feed) and nameserver-based marketplace hints (Sedo/Dan/Afternic).

Quick Start

Option 1: npx (Recommended)

No installation needed - run directly:

bash
npx -y domain-search-mcp@latest

Option 2: From Source

bash
git clone https://github.com/dorukardahan/domain-search-mcp.gitcd domain-search-mcpnpm installnpm run buildnpm start

Transport Options

stdio (Default)

For MCP clients like Claude Desktop, Cursor, VS Code - uses stdin/stdout:

bash
npx -y domain-search-mcp@latest

HTTP/SSE (ChatGPT, Web Clients, LM Studio)

For ChatGPT Actions, web apps, and REST API clients:

bash
# Start HTTP server on port 3000npx -y domain-search-mcp@latest --http
# Or with custom portMCP_PORT=8080 npx -y domain-search-mcp@latest --http

Endpoints:

  • /mcp - MCP protocol (POST for messages, GET for SSE stream)
  • /api/tools/* - REST API for each tool (ChatGPT Actions compatible)
  • /openapi.json - OpenAPI 3.1 specification
  • /health - Health check
  • /metrics - Prometheus-compatible metrics (cache stats, request counts, AI inference health)

ChatGPT Custom GPT Integration

  1. Start the HTTP server (see above)
  2. Expose via ngrok: ngrok http 3000
  3. In ChatGPT, create a Custom GPT and add an Action
  4. Import the OpenAPI spec from https://your-ngrok-url.ngrok-free.dev/openapi.json
  5. Test the tools!

For production deployment, use a permanent domain with SSL instead of ngrok.

REST API Example:

bash
curl -X POST https://your-domain/api/tools/search_domain \  -H "Content-Type: application/json" \  -d '{"domain_name":"vibecoding"}'

MCP Client Config

Claude Code (.mcp.json in project root):

json
{  "mcpServers": {    "domain-search": {      "type": "stdio",      "command": "npx",      "args": ["-y", "domain-search-mcp@latest"]    }  }}

Claude Desktop (claude_desktop_config.json):

json
{  "mcpServers": {    "domain-search": {      "command": "npx",      "args": ["-y", "domain-search-mcp@latest"]    }  }}

💡 Tip: Always use @latest to ensure you're running the newest version with all features.

Tools

All 12 tools listed below are exposed to MCP clients by default. The 6-tool slim profile (name_project, search_domain, bulk_search, check_socials, tld_info, ai_health) is opt-in — set SLIM_TOOLS=true if you want a sharper tool-selection surface for simpler client integrations (see Environment Variables). A future 2.0 release may flip the default to slim.

ADVANCED_TOOLS=true is a deprecated alias that forces the full surface and overrides SLIM_TOOLS; it's a harmless no-op today since full is already the default.

name_project

Flagship two-phase naming engine. Call it once to get lane-by-lane generation instructions for your model; call it again with candidates[] to get anti-slop scoring, ranking, and live availability checks across domains, socials, and npm.

  • Modes: brief (describe what you're naming), auto (analyze the current workspace), from_name (find domains/variants for a name you already like), from_domain (fit a project/brand to a domain you found).
  • Phase 1 (no candidates): returns generation instructions + lane prompts.
  • Phase 2 (candidates present): scores + ranks candidates, then checks availability for the top 12 against targets.tlds / targets.platforms — omit targets for pure naming with no availability calls.

Scores are heuristic rankings for comparing candidates against each other — not objective, universal brandability truth. Availability results reflect a single source checked at one moment in time; re-verify before you register or rely on anything.

Phase 1 — call with no candidates:

json
{"mode": "brief", "brief": "an MCP naming engine"}
Brief: an MCP naming engine
Now generate between 30 and 50 name candidates spread across these lanes:- [evocative] Real words borrowed for their feeling, not their meaning (like Slack, Notion, Bolt). Single dictionary words preferred.- [invented] Coined words that do not exist but sound like they could (like Zapier, Klarna). Must be pronounceable on first read.- [compound] Two short real words fused (like Facebook, Snapchat). Both halves must stay readable; no glue letters.- [premium] Short, expensive-feeling names: 4-7 letters, strong single or double syllable (like Stripe, Vercel, Arc).
Rules: single words or tight compounds, no taglines, no explanations yet. Then call name_project again with the SAME arguments plus candidates:[...] to get scoring and availability.

Phase 2 — resubmit the same arguments plus candidates:

json
{"mode": "brief", "brief": "an MCP naming engine", "candidates": ["Nexify", "Corda"]}
| Name | Score | Verdict | Badges | Why || --- | --- | --- | --- | --- || Corda | 97 strong | - | - | no AI-slop patterns; clean pronunciation and typing || Nexify | 60 middling | - | - | slop: overused prefix "nex-"; slop: overused suffix "-ify" |2 candidates received, 2 passed constraints, top 2 returned.No availability-check targets - pure naming mode.

Badges: tld✓ free to register, tld$ for sale (aftermarket/premium - registered or priced, not free to register), tld✗ taken, tld? unknown. ccTLD checks (.ai / .io / .sh / .ac) are cross-checked against native WHOIS/DNS ground truth, not taken on RDAP's word alone.

See docs/API.md for the full parameter/response schema.

Core Search

  • search_domain: Check a name across multiple TLDs, adds premium/auction signals.
  • bulk_search: Check up to 100 names for a single TLD.
  • compare_registrars: Compare pricing across registrars (backend when configured).

AI-Powered Suggestions

  • suggest_domains: Generate variations (prefix/suffix/hyphen).
  • suggest_domains_smart: 🤖 AI-powered brandable name generation using fine-tuned Qwen 7B-DPO. Zero-config - works instantly!
  • analyze_project: Scan local project or GitHub repo to extract context and suggest matching domain names.

Domain Investment

  • hunt_domains: Find valuable domains for investment - scans Sedo auctions, generates patterns, calculates investment scores.
  • expiring_domains: Monitor domains approaching expiration (requires federated negative cache).

Utilities

  • tld_info: TLD metadata and restrictions.
  • check_socials: Username availability across platforms.
  • ai_health: Check status of AI inference services (VPS Qwen, circuit breakers, adaptive concurrency).

Configuration

Pricing Backend (Recommended)

Set a backend URL that owns registrar keys (Porkbun). The MCP will call /api/quote and /api/compare on that backend for pricing.

bash
PRICING_API_BASE_URL=https://your-backend.example.comPRICING_API_TOKEN=optional_bearer_token

Optional BYOK (Local)

Used only if PRICING_API_BASE_URL is not set.

bash
PORKBUN_API_KEY=pk1_your_api_keyPORKBUN_API_SECRET=sk1_your_secretNAMECHEAP_API_KEY=your_api_keyNAMECHEAP_API_USER=your_usernameNAMECHEAP_CLIENT_IP=your_whitelisted_ip

Redis Distributed Cache (Optional)

For horizontal scaling across multiple MCP instances, configure Redis:

bash
REDIS_URL=redis://:password@host:6379

Without Redis, the server uses in-memory caching (works fine for single instances). Redis enables:

  • Shared cache across multiple server instances
  • Persistent cache surviving restarts
  • Better cache hit rates in load-balanced deployments

AI Inference (bring your own endpoint)

AI-powered suggestions (suggest_domains_smart) use your own inference endpoint when configured. Point QWEN_INFERENCE_ENDPOINT at a llama.cpp/Qwen server you control. If it is unset, suggestions fall back to the built-in offline semantic engine (no external calls, no API keys needed).

bash
# Public hosts must use HTTPS; loopback/private hosts may use HTTP.QWEN_INFERENCE_ENDPOINT=http://127.0.0.1:8070QWEN_API_KEY=optional_if_secured

Environment Variables

VariableDefaultDescription
MCP_TRANSPORTstdioTransport mode: stdio or http
MCP_PORT3000HTTP server port (when using HTTP transport)
MCP_HOST0.0.0.0HTTP server bind address
CORS_ORIGINS*Allowed CORS origins (comma-separated)
PRICING_API_BASE_URL-Pricing backend base URL
PRICING_API_TOKEN-Optional bearer token
PRICING_API_TIMEOUT_MS2500Backend request timeout
PRICING_API_MAX_QUOTES_SEARCH0Max pricing calls per search (0 = unlimited; backend rate limits apply)
PRICING_API_MAX_QUOTES_BULK0Max pricing calls per bulk search (0 = unlimited; backend rate limits apply)
PRICING_API_CONCURRENCY4Pricing request concurrency
PORKBUN_API_KEY-Porkbun API key
PORKBUN_API_SECRET-Porkbun API secret
NAMECHEAP_API_KEY-Namecheap API key
NAMECHEAP_API_USER-Namecheap username
NAMECHEAP_CLIENT_IP-Namecheap IP whitelist
OUTPUT_FORMATtabletable, json, or both for tool output formatting
LOG_LEVELinfoLogging level
CACHE_TTL_AVAILABILITY60Availability cache TTL (seconds)
CACHE_TTL_PRICING3600Pricing cache TTL (seconds)
CACHE_TTL_SEDO3600Sedo auctions feed cache TTL (seconds)
CACHE_TTL_AFTERMARKET_NS300Nameserver lookup cache TTL (seconds)
SEDO_FEED_ENABLEDtrueEnable Sedo feed lookup for aftermarket hints
SEDO_FEED_URLhttps://sedo.com/txt/auctions_us.txtSedo public feed URL
AFTERMARKET_NS_ENABLEDtrueEnable nameserver-based aftermarket hints
AFTERMARKET_NS_TIMEOUT_MS1500Nameserver lookup timeout (ms)
REDIS_URL-Redis connection URL for distributed caching (e.g., redis://:password@host:6379)
QWEN_INFERENCE_ENDPOINT(none)Your own AI inference endpoint for suggest_domains_smart (offline semantic fallback if unset)
QWEN_TIMEOUT_MS15000AI inference request timeout
QWEN_MAX_RETRIES2Retry count for AI inference failures
SLIM_TOOLSfalseSet true to opt into the slim 6-tool surface instead of the full 12-tool default
ADVANCED_TOOLSfalseDeprecated alias for the pre-SLIM_TOOLS flag. Set true to force the full 12-tool surface and override SLIM_TOOLS; no-op since full is already the default

Output Format

Tool responses are returned as Markdown tables by default. If you need raw JSON for programmatic use, set:

bash
OUTPUT_FORMAT=json

Data Sources

SourcePosition in ChainUsageAPI Keys
RDAP1st (Primary)Fast availability checkNot needed
GoDaddy2nd (Fallback)Premium/auction detectionNot needed
WHOIS3rd (Last resort)Legacy availabilityNot needed
Pricing APIParallelLive pricing via backendBackend token
Porkbun APIParallel (BYOK)Availability + pricingAPI key + secret
Namecheap APIParallel (BYOK)Availability + pricingAPI key + IP whitelist
Sedo FeedEnrichmentAftermarket auction hintsNot needed

Pricing Behavior

  • Live price is attempted first for every available domain.
  • If live quotes fail or are rate-limited, the result falls back to the catalog estimate and includes price_note.
  • Always verify pricing via price_check_url before purchase.

Examples

Basic Search (No API Keys)

search_domain("myproject", ["com", "io", "dev"])
┌─────────────────┬───────────┬─────────┬────────┐│ Domain          │ Available │ Premium │ Source │├─────────────────┼───────────┼─────────┼────────┤│ myproject.com   │ ✅        │ No      │ rdap   ││ myproject.io    │ ❌        │ -       │ rdap   ││ myproject.dev   │ ✅        │ Yes     │ godaddy│└─────────────────┴───────────┴─────────┴────────┘

AI-Powered Suggestions

suggest_domains_smart("coffee shop in seattle", { style: "brandable" })
→ seattlebrew.com, pugetperk.io, raincitycoffee.co, cascadiacafe.com

Bulk Check

bulk_search(["startup", "launch", "begin", "init"], "io")
→ Checks startup.io, launch.io, begin.io, init.io in parallel

Development

bash
npm run dev       # watch modenpm test          # run Jestnpm run build     # compile to dist/

Release

See docs/RELEASE.md for the tag-triggered release flow. Version tags trigger the GitHub Release, npm trusted publishing with provenance, and MCP Registry publication through GitHub Actions.

Changelog

See CHANGELOG.md for release history.

Security Notes

  • Do not commit API keys or .mcpregistry_* files.
  • Without PRICING_API_BASE_URL (or BYOK keys), pricing is not available (availability still works).

Upgrading

For npx Users

If you use npx domain-search-mcp (without @latest), npx may cache an old version.

Fix: Update your MCP config to use @latest:

json
"args": ["-y", "domain-search-mcp@latest"]

Or clear the npx cache manually:

bash
npx clear-npx-cache  # then restart your MCP client

For Source/Git Users

bash
cd domain-search-mcpgit pull origin mainnpm installnpm run build

Staying Updated

Architecture

For detailed system architecture diagrams, see docs/ARCHITECTURE.md:

  • Transport layer (stdio vs HTTP/SSE)
  • Tool execution flow
  • Data source waterfall (RDAP → Pricing API → WHOIS)
  • VPS deployment architecture
  • AI suggestion flow
  • MCP session lifecycle

Why This Tool?

ProblemSolution
Domain APIs require signup/keysRDAP + GoDaddy = zero-config availability
Premium domains show as "available"GoDaddy detects premium/auction status
Hard to check multiple TLDsSingle call checks .com, .io, .dev, etc.
No AI integration for namingBuilt-in Qwen 7B for brandable suggestions
Only works with ClaudeHTTP transport supports ChatGPT, LM Studio

FAQ

Q: Does this work without any API keys? A: Yes! Availability checking uses public RDAP and GoDaddy endpoints. Only pricing requires API keys.

Q: Which MCP clients are supported? A: Claude Desktop, Claude Code, VS Code, Cursor, Cline (stdio), and ChatGPT, LM Studio (HTTP/SSE).

Q: How accurate is premium domain detection? A: GoDaddy's public endpoint detects most premium and auction domains. Always verify on registrar checkout.

Q: Can I self-host the AI suggestions? A: Yes! Set QWEN_INFERENCE_ENDPOINT to your llama.cpp server running the fine-tuned model.

Links

Documentation

來源:README.md,提交 d014d21

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.13.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分