domain-search-mcp 1.0.0 → 1.1.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggest_domains_smart.js","sourceRoot":"","sources":["../../src/tools/suggest_domains_smart.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Semantic Engine for AI-like Domain Suggestions.
3
+ *
4
+ * Provides intelligent domain name generation without external AI dependencies.
5
+ * Uses linguistic algorithms, word databases, and pattern matching.
6
+ */
7
+ /**
8
+ * Common word synonyms for domain name variations.
9
+ */
10
+ declare const SYNONYMS: Record<string, string[]>;
11
+ /**
12
+ * Industry-specific vocabulary for contextual suggestions.
13
+ */
14
+ declare const INDUSTRY_TERMS: Record<string, string[]>;
15
+ /**
16
+ * Modern domain naming patterns and suffixes.
17
+ */
18
+ declare const MODERN_SUFFIXES: string[];
19
+ /**
20
+ * Modern domain naming prefixes.
21
+ */
22
+ declare const MODERN_PREFIXES: string[];
23
+ /**
24
+ * Attempt to segment a concatenated string into words.
25
+ */
26
+ export declare function segmentWords(input: string): string[];
27
+ /**
28
+ * Get synonyms for a word.
29
+ */
30
+ export declare function getSynonyms(word: string): string[];
31
+ /**
32
+ * Get industry-specific terms.
33
+ */
34
+ export declare function getIndustryTerms(industry: string): string[];
35
+ /**
36
+ * Detect likely industry from keywords.
37
+ */
38
+ export declare function detectIndustry(words: string[]): string | null;
39
+ /**
40
+ * Generate portmanteau (blended word) from two words.
41
+ */
42
+ export declare function generatePortmanteau(word1: string, word2: string): string[];
43
+ /**
44
+ * Generate creative domain name suggestions.
45
+ */
46
+ export interface SmartSuggestionOptions {
47
+ maxSuggestions?: number;
48
+ includePortmanteau?: boolean;
49
+ includeSynonyms?: boolean;
50
+ includeIndustryTerms?: boolean;
51
+ industry?: string;
52
+ }
53
+ export declare function generateSmartSuggestions(input: string, options?: SmartSuggestionOptions): string[];
54
+ /**
55
+ * Score a domain name based on quality metrics.
56
+ */
57
+ export declare function scoreDomainName(name: string, originalInput: string): number;
58
+ export { MODERN_SUFFIXES, MODERN_PREFIXES, INDUSTRY_TERMS, SYNONYMS };
59
+ //# sourceMappingURL=semantic-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-engine.d.ts","sourceRoot":"","sources":["../../src/utils/semantic-engine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,QAAA,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAkEtC,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAyC5C,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,eAAe,UAKpB,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,eAAe,UAIpB,CAAC;AAsCF;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CA2CpD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAGlD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAG3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAyB7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAmB1E;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,sBAA2B,GACnC,MAAM,EAAE,CA6HV;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAuC3E;AAED,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,427 @@
1
+ "use strict";
2
+ /**
3
+ * Semantic Engine for AI-like Domain Suggestions.
4
+ *
5
+ * Provides intelligent domain name generation without external AI dependencies.
6
+ * Uses linguistic algorithms, word databases, and pattern matching.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.SYNONYMS = exports.INDUSTRY_TERMS = exports.MODERN_PREFIXES = exports.MODERN_SUFFIXES = void 0;
10
+ exports.segmentWords = segmentWords;
11
+ exports.getSynonyms = getSynonyms;
12
+ exports.getIndustryTerms = getIndustryTerms;
13
+ exports.detectIndustry = detectIndustry;
14
+ exports.generatePortmanteau = generatePortmanteau;
15
+ exports.generateSmartSuggestions = generateSmartSuggestions;
16
+ exports.scoreDomainName = scoreDomainName;
17
+ /**
18
+ * Common word synonyms for domain name variations.
19
+ */
20
+ const SYNONYMS = {
21
+ // Tech terms
22
+ app: ['application', 'software', 'tool', 'platform', 'service'],
23
+ tech: ['technology', 'digital', 'cyber', 'smart', 'intelligent'],
24
+ code: ['coding', 'dev', 'developer', 'programming', 'software'],
25
+ dev: ['developer', 'development', 'code', 'build', 'create'],
26
+ web: ['online', 'internet', 'digital', 'cloud', 'net'],
27
+ cloud: ['sky', 'air', 'vapor', 'hosted', 'saas'],
28
+ data: ['info', 'analytics', 'metrics', 'insights', 'stats'],
29
+ ai: ['intelligent', 'smart', 'ml', 'brain', 'neural', 'cognitive'],
30
+ api: ['connect', 'integrate', 'link', 'bridge', 'hub'],
31
+ // Business terms
32
+ shop: ['store', 'market', 'mart', 'outlet', 'bazaar', 'emporium'],
33
+ buy: ['purchase', 'get', 'acquire', 'order', 'shop'],
34
+ sell: ['trade', 'market', 'vend', 'deal', 'offer'],
35
+ pay: ['payment', 'checkout', 'billing', 'invoice', 'finance'],
36
+ money: ['cash', 'funds', 'finance', 'capital', 'wealth'],
37
+ business: ['biz', 'enterprise', 'company', 'corp', 'venture'],
38
+ // Action terms
39
+ get: ['grab', 'fetch', 'obtain', 'acquire', 'access'],
40
+ find: ['search', 'discover', 'locate', 'seek', 'explore'],
41
+ make: ['create', 'build', 'craft', 'forge', 'generate'],
42
+ send: ['deliver', 'ship', 'dispatch', 'transmit', 'share'],
43
+ connect: ['link', 'join', 'unite', 'bridge', 'sync'],
44
+ // Descriptive terms
45
+ fast: ['quick', 'rapid', 'swift', 'speedy', 'instant', 'turbo'],
46
+ smart: ['clever', 'intelligent', 'bright', 'wise', 'genius'],
47
+ easy: ['simple', 'effortless', 'smooth', 'breeze', 'snap'],
48
+ free: ['gratis', 'open', 'libre', 'zero', 'complimentary'],
49
+ pro: ['professional', 'expert', 'premium', 'elite', 'master'],
50
+ // Size/Scale
51
+ big: ['large', 'mega', 'giant', 'huge', 'vast', 'grand'],
52
+ small: ['mini', 'tiny', 'micro', 'little', 'compact', 'lite'],
53
+ // Quality
54
+ best: ['top', 'prime', 'premier', 'superior', 'ultimate', 'optimal'],
55
+ good: ['great', 'awesome', 'excellent', 'superb', 'stellar'],
56
+ new: ['fresh', 'novel', 'modern', 'next', 'neo', 'latest'],
57
+ // Food & Lifestyle
58
+ food: ['eats', 'cuisine', 'kitchen', 'chef', 'meal', 'dish'],
59
+ coffee: ['cafe', 'brew', 'bean', 'roast', 'espresso', 'java'],
60
+ health: ['wellness', 'fit', 'vital', 'care', 'med', 'life'],
61
+ home: ['house', 'living', 'nest', 'haven', 'dwelling', 'abode'],
62
+ // Creative
63
+ design: ['creative', 'art', 'studio', 'craft', 'pixel', 'visual'],
64
+ media: ['content', 'channel', 'stream', 'broadcast', 'press'],
65
+ photo: ['image', 'pic', 'snap', 'shot', 'lens', 'capture'],
66
+ video: ['film', 'motion', 'clip', 'reel', 'stream', 'watch'],
67
+ music: ['audio', 'sound', 'tune', 'beat', 'melody', 'sonic'],
68
+ // Social
69
+ social: ['community', 'network', 'connect', 'share', 'together'],
70
+ team: ['crew', 'squad', 'group', 'tribe', 'collective', 'guild'],
71
+ chat: ['talk', 'message', 'speak', 'convo', 'discuss', 'voice'],
72
+ // Nature
73
+ green: ['eco', 'earth', 'nature', 'leaf', 'organic', 'bio'],
74
+ blue: ['ocean', 'sky', 'azure', 'aqua', 'marine', 'wave'],
75
+ sun: ['solar', 'bright', 'light', 'ray', 'shine', 'glow'],
76
+ star: ['stellar', 'astro', 'cosmic', 'nova', 'galaxy', 'orbit'],
77
+ };
78
+ exports.SYNONYMS = SYNONYMS;
79
+ /**
80
+ * Industry-specific vocabulary for contextual suggestions.
81
+ */
82
+ const INDUSTRY_TERMS = {
83
+ tech: [
84
+ 'stack', 'node', 'byte', 'pixel', 'logic', 'algo', 'kernel', 'cache',
85
+ 'sync', 'async', 'stream', 'flux', 'vector', 'tensor', 'quantum', 'cyber',
86
+ ],
87
+ startup: [
88
+ 'launch', 'venture', 'scale', 'pivot', 'disrupt', 'iterate', 'mvp', 'seed',
89
+ 'growth', 'unicorn', 'rocket', 'boost', 'accelerate', 'incubate',
90
+ ],
91
+ finance: [
92
+ 'capital', 'wealth', 'invest', 'fund', 'equity', 'asset', 'profit', 'yield',
93
+ 'trade', 'market', 'stock', 'bond', 'crypto', 'defi', 'fintech',
94
+ ],
95
+ health: [
96
+ 'vital', 'wellness', 'care', 'heal', 'med', 'clinic', 'therapy', 'fit',
97
+ 'nutrition', 'balance', 'mind', 'body', 'pulse', 'life', 'cure',
98
+ ],
99
+ food: [
100
+ 'kitchen', 'chef', 'bistro', 'grill', 'bake', 'fresh', 'organic', 'farm',
101
+ 'harvest', 'plate', 'taste', 'flavor', 'spice', 'savory', 'delish',
102
+ ],
103
+ creative: [
104
+ 'studio', 'canvas', 'palette', 'brush', 'ink', 'craft', 'artisan', 'muse',
105
+ 'vision', 'imagine', 'dream', 'inspire', 'spark', 'bloom', 'hue',
106
+ ],
107
+ ecommerce: [
108
+ 'cart', 'checkout', 'order', 'ship', 'deal', 'offer', 'sale', 'mart',
109
+ 'bazaar', 'outlet', 'depot', 'warehouse', 'supply', 'merchant',
110
+ ],
111
+ education: [
112
+ 'learn', 'teach', 'course', 'class', 'academy', 'scholar', 'study', 'tutor',
113
+ 'mentor', 'skill', 'knowledge', 'wisdom', 'genius', 'brain', 'mind',
114
+ ],
115
+ gaming: [
116
+ 'play', 'game', 'quest', 'level', 'arena', 'battle', 'guild', 'raid',
117
+ 'loot', 'spawn', 'realm', 'world', 'epic', 'legend', 'hero',
118
+ ],
119
+ social: [
120
+ 'connect', 'share', 'follow', 'friend', 'community', 'tribe', 'circle',
121
+ 'network', 'gather', 'meetup', 'hangout', 'squad', 'crew', 'vibe',
122
+ ],
123
+ };
124
+ exports.INDUSTRY_TERMS = INDUSTRY_TERMS;
125
+ /**
126
+ * Modern domain naming patterns and suffixes.
127
+ */
128
+ const MODERN_SUFFIXES = [
129
+ 'ly', 'ify', 'io', 'ai', 'app', 'hq', 'labs', 'hub', 'now', 'go',
130
+ 'up', 'me', 'co', 'so', 'to', 'it', 'os', 'js', 'py', 'dev',
131
+ 'cloud', 'base', 'stack', 'flow', 'space', 'zone', 'spot', 'pad',
132
+ 'box', 'kit', 'way', 'path', 'link', 'sync', 'dash', 'tap', 'pop',
133
+ ];
134
+ exports.MODERN_SUFFIXES = MODERN_SUFFIXES;
135
+ /**
136
+ * Modern domain naming prefixes.
137
+ */
138
+ const MODERN_PREFIXES = [
139
+ 'get', 'try', 'use', 'go', 'hey', 'hi', 'my', 'our', 'the', 'be',
140
+ 'on', 'in', 'up', 'do', 'we', 'all', 'one', 'super', 'ultra', 'mega',
141
+ 'hyper', 'meta', 'neo', 'pro', 'open', 'true', 'real', 'next', 'ever',
142
+ ];
143
+ exports.MODERN_PREFIXES = MODERN_PREFIXES;
144
+ /**
145
+ * Word segmentation - detect words in concatenated strings.
146
+ * Uses a dictionary-based approach with common words.
147
+ */
148
+ const COMMON_WORDS = new Set([
149
+ // Tech
150
+ 'app', 'api', 'web', 'dev', 'code', 'tech', 'data', 'cloud', 'ai', 'ml',
151
+ 'bot', 'net', 'hub', 'lab', 'labs', 'io', 'bit', 'byte', 'node', 'stack',
152
+ 'soft', 'ware', 'software', 'cyber', 'auto', 'smart', 'intel', 'assist',
153
+ // Actions
154
+ 'get', 'set', 'put', 'run', 'go', 'do', 'make', 'find', 'buy', 'pay',
155
+ 'send', 'sync', 'link', 'chat', 'call', 'meet', 'play', 'work', 'ship',
156
+ 'build', 'create', 'start', 'launch', 'grow', 'scale', 'track', 'save',
157
+ // Descriptors
158
+ 'big', 'fast', 'easy', 'free', 'new', 'hot', 'cool', 'top', 'best', 'pro',
159
+ 'smart', 'super', 'ultra', 'mega', 'mini', 'lite', 'plus', 'prime', 'max',
160
+ 'quick', 'rapid', 'swift', 'safe', 'secure', 'clean', 'clear', 'fresh',
161
+ // Business
162
+ 'shop', 'store', 'mart', 'deal', 'sale', 'cash', 'pay', 'bill', 'trade',
163
+ 'biz', 'corp', 'inc', 'co', 'company', 'brand', 'agency', 'firm',
164
+ // General
165
+ 'my', 'our', 'the', 'one', 'all', 'now', 'here', 'next', 'just', 'only',
166
+ 'vibe', 'flow', 'wave', 'spark', 'boost', 'dash', 'snap', 'pop', 'buzz',
167
+ 'zone', 'spot', 'point', 'base', 'core', 'edge', 'peak', 'rise', 'up',
168
+ // Longer common words
169
+ 'hello', 'world', 'cloud', 'space', 'time', 'team', 'group', 'social',
170
+ 'media', 'video', 'photo', 'audio', 'music', 'sound', 'voice', 'chat',
171
+ 'market', 'money', 'health', 'food', 'home', 'life', 'love', 'star',
172
+ 'coding', 'design', 'studio', 'creative', 'digital', 'mobile', 'online',
173
+ // Food & Beverage
174
+ 'coffee', 'cafe', 'brew', 'bean', 'tea', 'juice', 'pizza', 'burger', 'taco',
175
+ 'chef', 'cook', 'kitchen', 'bakery', 'grill', 'diner', 'bistro', 'eatery',
176
+ // Common compound parts
177
+ 'assistant', 'manager', 'finder', 'maker', 'builder', 'tracker', 'planner',
178
+ ]);
179
+ /**
180
+ * Attempt to segment a concatenated string into words.
181
+ */
182
+ function segmentWords(input) {
183
+ const normalized = input.toLowerCase().replace(/[^a-z0-9]/g, '');
184
+ const result = [];
185
+ let remaining = normalized;
186
+ while (remaining.length > 0) {
187
+ let found = false;
188
+ // Try longest match first (up to 12 chars)
189
+ for (let len = Math.min(12, remaining.length); len >= 2; len--) {
190
+ const candidate = remaining.slice(0, len);
191
+ if (COMMON_WORDS.has(candidate)) {
192
+ result.push(candidate);
193
+ remaining = remaining.slice(len);
194
+ found = true;
195
+ break;
196
+ }
197
+ }
198
+ // If no word found, take single char and continue
199
+ if (!found) {
200
+ // Try to find a word starting from next position
201
+ let skipCount = 1;
202
+ for (let skip = 1; skip < Math.min(4, remaining.length); skip++) {
203
+ const subRemaining = remaining.slice(skip);
204
+ for (let len = Math.min(12, subRemaining.length); len >= 2; len--) {
205
+ if (COMMON_WORDS.has(subRemaining.slice(0, len))) {
206
+ skipCount = skip;
207
+ break;
208
+ }
209
+ }
210
+ }
211
+ // Add the prefix as a potential word fragment
212
+ const fragment = remaining.slice(0, skipCount);
213
+ if (fragment.length >= 2) {
214
+ result.push(fragment);
215
+ }
216
+ remaining = remaining.slice(skipCount);
217
+ }
218
+ }
219
+ return result;
220
+ }
221
+ /**
222
+ * Get synonyms for a word.
223
+ */
224
+ function getSynonyms(word) {
225
+ const normalized = word.toLowerCase();
226
+ return SYNONYMS[normalized] || [];
227
+ }
228
+ /**
229
+ * Get industry-specific terms.
230
+ */
231
+ function getIndustryTerms(industry) {
232
+ const normalized = industry.toLowerCase();
233
+ return INDUSTRY_TERMS[normalized] || [];
234
+ }
235
+ /**
236
+ * Detect likely industry from keywords.
237
+ */
238
+ function detectIndustry(words) {
239
+ const wordSet = new Set(words.map(w => w.toLowerCase()));
240
+ const industryIndicators = {
241
+ tech: ['app', 'code', 'coding', 'dev', 'tech', 'software', 'api', 'web', 'cloud', 'ai', 'data', 'cyber', 'digital'],
242
+ startup: ['launch', 'venture', 'startup', 'founder', 'scale', 'growth', 'mvp', 'disrupt'],
243
+ finance: ['pay', 'money', 'bank', 'invest', 'trade', 'crypto', 'fund', 'capital', 'finance', 'fintech'],
244
+ health: ['health', 'fit', 'wellness', 'med', 'care', 'clinic', 'therapy', 'vital', 'nutrition'],
245
+ food: ['food', 'eat', 'coffee', 'kitchen', 'chef', 'restaurant', 'cafe', 'bistro', 'brew', 'cook'],
246
+ creative: ['design', 'art', 'studio', 'creative', 'photo', 'video', 'media', 'pixel', 'visual'],
247
+ ecommerce: ['shop', 'store', 'buy', 'sell', 'cart', 'order', 'deal', 'market', 'commerce'],
248
+ education: ['learn', 'teach', 'course', 'academy', 'school', 'tutor', 'study', 'edu', 'skill'],
249
+ gaming: ['game', 'play', 'quest', 'arena', 'guild', 'level', 'gamer', 'esport'],
250
+ social: ['social', 'connect', 'share', 'community', 'network', 'friend', 'chat', 'vibe'],
251
+ };
252
+ for (const [industry, indicators] of Object.entries(industryIndicators)) {
253
+ for (const indicator of indicators) {
254
+ if (wordSet.has(indicator)) {
255
+ return industry;
256
+ }
257
+ }
258
+ }
259
+ return null;
260
+ }
261
+ /**
262
+ * Generate portmanteau (blended word) from two words.
263
+ */
264
+ function generatePortmanteau(word1, word2) {
265
+ const results = [];
266
+ // Overlap blend: find common letter sequence
267
+ for (let i = 1; i < Math.min(word1.length, 4); i++) {
268
+ const suffix = word1.slice(-i);
269
+ if (word2.toLowerCase().startsWith(suffix.toLowerCase())) {
270
+ results.push(word1 + word2.slice(i));
271
+ }
272
+ }
273
+ // Truncation blend: first part + second part
274
+ if (word1.length >= 3 && word2.length >= 3) {
275
+ const blend1 = word1.slice(0, Math.ceil(word1.length * 0.6)) + word2.slice(Math.floor(word2.length * 0.4));
276
+ const blend2 = word1.slice(0, Math.ceil(word1.length * 0.5)) + word2.slice(Math.floor(word2.length * 0.5));
277
+ results.push(blend1, blend2);
278
+ }
279
+ return [...new Set(results)].filter(r => r.length >= 4 && r.length <= 15);
280
+ }
281
+ function generateSmartSuggestions(input, options = {}) {
282
+ const { maxSuggestions = 50, includePortmanteau = true, includeSynonyms = true, includeIndustryTerms = true, industry, } = options;
283
+ const suggestions = new Set();
284
+ const normalized = input.toLowerCase().replace(/[^a-z0-9]/g, '');
285
+ // Add original
286
+ suggestions.add(normalized);
287
+ // Segment into words
288
+ const words = segmentWords(normalized);
289
+ // Detect or use provided industry
290
+ const detectedIndustry = industry || detectIndustry(words);
291
+ // 1. Modern prefix variations
292
+ for (const prefix of MODERN_PREFIXES.slice(0, 15)) {
293
+ suggestions.add(prefix + normalized);
294
+ for (const word of words) {
295
+ if (word.length >= 3) {
296
+ suggestions.add(prefix + word);
297
+ }
298
+ }
299
+ }
300
+ // 2. Modern suffix variations
301
+ for (const suffix of MODERN_SUFFIXES.slice(0, 15)) {
302
+ suggestions.add(normalized + suffix);
303
+ for (const word of words) {
304
+ if (word.length >= 3) {
305
+ suggestions.add(word + suffix);
306
+ }
307
+ }
308
+ }
309
+ // 3. Synonym-based suggestions
310
+ if (includeSynonyms) {
311
+ for (const word of words) {
312
+ const synonyms = getSynonyms(word);
313
+ for (const synonym of synonyms.slice(0, 3)) {
314
+ // Replace word with synonym
315
+ const newName = words.map(w => w === word ? synonym : w).join('');
316
+ suggestions.add(newName);
317
+ // Add prefix/suffix to synonym
318
+ suggestions.add('get' + synonym);
319
+ suggestions.add(synonym + 'hub');
320
+ suggestions.add(synonym + 'app');
321
+ }
322
+ }
323
+ }
324
+ // 4. Industry-specific suggestions
325
+ if (includeIndustryTerms && detectedIndustry) {
326
+ const industryTerms = getIndustryTerms(detectedIndustry);
327
+ for (const term of industryTerms.slice(0, 8)) {
328
+ suggestions.add(normalized + term);
329
+ suggestions.add(term + normalized);
330
+ for (const word of words) {
331
+ if (word.length >= 3) {
332
+ suggestions.add(word + term);
333
+ suggestions.add(term + word);
334
+ }
335
+ }
336
+ }
337
+ }
338
+ // 5. Portmanteau suggestions
339
+ if (includePortmanteau && words.length >= 2) {
340
+ for (let i = 0; i < words.length - 1; i++) {
341
+ const blends = generatePortmanteau(words[i], words[i + 1]);
342
+ for (const blend of blends) {
343
+ suggestions.add(blend);
344
+ }
345
+ }
346
+ }
347
+ // 6. Word reordering
348
+ if (words.length >= 2) {
349
+ suggestions.add(words.slice().reverse().join(''));
350
+ }
351
+ // 7. Abbreviation suggestions
352
+ if (words.length >= 2) {
353
+ // First letters
354
+ const initials = words.map(w => w[0]).join('');
355
+ if (initials.length >= 2) {
356
+ suggestions.add(initials + 'hub');
357
+ suggestions.add(initials + 'app');
358
+ suggestions.add('go' + initials);
359
+ }
360
+ }
361
+ // 8. Vowel removal (modern style)
362
+ const noVowels = normalized.replace(/[aeiou]/g, '');
363
+ if (noVowels.length >= 3 && noVowels !== normalized) {
364
+ suggestions.add(noVowels);
365
+ suggestions.add(noVowels + 'io');
366
+ suggestions.add(noVowels + 'app');
367
+ }
368
+ // 9. Double letter simplification
369
+ const simplified = normalized.replace(/(.)\1+/g, '$1');
370
+ if (simplified !== normalized && simplified.length >= 3) {
371
+ suggestions.add(simplified);
372
+ }
373
+ // 10. Creative endings
374
+ const creativeEndings = ['ster', 'ery', 'ful', 'ness', 'ize', 'able'];
375
+ for (const ending of creativeEndings) {
376
+ if (!normalized.endsWith(ending)) {
377
+ suggestions.add(normalized + ending);
378
+ }
379
+ }
380
+ // Filter and return
381
+ return Array.from(suggestions)
382
+ .filter(s => s.length >= 3 && s.length <= 20 && /^[a-z0-9]+$/.test(s))
383
+ .slice(0, maxSuggestions);
384
+ }
385
+ /**
386
+ * Score a domain name based on quality metrics.
387
+ */
388
+ function scoreDomainName(name, originalInput) {
389
+ let score = 50;
390
+ // Length preference (shorter is better, but not too short)
391
+ if (name.length <= 6)
392
+ score += 15;
393
+ else if (name.length <= 8)
394
+ score += 10;
395
+ else if (name.length <= 10)
396
+ score += 5;
397
+ else if (name.length > 15)
398
+ score -= 10;
399
+ // Exact match bonus
400
+ if (name === originalInput.toLowerCase().replace(/[^a-z0-9]/g, '')) {
401
+ score += 20;
402
+ }
403
+ // Pronounceability (alternating consonants and vowels is good)
404
+ const vowels = (name.match(/[aeiou]/g) || []).length;
405
+ const ratio = vowels / name.length;
406
+ if (ratio >= 0.25 && ratio <= 0.5)
407
+ score += 10;
408
+ // No triple letters
409
+ if (/(.)\1\1/.test(name))
410
+ score -= 10;
411
+ // Starts with common word bonus
412
+ if (COMMON_WORDS.has(name.slice(0, 3)) || COMMON_WORDS.has(name.slice(0, 4))) {
413
+ score += 5;
414
+ }
415
+ // Modern suffix bonus
416
+ for (const suffix of ['io', 'ai', 'ly', 'ify', 'app', 'hub']) {
417
+ if (name.endsWith(suffix)) {
418
+ score += 5;
419
+ break;
420
+ }
421
+ }
422
+ // No numbers (usually cleaner)
423
+ if (!/\d/.test(name))
424
+ score += 5;
425
+ return score;
426
+ }
427
+ //# sourceMappingURL=semantic-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-engine.js","sourceRoot":"","sources":["../../src/utils/semantic-engine.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.0.0",
3
+ "version": "1.1.1",
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",
package/src/server.ts CHANGED
@@ -10,6 +10,7 @@
10
10
  * - bulk_search: Check many domains at once
