返回 MCP 目录
public公开dns本地运行

domain-search-mcp

Domain Search MCP 是一个基于模型上下文协议的本地优先域名搜索工具,提供零配置的域名可用性检查、AI智能域名建议、注册商价格比较和域名投资分析功能。

article

README

🚀 Domain Search MCP

Domain Search MCP 为 MCP 客户端提供快速、以本地优先的域名可用性检查。它可以零配置使用公共 RDAP/WHOIS 进行查询,还可以通过你控制的后端获取注册商定价信息来丰富查询结果。

最新特性

  • v1.9.0+:现在开箱即用 AI 驱动的域名建议功能!无需 API 密钥 - suggest_domains_smart 使用我们公开的微调 Qwen 7B - DPO 模型。
  • 新增 Redis 分布式缓存、断路器和 /metrics 端点以实现可观测性。

本项目基于 Model Context Protocol 构建,适用于 Claude、Codex、VS Code、Cursor、Cline 等 MCP 兼容客户端。

🚀 快速开始

选项 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

✨ 主要特性

  • 多 TLD 单域名检查:可检查单个名称在多个顶级域名(TLD)中的可用性。
  • 单 TLD 批量检查:可批量检查多达 100 个名称在单个 TLD 中的可用性。
  • 注册商定价比较:(配置后端时可用)比较不同注册商的定价。
  • 域名建议与社交账号验证:建议域名并验证社交账号的可用性。
  • 高级信号检测:在 search_domain 中检测高级/拍卖信号。

📦 安装指南

选项 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

💻 使用示例

基础用法

# 无需 API 密钥的示例
search_domain("myproject", ["com", "io"])

myproject.com - available - price_first_year: null - source: rdap
myproject.io  - taken     - price_first_year: null - source: rdap

高级用法

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

📚 详细文档

传输选项

stdio(默认)

适用于 Claude Desktop、Cursor、VS Code 等 MCP 客户端,使用标准输入/输出:

npx -y domain-search-mcp@latest

HTTP/SSE(ChatGPT、Web 客户端、LM Studio)

适用于 ChatGPT Actions、Web 应用和 REST API 客户端:

# 在端口 3000 启动 HTTP 服务器
npx -y domain-search-mcp@latest --http

# 或使用自定义端口
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 集成

  1. 启动 HTTP 服务器(见上文)
  2. 通过 ngrok 暴露服务:ngrok http 3000
  3. 在 ChatGPT 中创建自定义 GPT 并添加操作
  4. https://your-ngrok-url.ngrok-free.dev/openapi.json 导入 OpenAPI 规范
  5. 测试工具!

工具列表

核心搜索工具

  • search_domain:检查单个名称在多个 TLD 中的可用性,并添加高级/拍卖信号。
  • bulk_search:检查多达 100 个名称在单个 TLD 中的可用性。
  • 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 密钥:
    • https://porkbun.com/account/api
    • https://porkbun.com/api/json/v3/documentation
  • Namecheap 密钥(需要 IP 白名单):
    • https://ap.www.namecheap.com/settings/tools/apiaccess/
    • https://www.namecheap.com/support/api/intro/
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 7B - DPO 的 VPS。无需 API 密钥! 对于自托管设置,覆盖端点:

QWEN_INFERENCE_ENDPOINT=http://your-server:8000
QWEN_API_KEY=optional_if_secured

环境变量

| 变量 | 默认值 | 描述 | |------|--------|------| | MCP_TRANSPORT | stdio | 传输模式:stdiohttp | | MCP_PORT | 3000 | HTTP 服务器端口(使用 HTTP 传输时) | | MCP_HOST | 0.0.0.0 | HTTP 服务器绑定地址 | | CORS_ORIGINS | * | 允许的 CORS 源(逗号分隔) | | PRICING_API_BASE_URL | - | 定价后端基础 URL | | PRICING_API_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 | 工具输出格式:tablejsonboth | | 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 | (公共 VPS) | 自托管设置时覆盖 AI 推理端点 | | QWEN_TIMEOUT_MS | 15000 | AI 推理请求超时时间 | | QWEN_MAX_RETRIES | 2 | AI 推理失败时的重试次数 |

