domain-search-mcp 1.2.21 → 1.2.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +7 -0
- package/README.md +9 -4
- package/dist/aftermarket/sedo.d.ts +16 -0
- package/dist/aftermarket/sedo.d.ts.map +1 -0
- package/dist/aftermarket/sedo.js +96 -0
- package/dist/aftermarket/sedo.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +5 -0
- package/dist/config.js.map +1 -1
- package/dist/services/domain-search.d.ts.map +1 -1
- package/dist/services/domain-search.js +22 -12
- package/dist/services/domain-search.js.map +1 -1
- package/dist/tools/compare_registrars.js +3 -3
- package/dist/tools/compare_registrars.js.map +1 -1
- package/dist/types.d.ts +7 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/validators.js +1 -1
- package/dist/utils/validators.js.map +1 -1
- package/docs/CONFIGURATION.md +10 -0
- package/package.json +2 -3
- package/src/aftermarket/sedo.ts +109 -0
- package/src/config.ts +6 -0
- package/src/services/domain-search.ts +23 -12
- package/src/tools/compare_registrars.ts +3 -3
- package/src/types.ts +7 -2
- package/src/utils/validators.ts +1 -1
package/.env.example
CHANGED
|
@@ -39,6 +39,7 @@ LOG_LEVEL=info # debug | info | warn | error
|
|
|
39
39
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
40
40
|
CACHE_TTL_AVAILABILITY=300 # 5 minutes - availability can change
|
|
41
41
|
CACHE_TTL_PRICING=3600 # 1 hour - pricing rarely changes
|
|
42
|
+
CACHE_TTL_SEDO=3600 # 1 hour - Sedo auctions feed cache
|
|
42
43
|
|
|
43
44
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
44
45
|
# RATE LIMITING
|
|
@@ -51,6 +52,12 @@ RATE_LIMIT_PER_MINUTE=60 # Max requests per minute
|
|
|
51
52
|
ALLOWED_TLDS=com,io,dev,app,co,net,org,xyz,ai,sh,me,cc
|
|
52
53
|
DENY_TLDS=localhost,internal,test,local
|
|
53
54
|
|
|
55
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
56
|
+
# AFTERMARKET (Sedo public feed)
|
|
57
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
58
|
+
SEDO_FEED_ENABLED=true
|
|
59
|
+
SEDO_FEED_URL=https://sedo.com/txt/auctions_us.txt
|
|
60
|
+
|
|
54
61
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
55
62
|
# DEVELOPMENT ONLY
|
|
56
63
|
# ─────────────────────────────────────────────────────────────────────────────
|
package/README.md
CHANGED
|
@@ -29,7 +29,7 @@ Availability and pricing are intentionally separated:
|
|
|
29
29
|
- Fallback: WHOIS
|
|
30
30
|
- GoDaddy public endpoint is used only to add premium/auction signals in `search_domain`
|
|
31
31
|
- Pricing (optional):
|
|
32
|
-
- Recommended: `PRICING_API_BASE_URL` (backend with Porkbun
|
|
32
|
+
- Recommended: `PRICING_API_BASE_URL` (backend with Porkbun keys)
|
|
33
33
|
- Optional BYOK: Porkbun/Namecheap only when backend is not configured
|
|
34
34
|
|
|
35
35
|
This keeps the server zero-config while letting power users enable pricing.
|
|
@@ -41,7 +41,8 @@ Responses include `price_check_url` (registrar checkout/search link) and may inc
|
|
|
41
41
|
checkout page before purchase.
|
|
42
42
|
|
|
43
43
|
If an auction/premium signal is detected, results include an `aftermarket` block with
|
|
44
|
-
links to marketplace pages when available.
|
|
44
|
+
links to marketplace pages when available. Taken domains may also include Sedo
|
|
45
|
+
auction hints when the public feed is enabled.
|
|
45
46
|
|
|
46
47
|
## Quick Start
|
|
47
48
|
|
|
@@ -91,7 +92,7 @@ npx domain-search-mcp
|
|
|
91
92
|
|
|
92
93
|
### Pricing Backend (Recommended)
|
|
93
94
|
|
|
94
|
-
Set a backend URL that owns registrar keys (Porkbun
|
|
95
|
+
Set a backend URL that owns registrar keys (Porkbun). The MCP will call
|
|
95
96
|
`/api/quote` and `/api/compare` on that backend for pricing.
|
|
96
97
|
|
|
97
98
|
```bash
|
|
@@ -137,6 +138,9 @@ NAMECHEAP_CLIENT_IP=your_whitelisted_ip
|
|
|
137
138
|
| `LOG_LEVEL` | info | Logging level |
|
|
138
139
|
| `CACHE_TTL_AVAILABILITY` | 60 | Availability cache TTL (seconds) |
|
|
139
140
|
| `CACHE_TTL_PRICING` | 3600 | Pricing cache TTL (seconds) |
|
|
141
|
+
| `CACHE_TTL_SEDO` | 3600 | Sedo auctions feed cache TTL (seconds) |
|
|
142
|
+
| `SEDO_FEED_ENABLED` | true | Enable Sedo feed lookup for aftermarket hints |
|
|
143
|
+
| `SEDO_FEED_URL` | https://sedo.com/txt/auctions_us.txt | Sedo public feed URL |
|
|
140
144
|
|
|
141
145
|
### Output Format
|
|
142
146
|
|
|
@@ -151,12 +155,13 @@ OUTPUT_FORMAT=json
|
|
|
151
155
|
|
|
152
156
|
| Source | Usage | Pricing |
|
|
153
157
|
|--------|-------|---------|
|
|
154
|
-
| Pricing API | Pricing + premium (Porkbun
|
|
158
|
+
| Pricing API | Pricing + premium (Porkbun) | Yes (backend) |
|
|
155
159
|
| Porkbun API | Availability + pricing | Yes (with keys) |
|
|
156
160
|
| Namecheap API | Availability + pricing | Yes (with keys) |
|
|
157
161
|
| RDAP | Primary availability | No |
|
|
158
162
|
| WHOIS | Fallback availability | No |
|
|
159
163
|
| GoDaddy public endpoint | Premium/auction signal for `search_domain` | No |
|
|
164
|
+
| Sedo public feed | Aftermarket auction hints | No |
|
|
160
165
|
|
|
161
166
|
## Pricing Behavior
|
|
162
167
|
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sedo public auctions feed integration (no auth).
|
|
3
|
+
*
|
|
4
|
+
* Feed format (semicolon-separated):
|
|
5
|
+
* domain;auction_start;auction_end;price;currency;...;
|
|
6
|
+
*/
|
|
7
|
+
export type SedoAuctionListing = {
|
|
8
|
+
domain: string;
|
|
9
|
+
price: number | null;
|
|
10
|
+
currency: string | null;
|
|
11
|
+
auction_end?: string | null;
|
|
12
|
+
source: 'sedo_feed';
|
|
13
|
+
url: string;
|
|
14
|
+
};
|
|
15
|
+
export declare function lookupSedoAuction(domain: string): Promise<SedoAuctionListing | null>;
|
|
16
|
+
//# sourceMappingURL=sedo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sedo.d.ts","sourceRoot":"","sources":["../../src/aftermarket/sedo.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AA2EF,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAapC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Sedo public auctions feed integration (no auth).
|
|
4
|
+
*
|
|
5
|
+
* Feed format (semicolon-separated):
|
|
6
|
+
* domain;auction_start;auction_end;price;currency;...;
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.lookupSedoAuction = lookupSedoAuction;
|
|
10
|
+
const config_js_1 = require("../config.js");
|
|
11
|
+
const logger_js_1 = require("../utils/logger.js");
|
|
12
|
+
const cache_js_1 = require("../utils/cache.js");
|
|
13
|
+
const FEED_CACHE_KEY = 'sedo:auctions';
|
|
14
|
+
const feedCache = new cache_js_1.TtlCache(config_js_1.config.cache.sedoTtl, 2);
|
|
15
|
+
function normalizeCurrency(raw) {
|
|
16
|
+
if (!raw)
|
|
17
|
+
return null;
|
|
18
|
+
const cleaned = raw.replace(/[^A-Za-z]/g, '').toUpperCase();
|
|
19
|
+
if (cleaned === 'US')
|
|
20
|
+
return 'USD';
|
|
21
|
+
if (cleaned.length === 3)
|
|
22
|
+
return cleaned;
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
function buildSedoSearchUrl(domain) {
|
|
26
|
+
return `https://sedo.com/search/?keyword=${encodeURIComponent(domain)}`;
|
|
27
|
+
}
|
|
28
|
+
function parseLine(line) {
|
|
29
|
+
const trimmed = line.trim();
|
|
30
|
+
if (!trimmed)
|
|
31
|
+
return null;
|
|
32
|
+
const parts = trimmed.split(';');
|
|
33
|
+
if (parts.length < 5)
|
|
34
|
+
return null;
|
|
35
|
+
const domain = parts[0]?.trim().toLowerCase();
|
|
36
|
+
if (!domain)
|
|
37
|
+
return null;
|
|
38
|
+
const priceRaw = parts[3]?.trim();
|
|
39
|
+
const price = priceRaw ? Number(priceRaw) : NaN;
|
|
40
|
+
const currency = normalizeCurrency(parts[4]?.trim() || '');
|
|
41
|
+
const endTs = parts[2] ? Number(parts[2]) : NaN;
|
|
42
|
+
const auctionEnd = Number.isFinite(endTs)
|
|
43
|
+
? new Date(endTs * 1000).toISOString()
|
|
44
|
+
: null;
|
|
45
|
+
return {
|
|
46
|
+
domain,
|
|
47
|
+
price: Number.isFinite(price) ? price : null,
|
|
48
|
+
currency,
|
|
49
|
+
auction_end: auctionEnd,
|
|
50
|
+
source: 'sedo_feed',
|
|
51
|
+
url: buildSedoSearchUrl(domain),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
async function fetchSedoFeed() {
|
|
55
|
+
const cached = feedCache.get(FEED_CACHE_KEY);
|
|
56
|
+
if (cached)
|
|
57
|
+
return cached;
|
|
58
|
+
const url = config_js_1.config.aftermarket.sedoFeedUrl || 'https://sedo.com/txt/auctions_us.txt';
|
|
59
|
+
const controller = new AbortController();
|
|
60
|
+
const timeout = setTimeout(() => controller.abort(), 5000);
|
|
61
|
+
try {
|
|
62
|
+
const response = await fetch(url, { signal: controller.signal });
|
|
63
|
+
if (!response.ok) {
|
|
64
|
+
throw new Error(`Sedo feed HTTP ${response.status}`);
|
|
65
|
+
}
|
|
66
|
+
const text = await response.text();
|
|
67
|
+
const index = new Map();
|
|
68
|
+
for (const line of text.split('\n')) {
|
|
69
|
+
const listing = parseLine(line);
|
|
70
|
+
if (listing) {
|
|
71
|
+
index.set(listing.domain, listing);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
feedCache.set(FEED_CACHE_KEY, index);
|
|
75
|
+
return index;
|
|
76
|
+
}
|
|
77
|
+
finally {
|
|
78
|
+
clearTimeout(timeout);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
async function lookupSedoAuction(domain) {
|
|
82
|
+
if (!config_js_1.config.aftermarket.sedoEnabled)
|
|
83
|
+
return null;
|
|
84
|
+
try {
|
|
85
|
+
const index = await fetchSedoFeed();
|
|
86
|
+
return index.get(domain.toLowerCase()) ?? null;
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
logger_js_1.logger.debug('Sedo feed lookup failed', {
|
|
90
|
+
domain,
|
|
91
|
+
error: error instanceof Error ? error.message : String(error),
|
|
92
|
+
});
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=sedo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sedo.js","sourceRoot":"","sources":["../../src/aftermarket/sedo.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AA8CzC;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AA8CzC;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAkEnC;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM,QAAe,CAAC;AAEnC;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAQ9C"}
|
package/dist/config.js
CHANGED
|
@@ -82,6 +82,7 @@ function loadConfig() {
|
|
|
82
82
|
cache: {
|
|
83
83
|
availabilityTtl: parseIntWithDefault(env.CACHE_TTL_AVAILABILITY, 60),
|
|
84
84
|
pricingTtl: parseIntWithDefault(env.CACHE_TTL_PRICING, 3600),
|
|
85
|
+
sedoTtl: parseIntWithDefault(env.CACHE_TTL_SEDO, 3600),
|
|
85
86
|
},
|
|
86
87
|
rateLimitPerMinute: parseIntWithDefault(env.RATE_LIMIT_PER_MINUTE, 60),
|
|
87
88
|
allowedTlds: parseList(env.ALLOWED_TLDS, [
|
|
@@ -106,6 +107,10 @@ function loadConfig() {
|
|
|
106
107
|
]),
|
|
107
108
|
dryRun: parseBool(env.DRY_RUN, false),
|
|
108
109
|
outputFormat: parseOutputFormat(env.OUTPUT_FORMAT),
|
|
110
|
+
aftermarket: {
|
|
111
|
+
sedoEnabled: parseBool(env.SEDO_FEED_ENABLED, true),
|
|
112
|
+
sedoFeedUrl: env.SEDO_FEED_URL || 'https://sedo.com/txt/auctions_us.txt',
|
|
113
|
+
},
|
|
109
114
|
};
|
|
110
115
|
return config;
|
|
111
116
|
}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAoDH,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-search.d.ts","sourceRoot":"","sources":["../../src/services/domain-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"domain-search.d.ts","sourceRoot":"","sources":["../../src/services/domain-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AA6ChE,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAOF,KAAK,aAAa,GAAG;IACnB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAoHF;;GAEG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,MAAM,EAAyB,EACrC,mBAAmB,CAAC,EAAE,MAAM,EAAE,EAC9B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,cAAc,CAAC,CAwFzB;AAmkBD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EAAE,EACjB,GAAG,GAAE,MAAc,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,aAAa,GAAE,MAAyB,GACvC,OAAO,CAAC,YAAY,EAAE,CAAC,CAkDzB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,UAAU,GAAE,MAAM,EAAgB,GACjC,OAAO,CAAC;IACT,WAAW,EAAE,YAAY,EAAE,CAAC;IAC5B,eAAe,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7D,YAAY,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1D,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC,CA2GD"}
|
|
@@ -30,6 +30,7 @@ const rdap_js_1 = require("../fallbacks/rdap.js");
|
|
|
30
30
|
const whois_js_1 = require("../fallbacks/whois.js");
|
|
31
31
|
const pricing_api_js_1 = require("./pricing-api.js");
|
|
32
32
|
const premium_analyzer_js_1 = require("../utils/premium-analyzer.js");
|
|
33
|
+
const sedo_js_1 = require("../aftermarket/sedo.js");
|
|
33
34
|
const SEARCH_TLD_CONCURRENCY = 10;
|
|
34
35
|
const BULK_CONCURRENCY = 20;
|
|
35
36
|
const CACHE_TTL_AVAILABLE_MS = config_js_1.config.cache.availabilityTtl * 1000;
|
|
@@ -59,8 +60,6 @@ function buildRegistrarPriceUrl(registrar, domain) {
|
|
|
59
60
|
switch (normalized) {
|
|
60
61
|
case 'porkbun':
|
|
61
62
|
return `https://porkbun.com/checkout/search?q=${encodeURIComponent(domain)}`;
|
|
62
|
-
case 'dynadot':
|
|
63
|
-
return `https://www.dynadot.com/domain/search?domain=${encodeURIComponent(domain)}`;
|
|
64
63
|
case 'namecheap':
|
|
65
64
|
return `https://www.namecheap.com/domains/registration/results/?domain=${encodeURIComponent(domain)}`;
|
|
66
65
|
case 'godaddy':
|
|
@@ -73,10 +72,22 @@ function buildRegistrarPriceUrl(registrar, domain) {
|
|
|
73
72
|
function buildAftermarketUrl(domain) {
|
|
74
73
|
return `https://auctions.godaddy.com/trpSearchResults.aspx?domain=${encodeURIComponent(domain)}`;
|
|
75
74
|
}
|
|
76
|
-
function applyAftermarketFallback(result) {
|
|
75
|
+
async function applyAftermarketFallback(result) {
|
|
77
76
|
if (result.available || result.aftermarket) {
|
|
78
77
|
return;
|
|
79
78
|
}
|
|
79
|
+
const sedoListing = await (0, sedo_js_1.lookupSedoAuction)(result.domain);
|
|
80
|
+
if (sedoListing) {
|
|
81
|
+
result.aftermarket = {
|
|
82
|
+
type: 'auction',
|
|
83
|
+
price: sedoListing.price,
|
|
84
|
+
currency: sedoListing.currency,
|
|
85
|
+
source: sedoListing.source,
|
|
86
|
+
url: sedoListing.url,
|
|
87
|
+
note: 'Listed in Sedo auctions feed. Verify details at the marketplace link.',
|
|
88
|
+
};
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
80
91
|
result.aftermarket = {
|
|
81
92
|
type: 'aftermarket',
|
|
82
93
|
price: null,
|
|
@@ -289,7 +300,7 @@ async function searchSingleDomain(domain, tld, preferredRegistrars, godaddySigna
|
|
|
289
300
|
};
|
|
290
301
|
}
|
|
291
302
|
applyPricingMetadata(fallbackResult);
|
|
292
|
-
applyAftermarketFallback(fallbackResult);
|
|
303
|
+
await applyAftermarketFallback(fallbackResult);
|
|
293
304
|
const cacheKey = (0, cache_js_1.domainCacheKey)(fullDomain, fallbackResult.source);
|
|
294
305
|
const ttlMs = fallbackResult.available ? CACHE_TTL_AVAILABLE_MS : CACHE_TTL_TAKEN_MS;
|
|
295
306
|
cache_js_1.domainCache.set(cacheKey, fallbackResult, ttlMs);
|
|
@@ -417,7 +428,6 @@ function compareEntryToResult(entry) {
|
|
|
417
428
|
};
|
|
418
429
|
}
|
|
419
430
|
applyPricingMetadata(result);
|
|
420
|
-
applyAftermarketFallback(result);
|
|
421
431
|
return result;
|
|
422
432
|
}
|
|
423
433
|
function mergePricing(result, payload) {
|
|
@@ -478,36 +488,36 @@ async function applyPricingQuote(result, pricingBudget) {
|
|
|
478
488
|
result.pricing_source = result.source;
|
|
479
489
|
result.pricing_status = result.price_first_year !== null ? 'ok' : 'partial';
|
|
480
490
|
applyPricingMetadata(result);
|
|
481
|
-
applyAftermarketFallback(result);
|
|
491
|
+
await applyAftermarketFallback(result);
|
|
482
492
|
return;
|
|
483
493
|
}
|
|
484
494
|
if (!pricingBudget?.enabled) {
|
|
485
495
|
result.pricing_status = 'not_configured';
|
|
486
496
|
applyPricingMetadata(result);
|
|
487
|
-
applyAftermarketFallback(result);
|
|
497
|
+
await applyAftermarketFallback(result);
|
|
488
498
|
return;
|
|
489
499
|
}
|
|
490
500
|
if (!result.available) {
|
|
491
501
|
result.pricing_status = 'not_available';
|
|
492
502
|
applyPricingMetadata(result);
|
|
493
|
-
applyAftermarketFallback(result);
|
|
503
|
+
await applyAftermarketFallback(result);
|
|
494
504
|
return;
|
|
495
505
|
}
|
|
496
506
|
if (!pricingBudget.take()) {
|
|
497
507
|
result.pricing_status = 'not_available';
|
|
498
508
|
applyPricingMetadata(result);
|
|
499
|
-
applyAftermarketFallback(result);
|
|
509
|
+
await applyAftermarketFallback(result);
|
|
500
510
|
return;
|
|
501
511
|
}
|
|
502
512
|
const payload = await (0, pricing_api_js_1.fetchPricingQuote)(result.domain);
|
|
503
513
|
if (!payload) {
|
|
504
514
|
result.pricing_status = 'error';
|
|
505
515
|
applyPricingMetadata(result);
|
|
506
|
-
applyAftermarketFallback(result);
|
|
516
|
+
await applyAftermarketFallback(result);
|
|
507
517
|
return;
|
|
508
518
|
}
|
|
509
519
|
mergePricing(result, payload);
|
|
510
|
-
applyAftermarketFallback(result);
|
|
520
|
+
await applyAftermarketFallback(result);
|
|
511
521
|
}
|
|
512
522
|
/**
|
|
513
523
|
* Generate human-readable insights about the results.
|
|
@@ -699,7 +709,7 @@ async function bulkSearchDomains(domains, tld = 'com', registrar, maxConcurrent
|
|
|
699
709
|
/**
|
|
700
710
|
* Compare pricing across registrars.
|
|
701
711
|
*/
|
|
702
|
-
async function compareRegistrars(domain, tld, registrars = ['porkbun'
|
|
712
|
+
async function compareRegistrars(domain, tld, registrars = ['porkbun']) {
|
|
703
713
|
const normalizedDomain = (0, validators_js_1.validateDomainName)(domain);
|
|
704
714
|
const comparisons = [];
|
|
705
715
|
const normalizedRegistrars = registrars.map((r) => r.toLowerCase());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-search.js","sourceRoot":"","sources":["../../src/services/domain-search.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"domain-search.js","sourceRoot":"","sources":["../../src/services/domain-search.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ exports.compareRegistrarsSchema = zod_1.z.object({
|
|
|
26
26
|
registrars: zod_1.z
|
|
27
27
|
.array(zod_1.z.string())
|
|
28
28
|
.optional()
|
|
29
|
-
.describe("Registrars to compare (e.g., ['porkbun'
|
|
29
|
+
.describe("Registrars to compare (e.g., ['porkbun']). Defaults to all available."),
|
|
30
30
|
});
|
|
31
31
|
/**
|
|
32
32
|
* Tool definition for MCP.
|
|
@@ -45,7 +45,7 @@ Uses the Pricing API when configured; otherwise falls back to BYOK registrars.
|
|
|
45
45
|
Returns pricing comparison and a recommendation.
|
|
46
46
|
|
|
47
47
|
Example:
|
|
48
|
-
- compare_registrars("vibecoding", "com") → compares Porkbun
|
|
48
|
+
- compare_registrars("vibecoding", "com") → compares Porkbun (and any configured BYOK registrars)`,
|
|
49
49
|
inputSchema: {
|
|
50
50
|
type: 'object',
|
|
51
51
|
properties: {
|
|
@@ -60,7 +60,7 @@ Example:
|
|
|
60
60
|
registrars: {
|
|
61
61
|
type: 'array',
|
|
62
62
|
items: { type: 'string' },
|
|
63
|
-
description: "Registrars to compare. Defaults to ['porkbun'
|
|
63
|
+
description: "Registrars to compare. Defaults to ['porkbun'].",
|
|
64
64
|
},
|
|
65
65
|
},
|
|
66
66
|
required: ['domain', 'tld'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compare_registrars.js","sourceRoot":"","sources":["../../src/tools/compare_registrars.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA8FH,4DA+EC;AA3KD,6BAAwB;AACxB,mEAAiE;AACjE,0DAAyE;AACzE,kDAA+C;AAG/C;;GAEG;AACU,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,MAAM,EAAE,OAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,GAAG,EAAE,OAAC;SACH,MAAM,EAAE;SACR,QAAQ,CAAC,wCAAwC,CAAC;IACrD,UAAU,EAAE,OAAC;SACV,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CACP,
|
|
1
|
+
{"version":3,"file":"compare_registrars.js","sourceRoot":"","sources":["../../src/tools/compare_registrars.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA8FH,4DA+EC;AA3KD,6BAAwB;AACxB,mEAAiE;AACjE,0DAAyE;AACzE,kDAA+C;AAG/C;;GAEG;AACU,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,MAAM,EAAE,OAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,GAAG,EAAE,OAAC;SACH,MAAM,EAAE;SACR,QAAQ,CAAC,wCAAwC,CAAC;IACrD,UAAU,EAAE,OAAC;SACV,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CACP,uEAAuE,CACxE;CACJ,CAAC,CAAC;AAIH;;GAEG;AACU,QAAA,qBAAqB,GAAG;IACnC,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE;;;;;;;;;;;;kGAYmF;IAChG,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iDAAiD;aAC/D;YACD,GAAG,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wCAAwC;aACtD;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EACT,iDAAiD;aACpD;SACF;QACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;KAC5B;CACF,CAAC;AAwBF;;GAEG;AACI,KAAK,UAAU,wBAAwB,CAC5C,KAA6B;IAE7B,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,+BAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEzE,MAAM,gBAAgB,GAAG,IAAA,kCAAkB,EAAC,MAAM,CAAC,CAAC;QACpD,MAAM,aAAa,GAAG,IAAA,2BAAW,EAAC,GAAG,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,GAAG,gBAAgB,IAAI,aAAa,EAAE,CAAC;QAE1D,MAAM,MAAM,GAAG,MAAM,IAAA,oCAAiB,EACpC,gBAAgB,EAChB,aAAa,EACb,UAAU,CACX,CAAC;QAEF,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,oBAAoB;QACpB,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YAClD,IAAI,MAAM,CAAC,eAAe,CAAC,SAAS,KAAK,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;gBACvE,QAAQ,CAAC,IAAI,CACX,KAAK,MAAM,CAAC,eAAe,CAAC,SAAS,sCAAsC,CAC5E,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CACX,sBAAsB,MAAM,CAAC,eAAe,CAAC,SAAS,qCAAqC,MAAM,CAAC,YAAY,CAAC,SAAS,QAAQ,CACjI,CAAC;YACJ,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QACzE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CACX,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAClF,CAAC;QACJ,CAAC;QAED,kBAAkB;QAClB,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,QAAQ,CAAC,IAAI,CACX,mCAAmC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjF,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,eAAe,EAAE,SAAS,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,eAAe,EAAE,SAAS,CACzD,CAAC;YACF,IAAI,MAAM,EAAE,eAAe,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CACX,sBAAsB,UAAU,KAAK,MAAM,CAAC,eAAe,EAAE,CAC9D,CAAC;YACJ,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,IAAI,CACX,2EAA2E,CAC5E,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,aAAa,EAAE,2BAA2B,MAAM,CAAC,WAAW,CAAC,MAAM,aAAa;YAChF,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM;YAC3C,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,eAAe,EAAE,MAAM,CAAC,eAAe;gBACrC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAChD,CAAC,CAAC,IAAI;YACR,YAAY,EAAE,MAAM,CAAC,YAAY;gBAC/B,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC7C,CAAC,CAAC,IAAI;YACR,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,QAAQ;SACT,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAA,qBAAS,EAAC,KAAK,CAAC,CAAC;IACzB,CAAC;AACH,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -65,11 +65,11 @@ export interface DomainResult {
|
|
|
65
65
|
* Where the domain data came from.
|
|
66
66
|
* Order matters: earlier sources are preferred.
|
|
67
67
|
*/
|
|
68
|
-
export type DataSource = 'porkbun_api' | 'namecheap_api' | '
|
|
68
|
+
export type DataSource = 'porkbun_api' | 'namecheap_api' | 'godaddy_api' | 'rdap' | 'whois' | 'pricing_api' | 'catalog' | 'cache';
|
|
69
69
|
/**
|
|
70
70
|
* Pricing data origin (can differ from availability source).
|
|
71
71
|
*/
|
|
72
|
-
export type PricingSource = 'porkbun_api' | 'namecheap_api' | '
|
|
72
|
+
export type PricingSource = 'porkbun_api' | 'namecheap_api' | 'pricing_api' | 'catalog';
|
|
73
73
|
/**
|
|
74
74
|
* Pricing status returned by the backend.
|
|
75
75
|
*/
|
|
@@ -180,12 +180,17 @@ export interface Config {
|
|
|
180
180
|
cache: {
|
|
181
181
|
availabilityTtl: number;
|
|
182
182
|
pricingTtl: number;
|
|
183
|
+
sedoTtl: number;
|
|
183
184
|
};
|
|
184
185
|
rateLimitPerMinute: number;
|
|
185
186
|
allowedTlds: string[];
|
|
186
187
|
denyTlds: string[];
|
|
187
188
|
dryRun: boolean;
|
|
188
189
|
outputFormat: 'table' | 'json' | 'both';
|
|
190
|
+
aftermarket: {
|
|
191
|
+
sedoEnabled: boolean;
|
|
192
|
+
sedoFeedUrl: string;
|
|
193
|
+
};
|
|
189
194
|
}
|
|
190
195
|
/**
|
|
191
196
|
* Structured error with user-friendly message.
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IAEf,uDAAuD;IACvD,SAAS,EAAE,OAAO,CAAC;IAEnB,8DAA8D;IAC9D,OAAO,EAAE,OAAO,CAAC;IAEjB,8DAA8D;IAC9D,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC,4CAA4C;IAC5C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,aAAa,CAAC;IAE/B,sDAAsD;IACtD,cAAc,CAAC,EAAE,aAAa,CAAC;IAE/B,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IAEjB,qDAAqD;IACrD,gBAAgB,EAAE,OAAO,CAAC;IAE1B,gDAAgD;IAChD,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAElB,uCAAuC;IACvC,MAAM,EAAE,UAAU,CAAC;IAEnB,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IAEnB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,mDAAmD;IACnD,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,CAAC;QAC5C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IAEF,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,yCAAyC;IACzC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAClB,aAAa,GACb,eAAe,GACf,aAAa,GACb,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/validators.js
CHANGED
|
@@ -150,7 +150,7 @@ function buildDomain(name, tld) {
|
|
|
150
150
|
*/
|
|
151
151
|
function validateRegistrar(registrar) {
|
|
152
152
|
const normalized = registrar.trim().toLowerCase();
|
|
153
|
-
const validRegistrars = ['porkbun', '
|
|
153
|
+
const validRegistrars = ['porkbun', 'namecheap', 'godaddy'];
|
|
154
154
|
if (!validRegistrars.includes(normalized)) {
|
|
155
155
|
throw new Error(`Invalid registrar: "${registrar}". Valid options: ${validRegistrars.join(', ')}`);
|
|
156
156
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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"}
|
package/docs/CONFIGURATION.md
CHANGED
|
@@ -49,6 +49,11 @@ The server automatically selects the best available source:
|
|
|
49
49
|
4. **WHOIS** - Last resort (slow)
|
|
50
50
|
5. **GoDaddy public endpoint** - Premium/auction signals in `search_domain` only
|
|
51
51
|
|
|
52
|
+
## Aftermarket Signals
|
|
53
|
+
|
|
54
|
+
The MCP can flag taken domains that appear in the Sedo public auctions feed.
|
|
55
|
+
This is a best-effort signal and should be verified at the marketplace link.
|
|
56
|
+
|
|
52
57
|
## Environment Variables
|
|
53
58
|
|
|
54
59
|
| Variable | Default | Description |
|
|
@@ -68,6 +73,9 @@ The server automatically selects the best available source:
|
|
|
68
73
|
| `LOG_LEVEL` | info | Logging level |
|
|
69
74
|
| `CACHE_TTL_AVAILABILITY` | 60 | Cache TTL (seconds) for available results (taken results use ~2x) |
|
|
70
75
|
| `CACHE_TTL_PRICING` | 3600 | Pricing cache TTL |
|
|
76
|
+
| `CACHE_TTL_SEDO` | 3600 | Sedo auctions feed cache TTL |
|
|
77
|
+
| `SEDO_FEED_ENABLED` | true | Enable Sedo feed lookup for aftermarket hints |
|
|
78
|
+
| `SEDO_FEED_URL` | https://sedo.com/txt/auctions_us.txt | Sedo public feed URL |
|
|
71
79
|
|
|
72
80
|
## Claude Desktop Setup
|
|
73
81
|
|
|
@@ -144,6 +152,7 @@ Results are cached in memory:
|
|
|
144
152
|
|
|
145
153
|
- Availability: 60s (taken results ~120s)
|
|
146
154
|
- Pricing: 1 hour
|
|
155
|
+
- Sedo auctions feed: 1 hour
|
|
147
156
|
- TLD info: 24 hours
|
|
148
157
|
|
|
149
158
|
Configure via environment:
|
|
@@ -151,6 +160,7 @@ Configure via environment:
|
|
|
151
160
|
```bash
|
|
152
161
|
CACHE_TTL_AVAILABILITY=60 # seconds
|
|
153
162
|
CACHE_TTL_PRICING=3600
|
|
163
|
+
CACHE_TTL_SEDO=3600
|
|
154
164
|
```
|
|
155
165
|
|
|
156
166
|
## Verifying Setup
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "domain-search-mcp",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.23",
|
|
4
4
|
"mcpName": "io.github.dorukardahan/domain-search-mcp",
|
|
5
|
-
"description": "Fast domain availability MCP server. RDAP/WHOIS availability with backend pricing (Porkbun
|
|
5
|
+
"description": "Fast domain availability MCP server. RDAP/WHOIS availability with backend pricing (Porkbun) and smart suggestions.",
|
|
6
6
|
"main": "dist/server.js",
|
|
7
7
|
"types": "dist/server.d.ts",
|
|
8
8
|
"bin": {
|
|
@@ -27,7 +27,6 @@
|
|
|
27
27
|
"domain",
|
|
28
28
|
"domain-search",
|
|
29
29
|
"porkbun",
|
|
30
|
-
"dynadot",
|
|
31
30
|
"namecheap",
|
|
32
31
|
"whois",
|
|
33
32
|
"rdap",
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sedo public auctions feed integration (no auth).
|
|
3
|
+
*
|
|
4
|
+
* Feed format (semicolon-separated):
|
|
5
|
+
* domain;auction_start;auction_end;price;currency;...;
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { config } from '../config.js';
|
|
9
|
+
import { logger } from '../utils/logger.js';
|
|
10
|
+
import { TtlCache } from '../utils/cache.js';
|
|
11
|
+
|
|
12
|
+
export type SedoAuctionListing = {
|
|
13
|
+
domain: string;
|
|
14
|
+
price: number | null;
|
|
15
|
+
currency: string | null;
|
|
16
|
+
auction_end?: string | null;
|
|
17
|
+
source: 'sedo_feed';
|
|
18
|
+
url: string;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
type SedoIndex = Map<string, SedoAuctionListing>;
|
|
22
|
+
|
|
23
|
+
const FEED_CACHE_KEY = 'sedo:auctions';
|
|
24
|
+
const feedCache = new TtlCache<SedoIndex>(config.cache.sedoTtl, 2);
|
|
25
|
+
|
|
26
|
+
function normalizeCurrency(raw: string): string | null {
|
|
27
|
+
if (!raw) return null;
|
|
28
|
+
const cleaned = raw.replace(/[^A-Za-z]/g, '').toUpperCase();
|
|
29
|
+
if (cleaned === 'US') return 'USD';
|
|
30
|
+
if (cleaned.length === 3) return cleaned;
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function buildSedoSearchUrl(domain: string): string {
|
|
35
|
+
return `https://sedo.com/search/?keyword=${encodeURIComponent(domain)}`;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function parseLine(line: string): SedoAuctionListing | null {
|
|
39
|
+
const trimmed = line.trim();
|
|
40
|
+
if (!trimmed) return null;
|
|
41
|
+
const parts = trimmed.split(';');
|
|
42
|
+
if (parts.length < 5) return null;
|
|
43
|
+
|
|
44
|
+
const domain = parts[0]?.trim().toLowerCase();
|
|
45
|
+
if (!domain) return null;
|
|
46
|
+
|
|
47
|
+
const priceRaw = parts[3]?.trim();
|
|
48
|
+
const price = priceRaw ? Number(priceRaw) : NaN;
|
|
49
|
+
const currency = normalizeCurrency(parts[4]?.trim() || '');
|
|
50
|
+
const endTs = parts[2] ? Number(parts[2]) : NaN;
|
|
51
|
+
const auctionEnd = Number.isFinite(endTs)
|
|
52
|
+
? new Date(endTs * 1000).toISOString()
|
|
53
|
+
: null;
|
|
54
|
+
|
|
55
|
+
return {
|
|
56
|
+
domain,
|
|
57
|
+
price: Number.isFinite(price) ? price : null,
|
|
58
|
+
currency,
|
|
59
|
+
auction_end: auctionEnd,
|
|
60
|
+
source: 'sedo_feed',
|
|
61
|
+
url: buildSedoSearchUrl(domain),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
async function fetchSedoFeed(): Promise<SedoIndex> {
|
|
66
|
+
const cached = feedCache.get(FEED_CACHE_KEY);
|
|
67
|
+
if (cached) return cached;
|
|
68
|
+
|
|
69
|
+
const url =
|
|
70
|
+
config.aftermarket.sedoFeedUrl || 'https://sedo.com/txt/auctions_us.txt';
|
|
71
|
+
const controller = new AbortController();
|
|
72
|
+
const timeout = setTimeout(() => controller.abort(), 5000);
|
|
73
|
+
|
|
74
|
+
try {
|
|
75
|
+
const response = await fetch(url, { signal: controller.signal });
|
|
76
|
+
if (!response.ok) {
|
|
77
|
+
throw new Error(`Sedo feed HTTP ${response.status}`);
|
|
78
|
+
}
|
|
79
|
+
const text = await response.text();
|
|
80
|
+
const index: SedoIndex = new Map();
|
|
81
|
+
for (const line of text.split('\n')) {
|
|
82
|
+
const listing = parseLine(line);
|
|
83
|
+
if (listing) {
|
|
84
|
+
index.set(listing.domain, listing);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
feedCache.set(FEED_CACHE_KEY, index);
|
|
88
|
+
return index;
|
|
89
|
+
} finally {
|
|
90
|
+
clearTimeout(timeout);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export async function lookupSedoAuction(
|
|
95
|
+
domain: string,
|
|
96
|
+
): Promise<SedoAuctionListing | null> {
|
|
97
|
+
if (!config.aftermarket.sedoEnabled) return null;
|
|
98
|
+
|
|
99
|
+
try {
|
|
100
|
+
const index = await fetchSedoFeed();
|
|
101
|
+
return index.get(domain.toLowerCase()) ?? null;
|
|
102
|
+
} catch (error) {
|
|
103
|
+
logger.debug('Sedo feed lookup failed', {
|
|
104
|
+
domain,
|
|
105
|
+
error: error instanceof Error ? error.message : String(error),
|
|
106
|
+
});
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
}
|
package/src/config.ts
CHANGED
|
@@ -88,6 +88,7 @@ export function loadConfig(): Config {
|
|
|
88
88
|
cache: {
|
|
89
89
|
availabilityTtl: parseIntWithDefault(env.CACHE_TTL_AVAILABILITY, 60),
|
|
90
90
|
pricingTtl: parseIntWithDefault(env.CACHE_TTL_PRICING, 3600),
|
|
91
|
+
sedoTtl: parseIntWithDefault(env.CACHE_TTL_SEDO, 3600),
|
|
91
92
|
},
|
|
92
93
|
rateLimitPerMinute: parseIntWithDefault(env.RATE_LIMIT_PER_MINUTE, 60),
|
|
93
94
|
allowedTlds: parseList(env.ALLOWED_TLDS, [
|
|
@@ -112,6 +113,11 @@ export function loadConfig(): Config {
|
|
|
112
113
|
]),
|
|
113
114
|
dryRun: parseBool(env.DRY_RUN, false),
|
|
114
115
|
outputFormat: parseOutputFormat(env.OUTPUT_FORMAT),
|
|
116
|
+
aftermarket: {
|
|
117
|
+
sedoEnabled: parseBool(env.SEDO_FEED_ENABLED, true),
|
|
118
|
+
sedoFeedUrl:
|
|
119
|
+
env.SEDO_FEED_URL || 'https://sedo.com/txt/auctions_us.txt',
|
|
120
|
+
},
|
|
115
121
|
};
|
|
116
122
|
|
|
117
123
|
return config;
|
|
@@ -53,6 +53,7 @@ import {
|
|
|
53
53
|
suggestPremiumAlternatives,
|
|
54
54
|
} from '../utils/premium-analyzer.js';
|
|
55
55
|
import type { PricingStatus, PricingSource } from '../types.js';
|
|
56
|
+
import { lookupSedoAuction } from '../aftermarket/sedo.js';
|
|
56
57
|
|
|
57
58
|
const SEARCH_TLD_CONCURRENCY = 10;
|
|
58
59
|
const BULK_CONCURRENCY = 20;
|
|
@@ -102,8 +103,6 @@ function buildRegistrarPriceUrl(
|
|
|
102
103
|
switch (normalized) {
|
|
103
104
|
case 'porkbun':
|
|
104
105
|
return `https://porkbun.com/checkout/search?q=${encodeURIComponent(domain)}`;
|
|
105
|
-
case 'dynadot':
|
|
106
|
-
return `https://www.dynadot.com/domain/search?domain=${encodeURIComponent(domain)}`;
|
|
107
106
|
case 'namecheap':
|
|
108
107
|
return `https://www.namecheap.com/domains/registration/results/?domain=${encodeURIComponent(domain)}`;
|
|
109
108
|
case 'godaddy':
|
|
@@ -118,11 +117,24 @@ function buildAftermarketUrl(domain: string): string {
|
|
|
118
117
|
return `https://auctions.godaddy.com/trpSearchResults.aspx?domain=${encodeURIComponent(domain)}`;
|
|
119
118
|
}
|
|
120
119
|
|
|
121
|
-
function applyAftermarketFallback(result: DomainResult): void {
|
|
120
|
+
async function applyAftermarketFallback(result: DomainResult): Promise<void> {
|
|
122
121
|
if (result.available || result.aftermarket) {
|
|
123
122
|
return;
|
|
124
123
|
}
|
|
125
124
|
|
|
125
|
+
const sedoListing = await lookupSedoAuction(result.domain);
|
|
126
|
+
if (sedoListing) {
|
|
127
|
+
result.aftermarket = {
|
|
128
|
+
type: 'auction',
|
|
129
|
+
price: sedoListing.price,
|
|
130
|
+
currency: sedoListing.currency,
|
|
131
|
+
source: sedoListing.source,
|
|
132
|
+
url: sedoListing.url,
|
|
133
|
+
note: 'Listed in Sedo auctions feed. Verify details at the marketplace link.',
|
|
134
|
+
};
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
|
|
126
138
|
result.aftermarket = {
|
|
127
139
|
type: 'aftermarket',
|
|
128
140
|
price: null,
|
|
@@ -382,7 +394,7 @@ async function searchSingleDomain(
|
|
|
382
394
|
}
|
|
383
395
|
|
|
384
396
|
applyPricingMetadata(fallbackResult);
|
|
385
|
-
applyAftermarketFallback(fallbackResult);
|
|
397
|
+
await applyAftermarketFallback(fallbackResult);
|
|
386
398
|
|
|
387
399
|
const cacheKey = domainCacheKey(fullDomain, fallbackResult.source);
|
|
388
400
|
const ttlMs = fallbackResult.available ? CACHE_TTL_AVAILABLE_MS : CACHE_TTL_TAKEN_MS;
|
|
@@ -538,7 +550,6 @@ function compareEntryToResult(entry: PricingCompareEntry): DomainResult {
|
|
|
538
550
|
}
|
|
539
551
|
|
|
540
552
|
applyPricingMetadata(result);
|
|
541
|
-
applyAftermarketFallback(result);
|
|
542
553
|
return result;
|
|
543
554
|
}
|
|
544
555
|
|
|
@@ -613,28 +624,28 @@ async function applyPricingQuote(
|
|
|
613
624
|
result.pricing_source = result.source as PricingSource;
|
|
614
625
|
result.pricing_status = result.price_first_year !== null ? 'ok' : 'partial';
|
|
615
626
|
applyPricingMetadata(result);
|
|
616
|
-
applyAftermarketFallback(result);
|
|
627
|
+
await applyAftermarketFallback(result);
|
|
617
628
|
return;
|
|
618
629
|
}
|
|
619
630
|
|
|
620
631
|
if (!pricingBudget?.enabled) {
|
|
621
632
|
result.pricing_status = 'not_configured';
|
|
622
633
|
applyPricingMetadata(result);
|
|
623
|
-
applyAftermarketFallback(result);
|
|
634
|
+
await applyAftermarketFallback(result);
|
|
624
635
|
return;
|
|
625
636
|
}
|
|
626
637
|
|
|
627
638
|
if (!result.available) {
|
|
628
639
|
result.pricing_status = 'not_available';
|
|
629
640
|
applyPricingMetadata(result);
|
|
630
|
-
applyAftermarketFallback(result);
|
|
641
|
+
await applyAftermarketFallback(result);
|
|
631
642
|
return;
|
|
632
643
|
}
|
|
633
644
|
|
|
634
645
|
if (!pricingBudget.take()) {
|
|
635
646
|
result.pricing_status = 'not_available';
|
|
636
647
|
applyPricingMetadata(result);
|
|
637
|
-
applyAftermarketFallback(result);
|
|
648
|
+
await applyAftermarketFallback(result);
|
|
638
649
|
return;
|
|
639
650
|
}
|
|
640
651
|
|
|
@@ -642,12 +653,12 @@ async function applyPricingQuote(
|
|
|
642
653
|
if (!payload) {
|
|
643
654
|
result.pricing_status = 'error';
|
|
644
655
|
applyPricingMetadata(result);
|
|
645
|
-
applyAftermarketFallback(result);
|
|
656
|
+
await applyAftermarketFallback(result);
|
|
646
657
|
return;
|
|
647
658
|
}
|
|
648
659
|
|
|
649
660
|
mergePricing(result, payload);
|
|
650
|
-
applyAftermarketFallback(result);
|
|
661
|
+
await applyAftermarketFallback(result);
|
|
651
662
|
}
|
|
652
663
|
|
|
653
664
|
/**
|
|
@@ -919,7 +930,7 @@ export async function bulkSearchDomains(
|
|
|
919
930
|
export async function compareRegistrars(
|
|
920
931
|
domain: string,
|
|
921
932
|
tld: string,
|
|
922
|
-
registrars: string[] = ['porkbun'
|
|
933
|
+
registrars: string[] = ['porkbun'],
|
|
923
934
|
): Promise<{
|
|
924
935
|
comparisons: DomainResult[];
|
|
925
936
|
best_first_year: { registrar: string; price: number } | null;
|
|
@@ -26,7 +26,7 @@ export const compareRegistrarsSchema = z.object({
|
|
|
26
26
|
.array(z.string())
|
|
27
27
|
.optional()
|
|
28
28
|
.describe(
|
|
29
|
-
"Registrars to compare (e.g., ['porkbun'
|
|
29
|
+
"Registrars to compare (e.g., ['porkbun']). Defaults to all available.",
|
|
30
30
|
),
|
|
31
31
|
});
|
|
32
32
|
|
|
@@ -49,7 +49,7 @@ Uses the Pricing API when configured; otherwise falls back to BYOK registrars.
|
|
|
49
49
|
Returns pricing comparison and a recommendation.
|
|
50
50
|
|
|
51
51
|
Example:
|
|
52
|
-
- compare_registrars("vibecoding", "com") → compares Porkbun
|
|
52
|
+
- compare_registrars("vibecoding", "com") → compares Porkbun (and any configured BYOK registrars)`,
|
|
53
53
|
inputSchema: {
|
|
54
54
|
type: 'object',
|
|
55
55
|
properties: {
|
|
@@ -65,7 +65,7 @@ Example:
|
|
|
65
65
|
type: 'array',
|
|
66
66
|
items: { type: 'string' },
|
|
67
67
|
description:
|
|
68
|
-
"Registrars to compare. Defaults to ['porkbun'
|
|
68
|
+
"Registrars to compare. Defaults to ['porkbun'].",
|
|
69
69
|
},
|
|
70
70
|
},
|
|
71
71
|
required: ['domain', 'tld'],
|
package/src/types.ts
CHANGED
|
@@ -95,7 +95,6 @@ export interface DomainResult {
|
|
|
95
95
|
export type DataSource =
|
|
96
96
|
| 'porkbun_api'
|
|
97
97
|
| 'namecheap_api'
|
|
98
|
-
| 'dynadot_api'
|
|
99
98
|
| 'godaddy_api'
|
|
100
99
|
| 'rdap'
|
|
101
100
|
| 'whois'
|
|
@@ -109,7 +108,6 @@ export type DataSource =
|
|
|
109
108
|
export type PricingSource =
|
|
110
109
|
| 'porkbun_api'
|
|
111
110
|
| 'namecheap_api'
|
|
112
|
-
| 'dynadot_api'
|
|
113
111
|
| 'pricing_api'
|
|
114
112
|
| 'catalog';
|
|
115
113
|
|
|
@@ -278,6 +276,7 @@ export interface Config {
|
|
|
278
276
|
cache: {
|
|
279
277
|
availabilityTtl: number;
|
|
280
278
|
pricingTtl: number;
|
|
279
|
+
sedoTtl: number;
|
|
281
280
|
};
|
|
282
281
|
|
|
283
282
|
// Rate limiting
|
|
@@ -292,6 +291,12 @@ export interface Config {
|
|
|
292
291
|
|
|
293
292
|
// Output format for tool results
|
|
294
293
|
outputFormat: 'table' | 'json' | 'both';
|
|
294
|
+
|
|
295
|
+
// Aftermarket data sources
|
|
296
|
+
aftermarket: {
|
|
297
|
+
sedoEnabled: boolean;
|
|
298
|
+
sedoFeedUrl: string;
|
|
299
|
+
};
|
|
295
300
|
}
|
|
296
301
|
|
|
297
302
|
// ═══════════════════════════════════════════════════════════════════════════
|
package/src/utils/validators.ts
CHANGED
|
@@ -181,7 +181,7 @@ export function buildDomain(name: string, tld: string): string {
|
|
|
181
181
|
*/
|
|
182
182
|
export function validateRegistrar(registrar: string): string {
|
|
183
183
|
const normalized = registrar.trim().toLowerCase();
|
|
184
|
-
const validRegistrars = ['porkbun', '
|
|
184
|
+
const validRegistrars = ['porkbun', 'namecheap', 'godaddy'];
|
|
185
185
|
|
|
186
186
|
if (!validRegistrars.includes(normalized)) {
|
|
187
187
|
throw new Error(
|