domain-search-mcp 1.1.4 → 1.2.0
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/README.md +394 -1
- package/dist/registrars/godaddy-mcp.d.ts +22 -2
- package/dist/registrars/godaddy-mcp.d.ts.map +1 -1
- package/dist/registrars/godaddy-mcp.js +118 -0
- package/dist/registrars/godaddy-mcp.js.map +1 -1
- package/dist/registrars/index.d.ts +1 -1
- package/dist/registrars/index.d.ts.map +1 -1
- package/dist/registrars/index.js.map +1 -1
- package/dist/tools/suggest_domains_smart.d.ts +7 -2
- package/dist/tools/suggest_domains_smart.d.ts.map +1 -1
- package/dist/tools/suggest_domains_smart.js +171 -56
- package/dist/tools/suggest_domains_smart.js.map +1 -1
- package/package.json +1 -1
- package/src/registrars/godaddy-mcp.ts +152 -1
- package/src/registrars/index.ts +6 -1
- package/src/tools/suggest_domains_smart.ts +187 -59
|
@@ -18,8 +18,8 @@ export declare const suggestDomainsSmartSchema: z.ZodObject<{
|
|
|
18
18
|
include_premium: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
19
19
|
}, "strip", z.ZodTypeAny, {
|
|
20
20
|
tld: string;
|
|
21
|
-
max_suggestions: number;
|
|
22
21
|
query: string;
|
|
22
|
+
max_suggestions: number;
|
|
23
23
|
style: "creative" | "brandable" | "descriptive" | "short";
|
|
24
24
|
include_premium: boolean;
|
|
25
25
|
industry?: "tech" | "health" | "finance" | "food" | "creative" | "social" | "startup" | "ecommerce" | "education" | "gaming" | undefined;
|
|
@@ -85,6 +85,7 @@ interface SmartSuggestion {
|
|
|
85
85
|
privacy_included: boolean;
|
|
86
86
|
score: number;
|
|
87
87
|
category: 'standard' | 'premium' | 'auction' | 'unavailable';
|
|
88
|
+
source: 'semantic_engine' | 'godaddy_suggest' | 'both';
|
|
88
89
|
}
|
|
89
90
|
/**
|
|
90
91
|
* Response format for smart suggestions.
|
|
@@ -95,7 +96,11 @@ interface SuggestDomainsSmartResponse {
|
|
|
95
96
|
detected_industry: string | null;
|
|
96
97
|
tld: string;
|
|
97
98
|
style: string;
|
|
98
|
-
|
|
99
|
+
sources: {
|
|
100
|
+
semantic_engine: number;
|
|
101
|
+
godaddy_suggest: number;
|
|
102
|
+
merged: number;
|
|
103
|
+
};
|
|
99
104
|
total_checked: number;
|
|
100
105
|
results: {
|
|
101
106
|
available: SmartSuggestion[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suggest_domains_smart.d.ts","sourceRoot":"","sources":["../../src/tools/suggest_domains_smart.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"suggest_domains_smart.d.ts","sourceRoot":"","sources":["../../src/tools/suggest_domains_smart.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA2CxB;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;EAuCpC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAEjF;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDnC,CAAC;AA8CF;;GAEG;AACH,UAAU,eAAe;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;IAC7D,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,MAAM,CAAC;CACxD;AAED;;GAEG;AACH,UAAU,2BAA2B;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE;QACP,SAAS,EAAE,eAAe,EAAE,CAAC;QAC7B,OAAO,EAAE,eAAe,EAAE,CAAC;QAC3B,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,2BAA2B,CAAC,CAmRtC"}
|
|
@@ -13,6 +13,8 @@ const zod_1 = require("zod");
|
|
|
13
13
|
const domain_search_js_1 = require("../services/domain-search.js");
|
|
14
14
|
const errors_js_1 = require("../utils/errors.js");
|
|
15
15
|
const semantic_engine_js_1 = require("../utils/semantic-engine.js");
|
|
16
|
+
const index_js_1 = require("../registrars/index.js");
|
|
17
|
+
const logger_js_1 = require("../utils/logger.js");
|
|
16
18
|
/**
|
|
17
19
|
* Premium price thresholds by TLD (first year price in USD).
|
|
18
20
|
* If price exceeds threshold, domain is marked as premium.
|
|
@@ -86,14 +88,16 @@ exports.suggestDomainsSmartTool = {
|
|
|
86
88
|
description: `AI-powered domain name suggestion engine.
|
|
87
89
|
|
|
88
90
|
Generate creative, brandable domain names from keywords or business descriptions.
|
|
89
|
-
|
|
91
|
+
Combines our semantic engine with GoDaddy's AI suggestions for maximum coverage.
|
|
90
92
|
|
|
91
93
|
Features:
|
|
94
|
+
- Dual-source suggestions: Our semantic engine + GoDaddy AI
|
|
92
95
|
- Understands natural language queries ("coffee shop in seattle")
|
|
93
96
|
- Auto-detects industry for contextual suggestions
|
|
94
97
|
- Generates portmanteau/blended names (instagram = instant + telegram)
|
|
95
98
|
- Applies modern naming patterns (ly, ify, io, hub, etc.)
|
|
96
99
|
- Filters premium domains by default
|
|
100
|
+
- Pre-verified availability via GoDaddy
|
|
97
101
|
|
|
98
102
|
Examples:
|
|
99
103
|
- suggest_domains_smart("ai customer service") → AI-themed suggestions
|
|
@@ -178,84 +182,194 @@ async function executeSuggestDomainsSmart(input) {
|
|
|
178
182
|
const normalizedQuery = query.toLowerCase().trim();
|
|
179
183
|
const detectedWords = (0, semantic_engine_js_1.segmentWords)(normalizedQuery);
|
|
180
184
|
const detectedIndustry = industry || (0, semantic_engine_js_1.detectIndustry)(detectedWords);
|
|
181
|
-
//
|
|
182
|
-
const
|
|
183
|
-
|
|
185
|
+
// Track source statistics
|
|
186
|
+
const sourceStats = {
|
|
187
|
+
semantic_engine: 0,
|
|
188
|
+
godaddy_suggest: 0,
|
|
189
|
+
merged: 0,
|
|
190
|
+
};
|
|
191
|
+
// ========================================
|
|
192
|
+
// STEP 1: Generate suggestions from BOTH sources in parallel
|
|
193
|
+
// ========================================
|
|
194
|
+
// Source 1: Our semantic engine
|
|
195
|
+
const semanticSuggestions = (0, semantic_engine_js_1.generateSmartSuggestions)(normalizedQuery, {
|
|
196
|
+
maxSuggestions: max_suggestions * 3,
|
|
184
197
|
includePortmanteau: style === 'creative' || style === 'brandable',
|
|
185
198
|
includeSynonyms: style !== 'short',
|
|
186
199
|
includeIndustryTerms: !!detectedIndustry,
|
|
187
200
|
industry: detectedIndustry || undefined,
|
|
188
201
|
});
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
})
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
202
|
+
sourceStats.semantic_engine = semanticSuggestions.length;
|
|
203
|
+
// Source 2: GoDaddy's AI suggestions (parallel call)
|
|
204
|
+
let godaddySuggestions = [];
|
|
205
|
+
try {
|
|
206
|
+
godaddySuggestions = await index_js_1.godaddyMcpAdapter.suggestDomains(query, {
|
|
207
|
+
tlds: [tld],
|
|
208
|
+
limit: max_suggestions * 2,
|
|
209
|
+
});
|
|
210
|
+
sourceStats.godaddy_suggest = godaddySuggestions.length;
|
|
211
|
+
logger_js_1.logger.debug('GoDaddy suggestions received', {
|
|
212
|
+
count: godaddySuggestions.length,
|
|
213
|
+
sample: godaddySuggestions.slice(0, 3).map(s => s.domain),
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
catch (error) {
|
|
217
|
+
// GoDaddy might fail - continue with just semantic suggestions
|
|
218
|
+
logger_js_1.logger.warn('GoDaddy suggestions failed, using semantic engine only', {
|
|
219
|
+
error: error instanceof Error ? error.message : 'unknown',
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
// ========================================
|
|
223
|
+
// STEP 2: Merge and deduplicate suggestions
|
|
224
|
+
// ========================================
|
|
225
|
+
// Track which domains came from which source
|
|
226
|
+
const domainSources = new Map();
|
|
227
|
+
// Add semantic suggestions (need availability check)
|
|
228
|
+
const styledSuggestions = applyStyleFilter(semanticSuggestions, style, normalizedQuery);
|
|
229
|
+
for (const name of styledSuggestions) {
|
|
230
|
+
const fullDomain = `${name}.${tld}`.toLowerCase();
|
|
231
|
+
domainSources.set(fullDomain, 'semantic_engine');
|
|
232
|
+
}
|
|
233
|
+
// Add GoDaddy suggestions (already have availability)
|
|
234
|
+
for (const gs of godaddySuggestions) {
|
|
235
|
+
const fullDomain = gs.domain.toLowerCase();
|
|
236
|
+
if (domainSources.has(fullDomain)) {
|
|
237
|
+
domainSources.set(fullDomain, 'both'); // Found in both sources
|
|
238
|
+
sourceStats.merged++;
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
domainSources.set(fullDomain, 'godaddy_suggest');
|
|
213
242
|
}
|
|
214
243
|
}
|
|
215
|
-
//
|
|
244
|
+
// ========================================
|
|
245
|
+
// STEP 3: Check availability for semantic suggestions
|
|
246
|
+
// (GoDaddy suggestions already have availability info)
|
|
247
|
+
// ========================================
|
|
216
248
|
const available = [];
|
|
217
249
|
const premium = [];
|
|
218
250
|
let unavailableCount = 0;
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
const
|
|
251
|
+
let totalChecked = 0;
|
|
252
|
+
// First, add pre-checked GoDaddy suggestions (no API call needed!)
|
|
253
|
+
for (const gs of godaddySuggestions) {
|
|
254
|
+
const fullDomain = gs.domain.toLowerCase();
|
|
255
|
+
const source = domainSources.get(fullDomain) || 'godaddy_suggest';
|
|
256
|
+
const name = fullDomain.replace(`.${tld}`, '');
|
|
225
257
|
const suggestion = {
|
|
226
|
-
domain:
|
|
227
|
-
available:
|
|
228
|
-
price_first_year:
|
|
229
|
-
price_renewal:
|
|
230
|
-
registrar:
|
|
231
|
-
premium:
|
|
232
|
-
premium_detected:
|
|
233
|
-
privacy_included:
|
|
258
|
+
domain: fullDomain,
|
|
259
|
+
available: gs.available,
|
|
260
|
+
price_first_year: null, // GoDaddy doesn't provide pricing
|
|
261
|
+
price_renewal: null,
|
|
262
|
+
registrar: 'godaddy',
|
|
263
|
+
premium: gs.premium,
|
|
264
|
+
premium_detected: gs.premium,
|
|
265
|
+
privacy_included: false,
|
|
234
266
|
score: (0, semantic_engine_js_1.scoreDomainName)(name, normalizedQuery),
|
|
235
|
-
category: !
|
|
267
|
+
category: !gs.available
|
|
236
268
|
? 'unavailable'
|
|
237
|
-
:
|
|
269
|
+
: gs.premium
|
|
238
270
|
? 'premium'
|
|
239
|
-
:
|
|
271
|
+
: gs.auction
|
|
272
|
+
? 'auction'
|
|
273
|
+
: 'standard',
|
|
274
|
+
source,
|
|
240
275
|
};
|
|
241
|
-
if (!
|
|
276
|
+
if (!gs.available) {
|
|
242
277
|
unavailableCount++;
|
|
243
278
|
}
|
|
244
|
-
else if (
|
|
245
|
-
|
|
279
|
+
else if (gs.premium || gs.auction) {
|
|
280
|
+
if (include_premium) {
|
|
281
|
+
premium.push(suggestion);
|
|
282
|
+
}
|
|
246
283
|
}
|
|
247
284
|
else {
|
|
248
285
|
available.push(suggestion);
|
|
249
286
|
}
|
|
250
287
|
}
|
|
251
|
-
//
|
|
252
|
-
|
|
288
|
+
// Then, check semantic suggestions that weren't in GoDaddy results
|
|
289
|
+
const semanticOnlyCandidates = styledSuggestions
|
|
290
|
+
.filter(name => {
|
|
291
|
+
const fullDomain = `${name}.${tld}`.toLowerCase();
|
|
292
|
+
return domainSources.get(fullDomain) === 'semantic_engine';
|
|
293
|
+
})
|
|
294
|
+
.slice(0, max_suggestions); // Limit API calls
|
|
295
|
+
const BATCH_SIZE = 5;
|
|
296
|
+
for (let i = 0; i < semanticOnlyCandidates.length; i += BATCH_SIZE) {
|
|
297
|
+
const batch = semanticOnlyCandidates.slice(i, i + BATCH_SIZE);
|
|
298
|
+
const batchResults = await Promise.all(batch.map(async (name) => {
|
|
299
|
+
try {
|
|
300
|
+
const response = await (0, domain_search_js_1.searchDomain)(name, [tld]);
|
|
301
|
+
const result = response.results.find((r) => r.domain === `${name}.${tld}`);
|
|
302
|
+
return { name, result: result || null };
|
|
303
|
+
}
|
|
304
|
+
catch {
|
|
305
|
+
return { name, result: null };
|
|
306
|
+
}
|
|
307
|
+
}));
|
|
308
|
+
for (const { name, result } of batchResults) {
|
|
309
|
+
totalChecked++;
|
|
310
|
+
if (!result) {
|
|
311
|
+
unavailableCount++;
|
|
312
|
+
continue;
|
|
313
|
+
}
|
|
314
|
+
const isPremiumDomain = result.premium || isPremiumPrice(tld, result.price_first_year);
|
|
315
|
+
const fullDomain = `${name}.${tld}`.toLowerCase();
|
|
316
|
+
const suggestion = {
|
|
317
|
+
domain: fullDomain,
|
|
318
|
+
available: result.available,
|
|
319
|
+
price_first_year: result.price_first_year,
|
|
320
|
+
price_renewal: result.price_renewal,
|
|
321
|
+
registrar: result.registrar,
|
|
322
|
+
premium: result.premium || false,
|
|
323
|
+
premium_detected: isPremiumPrice(tld, result.price_first_year),
|
|
324
|
+
privacy_included: result.privacy_included || false,
|
|
325
|
+
score: (0, semantic_engine_js_1.scoreDomainName)(name, normalizedQuery),
|
|
326
|
+
category: !result.available
|
|
327
|
+
? 'unavailable'
|
|
328
|
+
: isPremiumDomain
|
|
329
|
+
? 'premium'
|
|
330
|
+
: 'standard',
|
|
331
|
+
source: 'semantic_engine',
|
|
332
|
+
};
|
|
333
|
+
if (!result.available) {
|
|
334
|
+
unavailableCount++;
|
|
335
|
+
}
|
|
336
|
+
else if (isPremiumDomain) {
|
|
337
|
+
if (include_premium) {
|
|
338
|
+
premium.push(suggestion);
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
else {
|
|
342
|
+
available.push(suggestion);
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
// Early exit if we have enough available
|
|
346
|
+
if (available.length >= max_suggestions && !include_premium) {
|
|
347
|
+
break;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
// ========================================
|
|
351
|
+
// STEP 4: Sort and finalize results
|
|
352
|
+
// ========================================
|
|
353
|
+
// Sort by score, prefer 'both' source items (validated by multiple sources)
|
|
354
|
+
available.sort((a, b) => {
|
|
355
|
+
// Boost 'both' source items
|
|
356
|
+
const aBoost = a.source === 'both' ? 2 : 0;
|
|
357
|
+
const bBoost = b.source === 'both' ? 2 : 0;
|
|
358
|
+
return (b.score + bBoost) - (a.score + aBoost);
|
|
359
|
+
});
|
|
253
360
|
premium.sort((a, b) => b.score - a.score);
|
|
254
361
|
// Limit results
|
|
255
362
|
const finalAvailable = available.slice(0, max_suggestions);
|
|
256
363
|
const finalPremium = include_premium ? premium.slice(0, Math.floor(max_suggestions / 2)) : [];
|
|
257
|
-
//
|
|
364
|
+
// ========================================
|
|
365
|
+
// STEP 5: Generate insights
|
|
366
|
+
// ========================================
|
|
258
367
|
const insights = [];
|
|
368
|
+
// Source info
|
|
369
|
+
insights.push(`🔍 Sources: Semantic Engine (${sourceStats.semantic_engine}) + GoDaddy AI (${sourceStats.godaddy_suggest})`);
|
|
370
|
+
if (sourceStats.merged > 0) {
|
|
371
|
+
insights.push(`🔗 ${sourceStats.merged} suggestions found in both sources`);
|
|
372
|
+
}
|
|
259
373
|
if (detectedIndustry) {
|
|
260
374
|
insights.push(`🎯 Detected industry: ${detectedIndustry}`);
|
|
261
375
|
}
|
|
@@ -265,8 +379,9 @@ async function executeSuggestDomainsSmart(input) {
|
|
|
265
379
|
if (finalAvailable.length > 0) {
|
|
266
380
|
insights.push(`✅ Found ${finalAvailable.length} available domain${finalAvailable.length > 1 ? 's' : ''}`);
|
|
267
381
|
const best = finalAvailable[0];
|
|
268
|
-
const priceStr = best.price_first_year !== null ? `$${best.price_first_year}/yr` : '
|
|
269
|
-
|
|
382
|
+
const priceStr = best.price_first_year !== null ? `$${best.price_first_year}/yr` : 'via ' + best.registrar;
|
|
383
|
+
const sourceStr = best.source === 'both' ? ' (verified by both sources)' : '';
|
|
384
|
+
insights.push(`⭐ Top pick: ${best.domain} (${priceStr})${sourceStr}`);
|
|
270
385
|
}
|
|
271
386
|
else {
|
|
272
387
|
insights.push(`❌ No standard-priced domains available`);
|
|
@@ -293,8 +408,8 @@ async function executeSuggestDomainsSmart(input) {
|
|
|
293
408
|
detected_industry: detectedIndustry,
|
|
294
409
|
tld,
|
|
295
410
|
style,
|
|
296
|
-
|
|
297
|
-
total_checked:
|
|
411
|
+
sources: sourceStats,
|
|
412
|
+
total_checked: totalChecked + godaddySuggestions.length,
|
|
298
413
|
results: {
|
|
299
414
|
available: finalAvailable,
|
|
300
415
|
premium: finalPremium,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suggest_domains_smart.js","sourceRoot":"","sources":["../../src/tools/suggest_domains_smart.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"suggest_domains_smart.js","sourceRoot":"","sources":["../../src/tools/suggest_domains_smart.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "domain-search-mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Fast domain availability aggregator MCP server. Check availability across Porkbun, Namecheap, RDAP, and WHOIS. Compare pricing. Get suggestions.",
|
|
5
5
|
"main": "dist/server.js",
|
|
6
6
|
"types": "dist/server.d.ts",
|
|
@@ -56,12 +56,111 @@ const McpResponseSchema = z.object({
|
|
|
56
56
|
* Parse availability from GoDaddy MCP text response.
|
|
57
57
|
* The response is markdown-formatted text with different formats for single vs bulk queries.
|
|
58
58
|
*/
|
|
59
|
-
interface ParsedAvailability {
|
|
59
|
+
export interface ParsedAvailability {
|
|
60
60
|
available: boolean;
|
|
61
61
|
premium: boolean;
|
|
62
62
|
auction: boolean;
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
+
/**
|
|
66
|
+
* Parsed suggestion from GoDaddy's domains_suggest response.
|
|
67
|
+
*/
|
|
68
|
+
export interface GodaddySuggestion {
|
|
69
|
+
domain: string;
|
|
70
|
+
available: boolean;
|
|
71
|
+
premium: boolean;
|
|
72
|
+
auction: boolean;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Parse suggestions from GoDaddy MCP domains_suggest response.
|
|
77
|
+
* Response format varies but typically includes categorized domain lists.
|
|
78
|
+
*/
|
|
79
|
+
function parseSuggestResponse(text: string): GodaddySuggestion[] {
|
|
80
|
+
const suggestions: GodaddySuggestion[] = [];
|
|
81
|
+
const seenDomains = new Set<string>();
|
|
82
|
+
|
|
83
|
+
// Helper to add a suggestion without duplicates
|
|
84
|
+
const addSuggestion = (domain: string, available: boolean, premium: boolean, auction: boolean) => {
|
|
85
|
+
const normalized = domain.toLowerCase().trim();
|
|
86
|
+
// Validate it looks like a domain (has at least one dot)
|
|
87
|
+
if (normalized.includes('.') && !seenDomains.has(normalized)) {
|
|
88
|
+
seenDomains.add(normalized);
|
|
89
|
+
suggestions.push({ domain: normalized, available, premium, auction });
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
// ==== SECTION-BASED PARSING ====
|
|
94
|
+
// GoDaddy groups suggestions by category with emojis
|
|
95
|
+
|
|
96
|
+
// ✅ Available/Standard domains
|
|
97
|
+
const availableMatch = text.match(/✅\s*\*\*(?:AVAILABLE|STANDARD)[^]*?(?=(?:💎|🔨|⚠️|❌|\*\*[A-Z])|$)/gi);
|
|
98
|
+
if (availableMatch) {
|
|
99
|
+
for (const section of availableMatch) {
|
|
100
|
+
// Extract domain names (word.tld format)
|
|
101
|
+
const domainMatches = section.match(/\b[a-z0-9][-a-z0-9]*\.[a-z]{2,}\b/gi);
|
|
102
|
+
if (domainMatches) {
|
|
103
|
+
for (const domain of domainMatches) {
|
|
104
|
+
addSuggestion(domain, true, false, false);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// 💎 Premium domains
|
|
111
|
+
const premiumMatch = text.match(/💎\s*\*\*PREMIUM[^]*?(?=(?:✅|🔨|⚠️|❌|\*\*[A-Z])|$)/gi);
|
|
112
|
+
if (premiumMatch) {
|
|
113
|
+
for (const section of premiumMatch) {
|
|
114
|
+
const domainMatches = section.match(/\b[a-z0-9][-a-z0-9]*\.[a-z]{2,}\b/gi);
|
|
115
|
+
if (domainMatches) {
|
|
116
|
+
for (const domain of domainMatches) {
|
|
117
|
+
addSuggestion(domain, true, true, false);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// 🔨 Auction domains
|
|
124
|
+
const auctionMatch = text.match(/🔨\s*\*\*AUCTION[^]*?(?=(?:✅|💎|⚠️|❌|\*\*[A-Z])|$)/gi);
|
|
125
|
+
if (auctionMatch) {
|
|
126
|
+
for (const section of auctionMatch) {
|
|
127
|
+
const domainMatches = section.match(/\b[a-z0-9][-a-z0-9]*\.[a-z]{2,}\b/gi);
|
|
128
|
+
if (domainMatches) {
|
|
129
|
+
for (const domain of domainMatches) {
|
|
130
|
+
addSuggestion(domain, true, false, true);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// ==== FALLBACK: Line-by-line extraction ====
|
|
137
|
+
// If section parsing didn't find much, try line-by-line
|
|
138
|
+
if (suggestions.length < 3) {
|
|
139
|
+
const lines = text.split('\n');
|
|
140
|
+
for (const line of lines) {
|
|
141
|
+
const lowerLine = line.toLowerCase();
|
|
142
|
+
|
|
143
|
+
// Skip header lines
|
|
144
|
+
if (lowerLine.includes('**') && !lowerLine.includes('.')) continue;
|
|
145
|
+
|
|
146
|
+
// Extract any domain-like patterns
|
|
147
|
+
const domainMatches = line.match(/\b[a-z0-9][-a-z0-9]*\.[a-z]{2,}\b/gi);
|
|
148
|
+
if (domainMatches) {
|
|
149
|
+
for (const domain of domainMatches) {
|
|
150
|
+
// Determine type from context
|
|
151
|
+
const isPremium = lowerLine.includes('premium') || lowerLine.includes('💎');
|
|
152
|
+
const isAuction = lowerLine.includes('auction') || lowerLine.includes('🔨');
|
|
153
|
+
const isUnavailable = lowerLine.includes('❌') || lowerLine.includes('unavailable');
|
|
154
|
+
|
|
155
|
+
addSuggestion(domain, !isUnavailable, isPremium, isAuction);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
return suggestions;
|
|
162
|
+
}
|
|
163
|
+
|
|
65
164
|
function parseAvailabilityResponse(text: string, domain: string): ParsedAvailability {
|
|
66
165
|
const normalizedDomain = domain.toLowerCase();
|
|
67
166
|
const normalizedText = text.toLowerCase();
|
|
@@ -264,6 +363,58 @@ export class GodaddyMcpAdapter extends RegistrarAdapter {
|
|
|
264
363
|
return null;
|
|
265
364
|
}
|
|
266
365
|
|
|
366
|
+
/**
|
|
367
|
+
* Get domain suggestions from GoDaddy MCP.
|
|
368
|
+
* Uses their domains_suggest tool for AI-powered suggestions.
|
|
369
|
+
*
|
|
370
|
+
* @param query - Keywords or business description (e.g., "sustainable fashion")
|
|
371
|
+
* @param options - Optional parameters for suggestion customization
|
|
372
|
+
* @returns Array of suggested domains with availability info
|
|
373
|
+
*/
|
|
374
|
+
async suggestDomains(
|
|
375
|
+
query: string,
|
|
376
|
+
options: {
|
|
377
|
+
tlds?: string[];
|
|
378
|
+
limit?: number;
|
|
379
|
+
} = {},
|
|
380
|
+
): Promise<GodaddySuggestion[]> {
|
|
381
|
+
const { tlds, limit = 50 } = options;
|
|
382
|
+
|
|
383
|
+
return this.retryWithBackoff(async () => {
|
|
384
|
+
// Build the query - GoDaddy accepts natural language
|
|
385
|
+
let fullQuery = query;
|
|
386
|
+
if (tlds && tlds.length > 0) {
|
|
387
|
+
fullQuery = `${query} (prefer .${tlds.join(', .')})`;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
const text = await this.callMcpTool('domains_suggest', {
|
|
391
|
+
query: fullQuery,
|
|
392
|
+
});
|
|
393
|
+
|
|
394
|
+
logger.debug('GoDaddy domains_suggest raw response', {
|
|
395
|
+
query: fullQuery,
|
|
396
|
+
response_length: text.length,
|
|
397
|
+
preview: text.substring(0, 500),
|
|
398
|
+
});
|
|
399
|
+
|
|
400
|
+
const suggestions = parseSuggestResponse(text);
|
|
401
|
+
|
|
402
|
+
// Filter by TLD if specified
|
|
403
|
+
let filtered = suggestions;
|
|
404
|
+
if (tlds && tlds.length > 0) {
|
|
405
|
+
const tldSet = new Set(tlds.map(t => t.toLowerCase()));
|
|
406
|
+
filtered = suggestions.filter(s => {
|
|
407
|
+
const parts = s.domain.split('.');
|
|
408
|
+
const tld = parts[parts.length - 1];
|
|
409
|
+
return tld && tldSet.has(tld);
|
|
410
|
+
});
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
// Limit results
|
|
414
|
+
return filtered.slice(0, limit);
|
|
415
|
+
}, `suggest domains for "${query}"`);
|
|
416
|
+
}
|
|
417
|
+
|
|
267
418
|
/**
|
|
268
419
|
* Call a GoDaddy MCP tool via JSON-RPC.
|
|
269
420
|
*/
|
package/src/registrars/index.ts
CHANGED
|
@@ -5,4 +5,9 @@
|
|
|
5
5
|
export { RegistrarAdapter } from './base.js';
|
|
6
6
|
export { PorkbunAdapter, porkbunAdapter } from './porkbun.js';
|
|
7
7
|
export { NamecheapAdapter, namecheapAdapter } from './namecheap.js';
|
|
8
|
-
export {
|
|
8
|
+
export {
|
|
9
|
+
GodaddyMcpAdapter,
|
|
10
|
+
godaddyMcpAdapter,
|
|
11
|
+
type GodaddySuggestion,
|
|
12
|
+
type ParsedAvailability,
|
|
13
|
+
} from './godaddy-mcp.js';
|