输出格式

工具响应默认以 Markdown 表格 形式返回。如果你需要用于编程的原始 JSON 数据,请设置:

OUTPUT_FORMAT=json

数据来源

| 来源 | 用途 | 定价 | |------|------|------| | 定价 API | 定价 + 高级信息(Porkbun) | 是(后端) | | Porkbun API | 可用性 + 定价 | 是(需密钥) | | Namecheap API | 可用性 + 定价 | 是(需密钥) | | RDAP | 主要可用性检查 | 否 | | WHOIS | 备用可用性检查 | 否 | | GoDaddy 公共端点 | search_domain 的高级/拍卖信号 | 否 | | Sedo 公共源 | 二手市场拍卖提示 | 否 |

定价行为

  • 对于每个 可用 域名,首先尝试获取实时价格。
  • 如果实时报价失败或受到速率限制,结果将回退到目录估计值,并包含 price_note
  • 在购买前,始终通过 price_check_url 验证定价。

🔧 技术细节

工作原理

可用性和定价查询有意分开处理:

  • 可用性(默认)
    • 主要:RDAP
    • 备用:WHOIS
    • GoDaddy 公共端点仅用于在 search_domain 中添加高级/拍卖信号
  • 定价(可选)
    • 推荐:PRICING_API_BASE_URL(带有 Porkbun 密钥的后端)
    • 可选自带密钥:仅在未配置后端时支持 Porkbun/Namecheap

这样可以保持服务器零配置,同时允许高级用户启用定价功能。

定价验证

响应中包含 price_check_url(注册商结账/搜索链接),当价格为估计值时可能包含 price_note。在购买前,始终在注册商结账页面验证最终价格。

如果检测到拍卖/高级信号,结果将包含 aftermarket 块,其中包含可用的市场页面链接。已占用的域名可能包含 Sedo 拍卖提示(公共源)和基于名称服务器的市场提示(Sedo/Dan/Afternic)。

📄 许可证

本项目许可证信息请查看 license

开发与发布

开发

npm run dev       # 监听模式
npm test          # 运行 Jest 测试
npm run build     # 编译到 dist/

发布

发布流程请参考 docs/RELEASE.md。像 v1.2.24 这样的标签会通过 CI 触发 GitHub Releases 和 npm 发布。

更新日志

发布历史请查看 CHANGELOG.md

安全注意事项

  • 不要提交 API 密钥或 .mcpregistry_* 文件。
  • 未设置 PRICING_API_BASE_URL(或自带密钥)时,无法获取定价信息(可用性检查仍可正常工作)。

升级指南

npx 用户

如果你使用 npx domain-search-mcp(未使用 @latest),npx 可能会缓存旧版本。 解决方法:更新 MCP 配置以使用 @latest

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

或者手动清除 npx 缓存:

npx clear-npx-cache  # 然后重启 MCP 客户端

源代码/Git 用户

cd domain-search-mcp
git pull origin main
npm install
npm run build

保持更新

架构说明

详细的系统架构图请参考 docs/ARCHITECTURE.md

  • 传输层(stdio 与 HTTP/SSE)
  • 工具执行流程
  • 数据源瀑布式查询(RDAP → 定价 API → WHOIS)
  • VPS 部署架构
  • AI 建议流程
  • MCP 会话生命周期

相关链接

  • MCP 注册表:https://registry.modelcontextprotocol.io
  • Glama 页面:https://glama.ai/mcp/servers/@dorukardahan/domain-search-mcp
  • Context7 索引:https://context7.com/dorukardahan/domain-search-mcp
  • 架构文档:docs/ARCHITECTURE.md
  • API 参考:docs/API.md
  • 配置文档:docs/CONFIGURATION.md
  • 工作流程文档:docs/WORKFLOWS.md
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端