关于 Domain Search Mcp
Domain Search MCP 是一个域名与社交账号可用性检查服务,面向需要为项目命名的开发者和团队。它可在无需配置的情况下通过 RDAP 和 WHOIS 查询域名,并可选择接入注册商定价后端。服务还包含对候选名称的启发式评分与排序。
主要功能
- 01多 TLD 域名可用性检查
- 02批量检查最多 100 个名称
- 03溢价与拍卖域名信号检测
- 04注册商价格比较(可选后端)
- 0510 个平台的社交账号检查
- 06name_project 两阶段命名引擎
适用场景
- 01为新项目筛选可注册的域名与 TLD 组合
- 02批量验证候选名称的域名与社交账号占用情况
- 03比较不同注册商对同一域名的报价
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露域名搜索、批量检查、社交账号检查及命名相关的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y domain-search-mcpPRICING_API_BASE_URLPricing backend base URL (recommended)PRICING_API_TOKEN密钥Optional bearer token for pricing backendPORKBUN_API_KEY密钥Porkbun API key (BYOK, used only if PRICING_API_BASE_URL is not set)PORKBUN_API_SECRET密钥Porkbun API secret (required with PORKBUN_API_KEY)NAMECHEAP_API_KEY密钥Namecheap API key (BYOK, used only if PRICING_API_BASE_URL is not set)NAMECHEAP_API_USERNamecheap API username (required with NAMECHEAP_API_KEY)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
7收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| domain_name | string | 是 | 要搜索的域名(例如,'vibecoding')。无需添加扩展名。 |
| registrars | array | 否 | 可选:要检查的特定注册商。留空则自动选择。 |
| tlds | array | 否 | 要检查的 TLD 扩展名(例如,['com', 'io', 'dev'])。默认值为 ['com', 'io', 'dev']。 |
详细介绍
Domain Search MCP
具备可用性智能的命名引擎 — 一个 MCP 服务,可为模型生成的名称评分,并检查它们在域名、社交平台和软件包注册表上的可用性。使用公开的 RDAP/WHOIS 数据,无需任何配置即可运行;也可通过你控制的后端补充注册商价格信息。
🆕 v1.12.0:name_project — 两阶段命名引擎。调用一次即可获取供模型使用的生成指令;再次调用并传入 candidates[],即可进行反套路评分、排名,并实时检查域名、社交平台和 npm 上的可用性。请参阅下文的 name_project。
🆕 v1.10.0:集成 GoDaddy 公共端点!增强的回退链(RDAP → GoDaddy → WHOIS)可检测溢价域名和拍卖域名。断路器模式确保服务弹性。
🤖 v1.9.0+:AI 驱动的域名建议开箱即用!无需 API 密钥——suggest_domains_smart 使用我们的公开微调 Qwen 7B-DPO 模型。此外还支持 Redis 分布式缓存和 /metrics 可观测性端点。
基于 Model Context Protocol 构建,可供 Claude、Codex、VS Code、Cursor、Cline 及其他兼容 MCP 的客户端使用。
功能
| 功能 | 描述 |
|---|---|
| 🔍 多 TLD 搜索 | 在 .com、.io、.dev、.ai 和 500 多种 TLD 中检查一个名称 |
| 📦 批量检查 | 单次调用最多验证 100 个域名 |
| 💎 溢价检测 | 通过 GoDaddy 识别溢价域名和拍卖域名 |
| 🤖 AI 建议 | 使用微调的 Qwen 7B-DPO 生成适合打造品牌的名称 |
| 💰 价格比较 | 比较 Porkbun、Namecheap 的价格 |
| 🌐 社交账号检查 | 验证 GitHub、Twitter 等平台上的用户名是否可用 |
| 🔌 双传输方式 | 支持通过 stdio(Claude)或 HTTP/SSE(ChatGPT Actions)运行 |
| ⚡ 零配置 | 即刻运行——检查可用性无需 API 密钥 |
功能介绍
- 检查一个名称在多个 TLD 上的可用性。
- 批量检查一个 TLD 下最多 100 个名称。
- 比较注册商价格(配置后使用后端)。
- 建议名称并验证社交账号是否可用。
- 为
search_domain检测溢价/拍卖信号。
工作原理
可用性检查与价格查询特意分开:
Availability Chain (zero-config):
┌─────────┐ ┌─────────┐ ┌─────────┐
│ RDAP │ ──► │ GoDaddy │ ──► │ WHOIS │
│ (fast) │ │(premium)│ │(fallback│
└─────────┘ └─────────┘ └─────────┘
- 可用性(默认,无需密钥):
- RDAP:主要数据源——快速、无限制、使用公开注册表数据
- GoDaddy:次要数据源——增加溢价/拍卖检测(30 次请求/分钟,并由断路器保护)
- WHOIS:最后的回退方案,用于处理边缘情况
- 价格(可选):
- 推荐:
PRICING_API_BASE_URL(配置了 Porkbun 密钥的后端) - 可选 BYOK:仅当未配置后端时使用 Porkbun/Namecheap
- 推荐:
这样既能让服务无需配置即可运行,也让高级用户可以启用价格查询。
价格核验
响应中包含 price_check_url(注册商结账/搜索链接);如果价格为估算值,还可能包含
price_note。购买前,请务必在注册商的结账页面核实最终价格。
如果检测到拍卖/溢价信号,结果中会包含 aftermarket 区块,并在可用时提供
交易市场页面链接。已被注册的域名可能包含 Sedo 拍卖提示(公开信息源)和基于名称服务器的交易市场提示(Sedo/Dan/Afternic)。
快速开始
选项 1:npx(推荐)
无需安装,直接运行:
npx -y domain-search-mcp@latest
选项 2:从源代码运行
git clone https://github.com/dorukardahan/domain-search-mcp.git
cd domain-search-mcp
npm install
npm run build
npm start
传输选项
stdio(默认)
适用于 Claude Desktop、Cursor、VS Code 等 MCP 客户端,使用标准输入/输出:
npx -y domain-search-mcp@latest
HTTP/SSE(ChatGPT、Web 客户端、LM Studio)
适用于 ChatGPT Actions、Web 应用和 REST API 客户端:
# Start HTTP server on port 3000
npx -y domain-search-mcp@latest --http
# Or with custom port
MCP_PORT=8080 npx -y domain-search-mcp@latest --http
端点:
/mcp- MCP 协议(POST 用于发送消息,GET 用于 SSE 流)/api/tools/*- 每个工具对应的 REST API(兼容 ChatGPT Actions)/openapi.json- OpenAPI 3.1 规范/health- 健康检查/metrics- 兼容 Prometheus 的指标(缓存统计、请求数、AI 推理健康状况)
ChatGPT 自定义 GPT 集成
- 启动 HTTP 服务(见上文)
- 通过 ngrok 暴露服务:
ngrok http 3000 - 在 ChatGPT 中创建自定义 GPT 并添加 Action
- 从
https://your-ngrok-url.ngrok-free.dev/openapi.json导入 OpenAPI 规范 - 测试这些工具!
生产环境部署时,请使用带 SSL 的永久域名,而非 ngrok。
REST API 示例:
curl -X POST https://your-domain/api/tools/search_domain \
-H "Content-Type: application/json" \
-d '{"domain_name":"vibecoding"}'
MCP 客户端配置
Claude Code(项目根目录中的 .mcp.json):
{
"mcpServers": {
"domain-search": {
"type": "stdio",
"command": "npx",
"args": ["-y", "domain-search-mcp@latest"]
}
}
}
Claude Desktop(claude_desktop_config.json):
{
"mcpServers": {
"domain-search": {
"command": "npx",
"args": ["-y", "domain-search-mcp@latest"]
}
}
}
💡 提示:始终使用
@latest,以确保运行的是包含所有功能的最新版本。
工具
默认情况下,下方列出的全部 12 个工具都会提供给 MCP 客户端。精简的 6 工具配置
(name_project、search_domain、bulk_search、check_socials、
tld_info、ai_health)需主动启用——如果希望为更简单的客户端集成提供
更精简的工具选择范围,请设置 SLIM_TOOLS=true(参见
环境变量)。未来的 2.0 版本可能会将默认配置改为精简模式。
ADVANCED_TOOLS=true 是一个已弃用的别名,会强制启用完整工具集并覆盖
SLIM_TOOLS;目前它不会产生实际影响,因为默认配置已经是完整工具集。
name_project
旗舰级双阶段命名引擎。 调用一次即可获取适用于你所用模型的分路线生成
说明;再次调用并传入 candidates[],即可获得反废话评分、排名,以及对域名、社交平台和 npm 的实时可用性检查。
- 模式:
brief(描述你要命名的对象)、auto(分析当前工作区)、from_name(为你已经喜欢的名称查找域名/变体)、from_domain(根据你找到的域名确定项目/品牌名称)。 - 阶段 1(不传入
candidates):返回生成说明和分路线提示词。 - 阶段 2(传入
candidates):为候选项评分并排名,然后检查排名前 12 项的可用性,检查范围由targets.tlds/targets.platforms指定——如果只需要命名、不需要进行可用性检查,则省略targets。
评分是启发式排名,用于比较候选项彼此之间的优劣, 并非客观、普适的品牌适用性标准。可用性结果反映的是某一时刻 对单一信息源的查询结果;注册之前或据此采取行动之前,请再次核实。
阶段 1 — 不传入 candidates:
{"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.
阶段 2 — 使用相同参数重新提交,并附上 candidates:
{"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.
标记:tld✓ 表示可注册,tld$ 表示待售(交易市场/溢价域名——已注册或有定价,不可免费注册),tld✗ 表示已被注册,tld? 表示未知。
ccTLD 检查(.ai / .io / .sh / .ac)会通过原生 WHOIS/DNS 真实数据交叉核验,不会仅采信 RDAP 的结果。
完整的参数/响应结构请参见 docs/API.md。
核心搜索
search_domain:跨多个 TLD 检查名称,并添加溢价/拍卖信号。bulk_search:针对单个 TLD 检查最多 100 个名称。compare_registrars:比较不同注册商的价格(配置后使用后端)。
AI 驱动的建议
suggest_domains:生成变体(前缀/后缀/连字符)。suggest_domains_smart:🤖 由 AI 驱动,使用微调后的 Qwen 7B-DPO 生成适合打造品牌的名称。零配置,即刻可用!analyze_project:扫描本地项目或 GitHub 仓库,提取上下文并推荐匹配的域名。
域名投资
hunt_domains:寻找有投资价值的域名——扫描 Sedo 拍卖、生成模式并计算投资评分。expiring_domains:监控即将到期的域名(需要联合负缓存)。
实用工具
tld_info:TLD 元数据和限制。check_socials:检查各个平台上的用户名是否可用。ai_health:检查 AI 推理服务的状态(VPS Qwen、断路器、自适应并发)。
配置
定价后端(推荐)
设置一个负责管理注册商密钥(Porkbun)的后端 URL。MCP 将调用该后端上的
/api/quote 和 /api/compare 获取价格。
PRICING_API_BASE_URL=https://your-backend.example.com
PRICING_API_TOKEN=optional_bearer_token
可选的自带密钥(本地)
仅当未设置 PRICING_API_BASE_URL 时使用。
- Porkbun 密钥:
- Namecheap 密钥(需要 IP 白名单):
PORKBUN_API_KEY=pk1_your_api_key
PORKBUN_API_SECRET=sk1_your_secret
NAMECHEAP_API_KEY=your_api_key
NAMECHEAP_API_USER=your_username
NAMECHEAP_CLIENT_IP=your_whitelisted_ip
Redis 分布式缓存(可选)
如需在多个 MCP 实例之间进行横向扩展,请配置 Redis:
REDIS_URL=redis://:password@host:6379
如果不使用 Redis,服务端将使用内存缓存(适用于单个实例)。Redis 可提供:
- 在多个服务端实例之间共享缓存
- 持久化缓存,重启后仍可保留
- 在负载均衡部署中提高缓存命中率
AI 推理(自带端点)
配置后,AI 驱动的建议(suggest_domains_smart)将使用你自己的推理端点。将 QWEN_INFERENCE_ENDPOINT 指向你管理的 llama.cpp/Qwen 服务。如果未设置,建议将回退到内置离线语义引擎(不进行外部调用,也无需 API 密钥)。
# Public hosts must use HTTPS; loopback/private hosts may use HTTP.
QWEN_INFERENCE_ENDPOINT=http://127.0.0.1:8070
QWEN_API_KEY=optional_if_secured
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
MCP_TRANSPORT | stdio | 传输模式:stdio 或 http |
MCP_PORT | 3000 | HTTP 服务端口(使用 HTTP 传输时) |
MCP_HOST | 0.0.0.0 | HTTP 服务绑定地址 |
CORS_ORIGINS | * | 允许的 CORS 来源(以逗号分隔) |
PRICING_API_BASE_URL | - | 定价后端基础 URL |
PRICING_API_TOKEN | - | 可选的 bearer token |
PRICING_API_TIMEOUT_MS | 2500 | 后端请求超时时间 |
PRICING_API_MAX_QUOTES_SEARCH | 0 | 每次搜索的最大定价调用次数(0 = 不限;受后端速率限制) |
PRICING_API_MAX_QUOTES_BULK | 0 | 每次批量搜索的最大定价调用次数(0 = 不限;受后端速率限制) |
PRICING_API_CONCURRENCY | 4 | 定价请求并发数 |
PORKBUN_API_KEY | - | Porkbun API 密钥 |
PORKBUN_API_SECRET | - | Porkbun API 密钥 |
NAMECHEAP_API_KEY | - | Namecheap API 密钥 |
NAMECHEAP_API_USER | - | Namecheap 用户名 |
NAMECHEAP_CLIENT_IP | - | Namecheap IP 白名单 |
OUTPUT_FORMAT | table | 工具输出格式:table、json 或 both |
LOG_LEVEL | info | 日志级别 |
CACHE_TTL_AVAILABILITY | 60 | 可用性缓存 TTL(秒) |
CACHE_TTL_PRICING | 3600 | 定价缓存 TTL(秒) |
CACHE_TTL_SEDO | 3600 | Sedo 拍卖信息源缓存 TTL(秒) |
CACHE_TTL_AFTERMARKET_NS | 300 | 名称服务器查询缓存 TTL(秒) |
SEDO_FEED_ENABLED | true | 启用 Sedo 信息源查询,以获取后市场提示 |
SEDO_FEED_URL | https://sedo.com/txt/auctions_us.txt | Sedo 公共信息源 URL |
AFTERMARKET_NS_ENABLED | true | 启用基于名称服务器的后市场提示 |
AFTERMARKET_NS_TIMEOUT_MS | 1500 | 名称服务器查询超时时间(毫秒) |
REDIS_URL | - | 用于分布式缓存的 Redis 连接 URL(例如:redis://:password@host:6379) |
QWEN_INFERENCE_ENDPOINT | (none) | 用于 suggest_domains_smart 的自有 AI 推理端点(未设置时使用离线语义回退) |
QWEN_TIMEOUT_MS | 15000 | AI 推理请求超时时间 |
QWEN_MAX_RETRIES | 2 | AI 推理失败时的重试次数 |
SLIM_TOOLS | false | 设置为 true,以选择使用精简的 6 个工具,而非默认的完整 12 个工具 |
ADVANCED_TOOLS | false | 已弃用,是 SLIM_TOOLS 标志推出前的别名。设置为 true 可强制启用完整的 12 个工具并覆盖 SLIM_TOOLS;由于完整模式已是默认设置,因此不会产生效果 |
输出格式
工具响应默认以 Markdown 表格形式返回。如需以编程方式使用原始 JSON,请设置:
OUTPUT_FORMAT=json
数据来源
| 来源 | 链路中的位置 | 用途 | API 密钥 |
|---|---|---|---|
| RDAP | 第 1 位(主要) | 快速检查可用性 | 不需要 |
| GoDaddy | 第 2 位(备用) | 检测溢价域名/拍卖 | 不需要 |
| WHOIS | 第 3 位(最后手段) | 传统可用性检查 | 不需要 |
| Pricing API | 并行 | 通过后端获取实时定价 | 后端令牌 |
| Porkbun API | 并行(BYOK) | 可用性 + 定价 | API 密钥 + 密钥 |
| Namecheap API | 并行(BYOK) | 可用性 + 定价 | API 密钥 + IP 白名单 |
| Sedo Feed | 补充信息 | 后市场拍卖提示 | 不需要 |
定价行为
- 对每个可用域名,都会优先尝试获取实时价格。
- 如果实时报价失败或受到速率限制,结果将回退到目录估价,并包含
price_note。 - 购买前请务必通过
price_check_url验证价格。
示例
基本搜索(无需 API 密钥)
search_domain("myproject", ["com", "io", "dev"])
┌─────────────────┬───────────┬─────────┬────────┐
│ Domain │ Available │ Premium │ Source │
├─────────────────┼───────────┼─────────┼────────┤
│ myproject.com │ ✅ │ No │ rdap │
│ myproject.io │ ❌ │ - │ rdap │
│ myproject.dev │ ✅ │ Yes │ godaddy│
└─────────────────┴───────────┴─────────┴────────┘
AI 驱动的建议
suggest_domains_smart("coffee shop in seattle", { style: "brandable" })
→ seattlebrew.com, pugetperk.io, raincitycoffee.co, cascadiacafe.com
批量检查
bulk_search(["startup", "launch", "begin", "init"], "io")
→ Checks startup.io, launch.io, begin.io, init.io in parallel
开发
npm run dev # watch mode
npm test # run Jest
npm run build # compile to dist/
发布
有关由标签触发的发布流程,请参阅 docs/RELEASE.md。版本标签会通过 GitHub Actions 触发 GitHub Release、带来源证明的 npm 可信发布,以及 MCP Registry 发布。
更新日志
有关发布历史,请参阅 CHANGELOG.md。
安全说明
- 不要提交 API 密钥或
.mcpregistry_*文件。 - 未设置
PRICING_API_BASE_URL(或 BYOK 密钥)时,无法获取价格(可用性检查仍可使用)。
升级
对于 npx 用户
如果你使用 npx domain-search-mcp(未指定 @latest),npx 可能会缓存旧版本。
修复方法:更新 MCP 配置,使用 @latest:
"args": ["-y", "domain-search-mcp@latest"]
或者手动清除 npx 缓存:
npx clear-npx-cache # then restart your MCP client
对于源码/Git 用户
cd domain-search-mcp
git pull origin main
npm install
npm run build
保持更新
- 关注仓库:在 GitHub 上点击“Watch” → “Releases only”,以接收新版本通知。
- 查看发行版:查看 GitHub Releases,了解更新日志和升级说明。
- npm 页面:npmjs.com/package/domain-search-mcp 显示最新版本。
架构
有关详细的系统架构图,请参阅 docs/ARCHITECTURE.md:
- 传输层(stdio 与 HTTP/SSE)
- 工具执行流程
- 数据源回退链(RDAP → Pricing API → WHOIS)
- VPS 部署架构
- AI 建议流程
- MCP 会话生命周期
为什么选择这个工具?
| 问题 | 解决方案 |
|---|---|
| 域名 API 需要注册/密钥 | RDAP + GoDaddy = 零配置可用性检查 |
| 高级域名显示为“可用” | GoDaddy 可检测高级域名/拍卖状态 |
| 难以检查多个 TLD | 一次调用即可检查 .com、.io、.dev 等 |
| 缺少用于命名的 AI 集成 | 内置 Qwen 7B,提供适合品牌使用的建议 |
| 只能与 Claude 配合使用 | HTTP 传输支持 ChatGPT、LM Studio |
常见问题
问:不使用任何 API 密钥也能运行吗?
答:可以!可用性检查使用公开的 RDAP 和 GoDaddy 端点。只有价格查询需要 API 密钥。
问:支持哪些 MCP 客户端?
答:Claude Desktop、Claude Code、VS Code、Cursor、Cline(stdio),以及 ChatGPT、LM Studio(HTTP/SSE)。
问:高级域名检测有多准确?
答:GoDaddy 的公开端点可以检测大多数高级域名和拍卖域名。请务必在注册商的结账页面进行确认。
问:我可以自托管 AI 建议功能吗?
答:可以!将 QWEN_INFERENCE_ENDPOINT 设置为运行微调模型的 llama.cpp 服务。
链接
- npm:npmjs.com/package/domain-search-mcp
- MCP Registry:registry.modelcontextprotocol.io
- Glama:glama.ai/mcp/servers/@dorukardahan/domain-search-mcp
- Context7:context7.com/dorukardahan/domain-search-mcp
文档
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。