11
11
  * - compare_registrars: Compare pricing across registrars
12
12
  * - suggest_domains: Generate available name variations
13
+ * - suggest_domains_smart: AI-powered domain suggestions with semantic analysis
13
14
  * - tld_info: Get TLD information and recommendations
14
15
  * - check_socials: Check social handle availability
15
16
  *
@@ -36,6 +37,8 @@ import {
36
37
  executeCompareRegistrars,
37
38
  suggestDomainsTool,
38
39
  executeSuggestDomains,
40
+ suggestDomainsSmartTool,
41
+ executeSuggestDomainsSmart,
39
42
  tldInfoTool,
40
43
  executeTldInfo,
41
44
  checkSocialsTool,
@@ -57,6 +60,7 @@ const TOOLS: Tool[] = [
57
60
  bulkSearchTool as Tool,
58
61
  compareRegistrarsTool as Tool,
59
62
  suggestDomainsTool as Tool,
63
+ suggestDomainsSmartTool as Tool,
60
64
  tldInfoTool as Tool,
61
65
  checkSocialsTool as Tool,
62
66
  ];
@@ -187,6 +191,18 @@ async function executeToolCall(
187
191
  max_suggestions: (args.max_suggestions as number) || 10,
188
192
  });
189
193
 
194
+ case 'suggest_domains_smart':
195
+ return executeSuggestDomainsSmart({
196
+ query: args.query as string,
197
+ tld: (args.tld as string) || 'com',
198
+ industry: args.industry as
199
+ | 'tech' | 'startup' | 'finance' | 'health' | 'food' | 'creative' | 'ecommerce' | 'education' | 'gaming' | 'social'
200
+ | undefined,
201
+ style: (args.style as 'brandable' | 'descriptive' | 'short' | 'creative') || 'brandable',
202
+ max_suggestions: (args.max_suggestions as number) || 15,
203
+ include_premium: (args.include_premium as boolean) || false,
204
+ });
205
+
190
206
  case 'tld_info':
