domain-search-mcp 1.1.0 → 1.1.2

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.
Files changed (49) hide show
  1. package/README.md +57 -1
  2. package/context7.json +4 -0
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +1 -0
  5. package/dist/config.js.map +1 -1
  6. package/dist/registrars/godaddy-mcp.d.ts +67 -0
  7. package/dist/registrars/godaddy-mcp.d.ts.map +1 -0
  8. package/dist/registrars/godaddy-mcp.js +301 -0
  9. package/dist/registrars/godaddy-mcp.js.map +1 -0
  10. package/dist/registrars/index.d.ts +1 -0
  11. package/dist/registrars/index.d.ts.map +1 -1
  12. package/dist/registrars/index.js +4 -1
  13. package/dist/registrars/index.js.map +1 -1
  14. package/dist/server.d.ts +1 -0
  15. package/dist/server.d.ts.map +1 -1
  16. package/dist/server.js +11 -0
  17. package/dist/server.js.map +1 -1
  18. package/dist/services/domain-search.d.ts +5 -4
  19. package/dist/services/domain-search.d.ts.map +1 -1
  20. package/dist/services/domain-search.js +24 -8
  21. package/dist/services/domain-search.js.map +1 -1
  22. package/dist/tools/check_socials.d.ts.map +1 -1
  23. package/dist/tools/check_socials.js +21 -6
  24. package/dist/tools/check_socials.js.map +1 -1
  25. package/dist/tools/index.d.ts +1 -0
  26. package/dist/tools/index.d.ts.map +1 -1
  27. package/dist/tools/index.js +5 -1
  28. package/dist/tools/index.js.map +1 -1
  29. package/dist/tools/suggest_domains_smart.d.ts +113 -0
  30. package/dist/tools/suggest_domains_smart.d.ts.map +1 -0
  31. package/dist/tools/suggest_domains_smart.js +311 -0
  32. package/dist/tools/suggest_domains_smart.js.map +1 -0
  33. package/dist/types.d.ts +2 -0
  34. package/dist/types.d.ts.map +1 -1
  35. package/dist/utils/semantic-engine.d.ts +59 -0
  36. package/dist/utils/semantic-engine.d.ts.map +1 -0
  37. package/dist/utils/semantic-engine.js +427 -0
  38. package/dist/utils/semantic-engine.js.map +1 -0
  39. package/package.json +1 -1
  40. package/src/config.ts +1 -0
  41. package/src/registrars/godaddy-mcp.ts +380 -0
  42. package/src/registrars/index.ts +1 -0
  43. package/src/server.ts +16 -0
  44. package/src/services/domain-search.ts +25 -9
  45. package/src/tools/check_socials.ts +22 -6
  46. package/src/tools/index.ts +7 -0
  47. package/src/tools/suggest_domains_smart.ts +392 -0
  48. package/src/types.ts +2 -0
  49. package/src/utils/semantic-engine.ts +483 -0
package/README.md CHANGED
@@ -67,6 +67,7 @@ vibecoding.dev - Available - $10.18/year (Porkbun)
67
67
  | **bulk_search** | Check up to 100 domains at once |
68
68
  | **compare_registrars** | Find the best price across registrars |
69
69
  | **suggest_domains** | Get available variations when your name is taken |
70
+ | **suggest_domains_smart** | AI-powered suggestions from keywords or descriptions |
70
71
  | **tld_info** | Learn about TLDs, restrictions, and typical pricing |
71
72
  | **check_socials** | Verify if usernames are available on GitHub, Twitter, Instagram |
72
73
 
@@ -209,6 +210,59 @@ Get variations when your preferred name is taken:
209
210
  }