191
207
  return executeTldInfo({
192
208
  tld: args.tld as string,
@@ -112,14 +112,15 @@ const PLATFORM_CONFIGS: Record<SocialPlatform, PlatformConfig> = {
112
112
  // MEDIUM CONFIDENCE (Status codes, some edge cases)
113
113
  // ─────────────────────────────────────────────────────────────────────────
114
114
  twitter: {
115
- url: 'https://twitter.com/{}',
115
+ // Use oembed API - Twitter SPA returns 200 for all direct requests
116
+ url: 'https://publish.twitter.com/oembed?url=https://twitter.com/{}',
116
117
  profileUrl: 'https://twitter.com/{}',
117
118
  errorType: 'status_code',
118
119
  errorCode: 404,
119
- confidence: 'medium',
120
- method: 'HEAD',
120
+ confidence: 'high', // oembed API is reliable
121
+ method: 'GET',
121
122
  headers: {
122
- 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36',
123
+ 'User-Agent': 'Domain-Search-MCP/1.0',
123
124
  },
124
125
  regexCheck: /^[A-Za-z0-9_]{1,15}$/,
125
126
  },
@@ -226,8 +227,8 @@ export const checkSocialsTool = {
226
227
  description: `Check if a username is available on social media and developer platforms.
227
228
 
228
229
  Supports 10 platforms with varying confidence levels:
229
- - HIGH: GitHub, npm, PyPI, Reddit (reliable public APIs)
230
- - MEDIUM: Twitter/X, YouTube, ProductHunt (status code based)
230
+ - HIGH: GitHub, npm, PyPI, Reddit, Twitter/X (reliable public APIs)
231
+ - MEDIUM: YouTube, ProductHunt (status code based)
231
232
  - LOW: Instagram, LinkedIn, TikTok (block automated checks - verify manually)
232
233
 
233
234
  Returns availability status with confidence indicator.