210
211
  ```
211
212
 
213
+ ### suggest_domains_smart
214
+
215
+ AI-powered domain suggestions using semantic analysis:
216
+
217
+ ```typescript
218
+ // Input - natural language query
219
+ {
220
+ "query": "ai customer service chatbot",
221
+ "tld": "io",
222
+ "industry": "tech", // optional - auto-detected
223
+ "style": "brandable", // brandable, descriptive, short, creative
224
+ "max_suggestions": 10
225
+ }
226
+
227
+ // Output
228
+ {
229
+ "query": "ai customer service chatbot",
230
+ "detected_words": ["ai", "customer", "service", "chat", "bot"],
231
+ "detected_industry": "tech",
232
+ "results": {
233
+ "available": [
234
+ {
235
+ "domain": "servicebotai.io",
236
+ "price_first_year": 32.98,
237
+ "premium": false,
238
+ "score": 72
239
+ },
240
+ {
241
+ "domain": "chatservicehub.io",
242
+ "price_first_year": 32.98,
243
+ "premium": false,
244
+ "score": 68
245
+ }
246
+ ],
247
+ "premium": [],
248
+ "unavailable_count": 15
249
+ },
250
+ "insights": [
251
+ "🎯 Detected industry: tech",
252
+ "✅ Found 8 available domains",
253
+ "⭐ Top pick: servicebotai.io ($32.98/yr)"
254
+ ],
255
+ "related_terms": ["neural", "cognitive", "assist", "connect"]
256
+ }
257
+ ```
258
+
259
+ **Features:**
260
+ - Understands natural language queries ("coffee shop in seattle")
261
+ - Auto-detects industry for contextual suggestions
262
+ - Generates portmanteau/blended names
263
+ - Multiple style modes (brandable, short, creative)
264
+ - Premium domain detection
265
+
212
266
  ### tld_info
213
267
 
214
268
  Learn about a TLD:
@@ -344,6 +398,7 @@ domain-search-mcp/
344
398
  │ │ ├── bulk_search.ts
345
399
  │ │ ├── compare_registrars.ts
346
400
  │ │ ├── suggest_domains.ts
401
+ │ │ ├── suggest_domains_smart.ts # AI-powered suggestions
347
402
  │ │ ├── tld_info.ts
348
403
  │ │ └── check_socials.ts
349
404
  │ ├── registrars/ # Registrar adapters
@@ -359,7 +414,8 @@ domain-search-mcp/
359
414
  │ ├── logger.ts
360
415
  │ ├── cache.ts
361
416
  │ ├── errors.ts
362
- └── validators.ts
417
+ ├── validators.ts
418
+ │ └── semantic-engine.ts # Word segmentation & suggestions
363
419
  ├── tests/
364
420
  │ ├── unit/
365
421
  │ └── integration/
package/context7.json ADDED
@@ -0,0 +1,4 @@
1
+ {
2
+ "url": "https://context7.com/dorukardahan/domain-search-mcp",
3
+ "public_key": "pk_YtzGAnQaGPFNvP3lcPUjM"
4
+ }
@@ -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;AAoCzC;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAiDnC;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM,QAAe,CAAC;AAEnC;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAM9C"}
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;AAoCzC;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAiDnC;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM,QAAe,CAAC;AAEnC;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAO9C"}
package/dist/config.js CHANGED
@@ -111,6 +111,7 @@ function getAvailableSources() {
111
111
  sources.push('porkbun');
112
112
  if (exports.config.namecheap.enabled)
113
113
  sources.push('namecheap');
114
+ sources.push('godaddy'); // GoDaddy MCP - always available (no auth needed)
114
115
  sources.push('rdap', 'whois'); // Always available as fallbacks
115
116
  return sources;
116
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * GoDaddy MCP Adapter.
3
+ *
4
+ * Uses GoDaddy's public MCP endpoint for domain availability checks.
5
+ * No API key or reseller account required!
6
+ *
7
+ * Endpoint: https://api.godaddy.com/v1/domains/mcp
8
+ * Protocol: JSON-RPC 2.0 over HTTP (Streamable HTTP transport)
9
+ *
10
+ * Features:
11
+ * - Free availability checking (no auth)
12
+ * - Bulk checking up to 1000 domains
13
+ * - Premium/auction domain detection
14
+ *
15
+ * Limitations:
16
+ * - No pricing information
17
+ * - Rate limits not documented (be conservative)
18
+ */
19
+ import { RegistrarAdapter } from './base.js';
20
+ import type { DomainResult, TLDInfo } from '../types.js';
21
+ /**
22
+ * Parse availability from GoDaddy MCP text response.
23
+ * The response is markdown-formatted text with different formats for single vs bulk queries.
24
+ */
25
+ interface ParsedAvailability {
26
+ available: boolean;
27
+ premium: boolean;
28
+ auction: boolean;
29
+ }
30
+ /**
31
+ * GoDaddy MCP Adapter.
32
+ *
33
+ * Uses GoDaddy's public MCP endpoint - no authentication required!
34
+ */
35
+ export declare class GodaddyMcpAdapter extends RegistrarAdapter {
36
+ readonly name = "GoDaddy";
37
+ readonly id = "godaddy";
38
+ constructor();
39
+ /**
40
+ * Check if GoDaddy MCP is enabled.
41
+ * Always enabled since no API key needed!
42
+ */
43
+ isEnabled(): boolean;
44
+ /**
45
+ * Search for domain availability using GoDaddy MCP.
46
+ */
47
+ search(domain: string, tld: string): Promise<DomainResult>;
48
+ /**
49
+ * Bulk check multiple domains at once.
50
+ * GoDaddy MCP supports up to 1000 domains per request!
51
+ */
52
+ bulkSearch(domains: string[]): Promise<Map<string, ParsedAvailability>>;
53
+ /**
54
+ * Get TLD info - not supported by GoDaddy MCP.
55
+ */
56
+ getTldInfo(_tld: string): Promise<TLDInfo | null>;
57
+ /**
58
+ * Call a GoDaddy MCP tool via JSON-RPC.
59
+ */
60
+ private callMcpTool;
61
+ }
62
+ /**
63
+ * Singleton instance.
64
+ */
65
+ export declare const godaddyMcpAdapter: GodaddyMcpAdapter;
66
+ export {};
67
+ //# sourceMappingURL=godaddy-mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"godaddy-mcp.d.ts","sourceRoot":"","sources":["../../src/registrars/godaddy-mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,gBAAgB,EAAe,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAiCzD;;;GAGG;AACH,UAAU,kBAAkB;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AA0HD;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,gBAAgB;IACrD,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,EAAE,aAAa;;IAQxB;;;OAGG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA0BhE;;;OAGG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAmB7E;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAIvD;;OAEG;YACW,WAAW;CAyG1B;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
@@ -0,0 +1,301 @@
1
+ "use strict";
2
+ /**
3
+ * GoDaddy MCP Adapter.
4
+ *
5
+ * Uses GoDaddy's public MCP endpoint for domain availability checks.
6
+ * No API key or reseller account required!
7
+ *
8
+ * Endpoint: https://api.godaddy.com/v1/domains/mcp
9
+ * Protocol: JSON-RPC 2.0 over HTTP (Streamable HTTP transport)
10
+ *
11
+ * Features:
12
+ * - Free availability checking (no auth)
13
+ * - Bulk checking up to 1000 domains
14
+ * - Premium/auction domain detection
15
+ *
16
+ * Limitations:
17
+ * - No pricing information
18
+ * - Rate limits not documented (be conservative)
19
+ */
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.godaddyMcpAdapter = exports.GodaddyMcpAdapter = void 0;
22
+ const zod_1 = require("zod");
23
+ const base_js_1 = require("./base.js");
24
+ const logger_js_1 = require("../utils/logger.js");
25
+ const errors_js_1 = require("../utils/errors.js");
26
+ /**
27
+ * GoDaddy MCP endpoint.
28
+ */
29
+ const GODADDY_MCP_ENDPOINT = 'https://api.godaddy.com/v1/domains/mcp';
30
+ /**
31
+ * JSON-RPC request ID counter.
32
+ */
33
+ let jsonRpcId = 1;
34
+ /**
35
+ * Response schema for MCP tool call.
36
+ */
37
+ const McpResponseSchema = zod_1.z.object({
38
+ jsonrpc: zod_1.z.literal('2.0'),
39
+ id: zod_1.z.number(),
40
+ result: zod_1.z.object({
41
+ content: zod_1.z.array(zod_1.z.object({
42
+ type: zod_1.z.string(),
43
+ text: zod_1.z.string(),
44
+ })),
45
+ isError: zod_1.z.boolean().optional(),
46
+ }).optional(),
47
+ error: zod_1.z.object({
48
+ code: zod_1.z.number(),
49
+ message: zod_1.z.string(),
50
+ }).optional(),
51
+ });
52
+ function parseAvailabilityResponse(text, domain) {
53
+ const normalizedDomain = domain.toLowerCase();
54
+ const normalizedText = text.toLowerCase();
55
+ // Default: unavailable
56
+ const result = {
57
+ available: false,
58
+ premium: false,
59
+ auction: false,
60
+ };
61
+ // ==== SINGLE DOMAIN FORMAT ====
62
+ // Format: "STATUS: ✅ AVAILABLE" or "AVAILABILITY: Standard registration available"
63
+ if (normalizedText.includes('status:') || normalizedText.includes('availability:')) {
64
+ // Check for explicit availability indicators
65
+ if (normalizedText.includes('status: ✅ available') ||
66
+ normalizedText.includes('✅ available') ||
67
+ normalizedText.includes('standard registration available') ||
68
+ normalizedText.includes('purchasable: yes')) {
69
+ result.available = true;
70
+ // Check if premium
71
+ if (normalizedText.includes('type: premium') || normalizedText.includes('premium domain')) {
72
+ result.premium = true;
73
+ }
74
+ // Check if auction
75
+ if (normalizedText.includes('type: auction') || normalizedText.includes('auction domain')) {
76
+ result.auction = true;
77
+ }
78
+ return result;
79
+ }
80
+ // Explicit unavailable
81
+ if (normalizedText.includes('status: ❌') ||
82
+ normalizedText.includes('not available') ||
83
+ normalizedText.includes('already registered') ||
84
+ normalizedText.includes('purchasable: no')) {
85
+ result.available = false;
86
+ return result;
87
+ }
88
+ }
89
+ // ==== BULK DOMAIN FORMAT ====
90
+ // Check if domain appears in available section
91
+ // GoDaddy formats: "✅ **AVAILABLE DOMAINS" or "✅ **STANDARD SUGGESTIONS"
92
+ const availableMatch = text.match(/✅\s*\*\*(?:AVAILABLE|STANDARD)[^]*?(?=(?:💎|⚠️|❌|\*\*[A-Z])|$)/i);
93
+ if (availableMatch && availableMatch[0].toLowerCase().includes(normalizedDomain)) {
94
+ result.available = true;
95
+ return result;
96
+ }
97
+ // Check premium section
98
+ // GoDaddy format: "💎 **PREMIUM DOMAINS"
99
+ const premiumMatch = text.match(/💎\s*\*\*PREMIUM[^]*?(?=(?:⚠️|❌|\*\*[A-Z])|$)/i);
100
+ if (premiumMatch && premiumMatch[0].toLowerCase().includes(normalizedDomain)) {
101
+ result.available = true;
102
+ result.premium = true;
103
+ return result;
104
+ }
105
+ // Check auction section
106
+ // GoDaddy format: "🔨 **AUCTION DOMAINS" or similar
107
+ const auctionMatch = text.match(/🔨\s*\*\*AUCTION[^]*?(?=(?:💎|⚠️|❌|\*\*[A-Z])|$)/i);
108
+ if (auctionMatch && auctionMatch[0].toLowerCase().includes(normalizedDomain)) {
109
+ result.available = true;
110
+ result.auction = true;
111
+ return result;
112
+ }
113
+ // Check unavailable section
114
+ // GoDaddy format: "❌ **UNAVAILABLE DOMAINS"
115
+ const unavailableMatch = text.match(/❌\s*\*\*UNAVAILABLE[^]*?(?=(?:💎|⚠️|\*\*[A-Z])|$)/i);
116
+ if (unavailableMatch && unavailableMatch[0].toLowerCase().includes(normalizedDomain)) {
117
+ result.available = false;
118
+ return result;
119
+ }
120
+ // ==== FALLBACK: LINE-BY-LINE ANALYSIS ====
121
+ const lines = text.split('\n');
122
+ for (const line of lines) {
123
+ const lowerLine = line.toLowerCase();
124
+ // Check for domain-specific lines or general status
125
+ if (lowerLine.includes(normalizedDomain) || lowerLine.includes('status') || lowerLine.includes('available')) {
126
+ // Premium indicators
127
+ if (lowerLine.includes('premium')) {
128
+ result.available = true;
129
+ result.premium = true;
130
+ return result;
131
+ }
132
+ // Auction indicators
133
+ if (lowerLine.includes('auction')) {
134
+ result.available = true;
135
+ result.auction = true;
136
+ return result;
137
+ }
138
+ // Available indicators (must check before unavailable since "unavailable" contains "available")
139
+ if ((lowerLine.includes('✅') && lowerLine.includes('available')) ||
140
+ lowerLine.includes('register at') ||
141
+ lowerLine.includes('can be registered')) {
142
+ result.available = true;
143
+ return result;
144
+ }
145
+ // Unavailable indicators
146
+ if (lowerLine.includes('❌') || lowerLine.includes('unavailable') || lowerLine.includes('not available')) {
147
+ result.available = false;
148
+ return result;
149
+ }
150
+ }
151
+ }
152
+ return result;
153
+ }
154
+ /**
155
+ * GoDaddy MCP Adapter.
156
+ *
157
+ * Uses GoDaddy's public MCP endpoint - no authentication required!
158
+ */
159
+ class GodaddyMcpAdapter extends base_js_1.RegistrarAdapter {
160
+ name = 'GoDaddy';
161
+ id = 'godaddy';
162
+ constructor() {
163
+ // Conservative rate limit - GoDaddy doesn't document their limits
164
+ // Using 30/min to be safe (they say "excessive requests may be throttled")
165
+ super(30);
166
+ }
167
+ /**
168
+ * Check if GoDaddy MCP is enabled.
169
+ * Always enabled since no API key needed!
170
+ */
171
+ isEnabled() {
172
+ return true;
173
+ }
174
+ /**
175
+ * Search for domain availability using GoDaddy MCP.
176
+ */
177
+ async search(domain, tld) {
178
+ const fullDomain = `${domain}.${tld}`;
179
+ return this.retryWithBackoff(async () => {
180
+ const text = await this.callMcpTool('domains_check_availability', {
181
+ domains: fullDomain,
182
+ });
183
+ const parsed = parseAvailabilityResponse(text, fullDomain);
184
+ return this.createResult(domain, tld, {
185
+ available: parsed.available,
186
+ premium: parsed.premium,
187
+ price_first_year: null, // GoDaddy MCP doesn't provide pricing
188
+ price_renewal: null,
189
+ privacy_included: false, // Unknown
190
+ source: 'godaddy_api',
191
+ premium_reason: parsed.premium
192
+ ? 'Premium domain (GoDaddy)'
193
+ : parsed.auction
194
+ ? 'Auction domain (GoDaddy)'
195
+ : undefined,
196
+ });
197
+ }, `check ${fullDomain}`);
198
+ }
199
+ /**
200
+ * Bulk check multiple domains at once.
201
+ * GoDaddy MCP supports up to 1000 domains per request!
202
+ */
203
+ async bulkSearch(domains) {
204
+ const results = new Map();
205
+ // GoDaddy accepts comma-separated domains
206
+ const domainList = domains.join(', ');
207
+ const text = await this.callMcpTool('domains_check_availability', {
208
+ domains: domainList,
209
+ });
210
+ // Parse results for each domain
211
+ for (const domain of domains) {
212
+ const parsed = parseAvailabilityResponse(text, domain);
213
+ results.set(domain.toLowerCase(), parsed);
214
+ }
215
+ return results;
216
+ }
217
+ /**
218
+ * Get TLD info - not supported by GoDaddy MCP.
219
+ */
220
+ async getTldInfo(_tld) {
221
+ return null;
222
+ }
223
+ /**
224
+ * Call a GoDaddy MCP tool via JSON-RPC.
225
+ */
226
+ async callMcpTool(toolName, args) {
227
+ const requestId = jsonRpcId++;
228
+ const payload = {
229
+ jsonrpc: '2.0',
230
+ method: 'tools/call',
231
+ params: {
232
+ name: toolName,
233
+ arguments: args,
234
+ },
235
+ id: requestId,
236
+ };
237
+ logger_js_1.logger.debug('GoDaddy MCP request', {
238
+ tool: toolName,
239
+ args,
240
+ request_id: requestId,
241
+ });
242
+ try {
243
+ const response = await this.withTimeout(fetch(GODADDY_MCP_ENDPOINT, {
244
+ method: 'POST',
245
+ headers: {
246
+ 'Content-Type': 'application/json',
247
+ 'Accept': 'application/json, text/event-stream',
248
+ },
249
+ body: JSON.stringify(payload),
250
+ }), `GoDaddy MCP ${toolName}`, 15000);
251
+ if (!response.ok) {
252
+ throw new errors_js_1.RegistrarApiError('GoDaddy MCP', `HTTP ${response.status}: ${response.statusText}`);
253
+ }
254
+ // Response is SSE format: "event: message\ndata: {...}"
255
+ const rawText = await response.text();
256
+ // Extract JSON from SSE format
257
+ const dataMatch = rawText.match(/data:\s*(\{.*\})/s);
258
+ if (!dataMatch) {
259
+ throw new errors_js_1.RegistrarApiError('GoDaddy MCP', 'Invalid response format - expected SSE');
260
+ }
261
+ const jsonStr = dataMatch[1];
262
+ const parsed = JSON.parse(jsonStr);
263
+ // Validate response
264
+ const validated = McpResponseSchema.parse(parsed);
265
+ if (validated.error) {
266
+ throw new errors_js_1.RegistrarApiError('GoDaddy MCP', `RPC Error ${validated.error.code}: ${validated.error.message}`);
267
+ }
268
+ if (!validated.result || validated.result.isError) {
269
+ throw new errors_js_1.RegistrarApiError('GoDaddy MCP', 'Tool call returned error');
270
+ }
271
+ // Extract text content
272
+ const textContent = validated.result.content.find(c => c.type === 'text');
273
+ if (!textContent) {
274
+ throw new errors_js_1.RegistrarApiError('GoDaddy MCP', 'No text content in response');
275
+ }
276
+ logger_js_1.logger.debug('GoDaddy MCP response', {
277
+ request_id: requestId,
278
+ text_length: textContent.text.length,
279
+ });
280
+ return textContent.text;
281
+ }
282
+ catch (error) {
283
+ if (error instanceof errors_js_1.RegistrarApiError) {
284
+ throw error;
285
+ }
286
+ if (error instanceof Error) {
287
+ if (error.name === 'AbortError' || error.message.includes('timeout')) {
288
+ throw error;
289
+ }
290
+ throw new errors_js_1.RegistrarApiError('GoDaddy MCP', error.message);
291
+ }
292
+ throw new errors_js_1.RegistrarApiError('GoDaddy MCP', 'Unknown network error');
293
+ }
294
+ }
295
+ }
296
+ exports.GodaddyMcpAdapter = GodaddyMcpAdapter;
297
+ /**
298
+ * Singleton instance.
299
+ */
300
+ exports.godaddyMcpAdapter = new GodaddyMcpAdapter();
301
+ //# sourceMappingURL=godaddy-mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"godaddy-mcp.js","sourceRoot":"","sources":["../../src/registrars/godaddy-mcp.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,5 @@
4
4
  export { RegistrarAdapter } from './base.js';
5
5
  export { PorkbunAdapter, porkbunAdapter } from './porkbun.js';
6
6
  export { NamecheapAdapter, namecheapAdapter } from './namecheap.js';
7
+ export { GodaddyMcpAdapter, godaddyMcpAdapter } from './godaddy-mcp.js';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registrars/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registrars/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * Registrar Exports.
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.namecheapAdapter = exports.NamecheapAdapter = exports.porkbunAdapter = exports.PorkbunAdapter = exports.RegistrarAdapter = void 0;
6
+ exports.godaddyMcpAdapter = exports.GodaddyMcpAdapter = exports.namecheapAdapter = exports.NamecheapAdapter = exports.porkbunAdapter = exports.PorkbunAdapter = exports.RegistrarAdapter = void 0;
7
7
  var base_js_1 = require("./base.js");
8
8
  Object.defineProperty(exports, "RegistrarAdapter", { enumerable: true, get: function () { return base_js_1.RegistrarAdapter; } });
9
9
  var porkbun_js_1 = require("./porkbun.js");
@@ -12,4 +12,7 @@ Object.defineProperty(exports, "porkbunAdapter", { enumerable: true, get: functi
12
12
  var namecheap_js_1 = require("./namecheap.js");
13
13
  Object.defineProperty(exports, "NamecheapAdapter", { enumerable: true, get: function () { return namecheap_js_1.NamecheapAdapter; } });
14
14
  Object.defineProperty(exports, "namecheapAdapter", { enumerable: true, get: function () { return namecheap_js_1.namecheapAdapter; } });
15
+ var godaddy_mcp_js_1 = require("./godaddy-mcp.js");
16
+ Object.defineProperty(exports, "GodaddyMcpAdapter", { enumerable: true, get: function () { return godaddy_mcp_js_1.GodaddyMcpAdapter; } });
17
+ Object.defineProperty(exports, "godaddyMcpAdapter", { enumerable: true, get: function () { return godaddy_mcp_js_1.godaddyMcpAdapter; } });
15
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registrars/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,qCAA6C;AAApC,2GAAA,gBAAgB,OAAA;AACzB,2CAA8D;AAArD,4GAAA,cAAc,OAAA;AAAE,4GAAA,cAAc,OAAA;AACvC,+CAAoE;AAA3D,gHAAA,gBAAgB,OAAA;AAAE,gHAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registrars/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,qCAA6C;AAApC,2GAAA,gBAAgB,OAAA;AACzB,2CAA8D;AAArD,4GAAA,cAAc,OAAA;AAAE,4GAAA,cAAc,OAAA;AACvC,+CAAoE;AAA3D,gHAAA,gBAAgB,OAAA;AAAE,gHAAA,gBAAgB,OAAA;AAC3C,mDAAwE;AAA/D,mHAAA,iBAAiB,OAAA;AAAE,mHAAA,iBAAiB,OAAA"}
package/dist/server.d.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
  *
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;GAeG"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;GAgBG"}
package/dist/server.js CHANGED
@@ -11,6 +11,7 @@
11
11
  * - bulk_search: Check many domains at once
12
12
  * - compare_registrars: Compare pricing across registrars
13
13
  * - suggest_domains: Generate available name variations
14
+ * - suggest_domains_smart: AI-powered domain suggestions with semantic analysis
14
15
  * - tld_info: Get TLD information and recommendations
15
16
  * - check_socials: Check social handle availability
16
17
  *
@@ -37,6 +38,7 @@ const TOOLS = [
37
38
  index_js_2.bulkSearchTool,
38
39
  index_js_2.compareRegistrarsTool,
39
40
  index_js_2.suggestDomainsTool,
41
+ index_js_2.suggestDomainsSmartTool,
40
42
  index_js_2.tldInfoTool,
41
43
  index_js_2.checkSocialsTool,
42
44
  ];
@@ -141,6 +143,15 @@ async function executeToolCall(name, args) {
141
143
  variants: args.variants,
142
144
  max_suggestions: args.max_suggestions || 10,
143
145
  });
146
+ case 'suggest_domains_smart':
147
+ return (0, index_js_2.executeSuggestDomainsSmart)({
148
+ query: args.query,
149
+ tld: args.tld || 'com',
150
+ industry: args.industry,
151
+ style: args.style || 'brandable',
152
+ max_suggestions: args.max_suggestions || 15,
153
+ include_premium: args.include_premium || false,
154
+ });
144
155
  case 'tld_info':
145
156
  return (0, index_js_2.executeTldInfo)({
146
157
  tld: args.tld,
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,11 @@
2
2
  * Domain Search Service.
3
3
  *
4
4
  * Orchestrates domain availability checks across multiple sources:
5
- * 1. Porkbun (primary, if configured)
6
- * 2. Namecheap (secondary, if configured)
7
- * 3. RDAP (fallback, always available)
8
- * 4. WHOIS (last resort, always available)
5
+ * 1. Porkbun (primary, if configured - has pricing)
6
+ * 2. Namecheap (secondary, if configured - has pricing)
7
+ * 3. GoDaddy MCP (always available - no auth, no pricing, great availability data)
8
+ * 4. RDAP (fallback, always available)
9
+ * 5. WHOIS (last resort, always available)
9
10
  *
10
11
  * Handles:
11
12
  * - Smart source selection based on availability and configuration
@@ -1 +1 @@
1
- {"version":3,"file":"domain-search.d.ts","sourceRoot":"","sources":["../../src/services/domain-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAc,MAAM,aAAa,CAAC;AAyB5E;;GAEG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,MAAM,EAAyB,EACrC,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAC7B,OAAO,CAAC,cAAc,CAAC,CAiEzB;AAuUD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EAAE,EACjB,GAAG,GAAE,MAAc,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,aAAa,GAAE,MAAU,GACxB,OAAO,CAAC,YAAY,EAAE,CAAC,CA4CzB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,UAAU,GAAE,MAAM,EAA6B,GAC9C,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,CA4DD"}
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,EAAc,MAAM,aAAa,CAAC;AAyB5E;;GAEG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,MAAM,EAAyB,EACrC,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAC7B,OAAO,CAAC,cAAc,CAAC,CAiEzB;AAsVD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EAAE,EACjB,GAAG,GAAE,MAAc,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,aAAa,GAAE,MAAU,GACxB,OAAO,CAAC,YAAY,EAAE,CAAC,CA4CzB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,UAAU,GAAE,MAAM,EAA6B,GAC9C,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,CA4DD"}