@serpstat/serpstat-mcp-server 1.0.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 (72) hide show
  1. package/.env.example +10 -0
  2. package/LICENSE +21 -0
  3. package/README.md +288 -0
  4. package/dist/handlers/backlinks_tools.d.ts +11 -0
  5. package/dist/handlers/backlinks_tools.d.ts.map +1 -0
  6. package/dist/handlers/backlinks_tools.js +59 -0
  7. package/dist/handlers/backlinks_tools.js.map +1 -0
  8. package/dist/handlers/base.d.ts +10 -0
  9. package/dist/handlers/base.d.ts.map +1 -0
  10. package/dist/handlers/base.js +26 -0
  11. package/dist/handlers/base.js.map +1 -0
  12. package/dist/handlers/domain.d.ts +11 -0
  13. package/dist/handlers/domain.d.ts.map +1 -0
  14. package/dist/handlers/domain.js +75 -0
  15. package/dist/handlers/domain.js.map +1 -0
  16. package/dist/handlers/domain_tools.d.ts +51 -0
  17. package/dist/handlers/domain_tools.d.ts.map +1 -0
  18. package/dist/handlers/domain_tools.js +538 -0
  19. package/dist/handlers/domain_tools.js.map +1 -0
  20. package/dist/handlers/keyword_tools.d.ts +19 -0
  21. package/dist/handlers/keyword_tools.d.ts.map +1 -0
  22. package/dist/handlers/keyword_tools.js +251 -0
  23. package/dist/handlers/keyword_tools.js.map +1 -0
  24. package/dist/index.d.ts +3 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +31 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/server.d.ts +9 -0
  29. package/dist/server.d.ts.map +1 -0
  30. package/dist/server.js +76 -0
  31. package/dist/server.js.map +1 -0
  32. package/dist/services/backlinks_tools.d.ts +7 -0
  33. package/dist/services/backlinks_tools.d.ts.map +1 -0
  34. package/dist/services/backlinks_tools.js +25 -0
  35. package/dist/services/backlinks_tools.js.map +1 -0
  36. package/dist/services/base.d.ts +13 -0
  37. package/dist/services/base.d.ts.map +1 -0
  38. package/dist/services/base.js +83 -0
  39. package/dist/services/base.js.map +1 -0
  40. package/dist/services/domain.d.ts +7 -0
  41. package/dist/services/domain.d.ts.map +1 -0
  42. package/dist/services/domain.js +26 -0
  43. package/dist/services/domain.js.map +1 -0
  44. package/dist/services/domain_tools.d.ts +13 -0
  45. package/dist/services/domain_tools.d.ts.map +1 -0
  46. package/dist/services/domain_tools.js +111 -0
  47. package/dist/services/domain_tools.js.map +1 -0
  48. package/dist/services/keyword_tools.d.ts +8 -0
  49. package/dist/services/keyword_tools.d.ts.map +1 -0
  50. package/dist/services/keyword_tools.js +43 -0
  51. package/dist/services/keyword_tools.js.map +1 -0
  52. package/dist/types/mcp.d.ts +12 -0
  53. package/dist/types/mcp.d.ts.map +1 -0
  54. package/dist/types/mcp.js +3 -0
  55. package/dist/types/mcp.js.map +1 -0
  56. package/dist/types/serpstat.d.ts +237 -0
  57. package/dist/types/serpstat.d.ts.map +1 -0
  58. package/dist/types/serpstat.js +24 -0
  59. package/dist/types/serpstat.js.map +1 -0
  60. package/dist/utils/config.d.ts +24 -0
  61. package/dist/utils/config.d.ts.map +1 -0
  62. package/dist/utils/config.js +21 -0
  63. package/dist/utils/config.js.map +1 -0
  64. package/dist/utils/logger.d.ts +3 -0
  65. package/dist/utils/logger.d.ts.map +1 -0
  66. package/dist/utils/logger.js +19 -0
  67. package/dist/utils/logger.js.map +1 -0
  68. package/dist/utils/validation.d.ts +952 -0
  69. package/dist/utils/validation.d.ts.map +1 -0
  70. package/dist/utils/validation.js +257 -0
  71. package/dist/utils/validation.js.map +1 -0
  72. package/package.json +46 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW5B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EActB,CAAC;AAEZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,eAAO,MAAM,sBAAsB;;;;;;;;;EAMjC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8CtB,CAAC;AAEZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBlB,CAAC;AAEZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAO1B,CAAC;AAEZ,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAEhF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiD1B,CAAC;AAEZ,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAEhF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8ClB,CAAC;AAEZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkD1B,CAAC;AAEZ,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,257 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRelatedKeywordsSchema = exports.keywordGetSchema = exports.domainUniqKeywordsSchema = exports.domainRegionsCountSchema = exports.domainUrlsSchema = exports.domainKeywordsSchema = exports.backlinksSummarySchema = exports.competitorsGetSchema = exports.domainsInfoSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const serpstat_js_1 = require("../types/serpstat.js");
6
+ const searchEngineSchema = zod_1.z.enum(serpstat_js_1.SEARCH_ENGINES);
7
+ exports.domainsInfoSchema = zod_1.z.object({
8
+ domains: zod_1.z.array(zod_1.z.string().min(1)).min(1).max(10),
9
+ se: searchEngineSchema,
10
+ filters: zod_1.z.object({
11
+ traff: zod_1.z.number().int().positive().optional(),
12
+ traff_from: zod_1.z.number().int().positive().optional(),
13
+ traff_to: zod_1.z.number().int().positive().optional(),
14
+ visible: zod_1.z.number().positive().optional(),
15
+ visible_from: zod_1.z.number().positive().optional(),
16
+ visible_to: zod_1.z.number().positive().optional(),
17
+ }).optional(),
18
+ });
19
+ exports.competitorsGetSchema = zod_1.z.object({
20
+ domain: zod_1.z.string()
21
+ .min(4)
22
+ .max(253)
23
+ .regex(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),
24
+ se: searchEngineSchema,
25
+ size: zod_1.z.number().int().min(1).max(100).default(10),
26
+ filters: zod_1.z.object({
27
+ visible: zod_1.z.number().min(0).optional(),
28
+ traff: zod_1.z.number().int().min(0).optional(),
29
+ minus_domains: zod_1.z.array(zod_1.z.string().regex(/^([a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]\.)+[a-zA-Z]{2,}$/)).min(1).max(50).optional()
30
+ }).optional()
31
+ }).strict();
32
+ exports.backlinksSummarySchema = zod_1.z.object({
33
+ query: zod_1.z.string()
34
+ .min(4)
35
+ .max(253)
36
+ .regex(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),
37
+ searchType: zod_1.z.enum(["domain", "domain_with_subdomains"]).default("domain")
38
+ });
39
+ exports.domainKeywordsSchema = zod_1.z.object({
40
+ domain: zod_1.z.string()
41
+ .min(4)
42
+ .max(253)
43
+ .regex(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),
44
+ se: searchEngineSchema,
45
+ withSubdomains: zod_1.z.boolean().optional(),
46
+ withIntents: zod_1.z.boolean().optional(),
47
+ url: zod_1.z.string().url().optional(),
48
+ keywords: zod_1.z.array(zod_1.z.string().min(1).max(100)).max(50).optional(),
49
+ minusKeywords: zod_1.z.array(zod_1.z.string().min(1).max(100)).max(50).optional(),
50
+ page: zod_1.z.number().int().min(1).default(1).optional(),
51
+ size: zod_1.z.number().int().min(1).max(1000).default(100).optional(),
52
+ sort: zod_1.z.object({
53
+ position: zod_1.z.enum(["asc", "desc"]).optional(),
54
+ region_queries_count: zod_1.z.enum(["asc", "desc"]).optional(),
55
+ cost: zod_1.z.enum(["asc", "desc"]).optional(),
56
+ traff: zod_1.z.enum(["asc", "desc"]).optional(),
57
+ difficulty: zod_1.z.enum(["asc", "desc"]).optional(),
58
+ keyword_length: zod_1.z.enum(["asc", "desc"]).optional(),
59
+ concurrency: zod_1.z.enum(["asc", "desc"]).optional(),
60
+ }).partial().optional(),
61
+ filters: zod_1.z.object({
62
+ position: zod_1.z.number().int().min(1).max(100).optional(),
63
+ position_from: zod_1.z.number().int().min(1).max(100).optional(),
64
+ position_to: zod_1.z.number().int().min(1).max(100).optional(),
65
+ cost: zod_1.z.number().min(0).optional(),
66
+ cost_from: zod_1.z.number().min(0).optional(),
67
+ cost_to: zod_1.z.number().min(0).optional(),
68
+ region_queries_count: zod_1.z.number().int().min(0).optional(),
69
+ region_queries_count_from: zod_1.z.number().int().min(0).optional(),
70
+ region_queries_count_to: zod_1.z.number().int().min(0).optional(),
71
+ traff: zod_1.z.number().int().min(0).optional(),
72
+ difficulty: zod_1.z.number().min(0).max(100).optional(),
73
+ difficulty_from: zod_1.z.number().min(0).max(100).optional(),
74
+ difficulty_to: zod_1.z.number().min(0).max(100).optional(),
75
+ keyword_length: zod_1.z.number().int().min(1).optional(),
76
+ concurrency: zod_1.z.number().int().min(1).max(100).optional(),
77
+ concurrency_from: zod_1.z.number().int().min(1).max(100).optional(),
78
+ concurrency_to: zod_1.z.number().int().min(1).max(100).optional(),
79
+ right_spelling: zod_1.z.boolean().optional(),
80
+ keyword_contain: zod_1.z.string().optional(),
81
+ keyword_not_contain: zod_1.z.string().optional(),
82
+ intents_contain: zod_1.z.array(zod_1.z.enum(["informational", "navigational", "commercial", "transactional"])).optional(),
83
+ intents_not_contain: zod_1.z.array(zod_1.z.enum(["informational", "navigational", "commercial", "transactional"])).optional(),
84
+ }).partial().optional(),
85
+ }).strict();
86
+ exports.domainUrlsSchema = zod_1.z.object({
87
+ domain: zod_1.z.string()
88
+ .min(4)
89
+ .max(253)
90
+ .regex(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),
91
+ se: searchEngineSchema,
92
+ filters: zod_1.z.object({
93
+ url_prefix: zod_1.z.string().max(500).optional(),
94
+ url_contain: zod_1.z.string().max(200).optional(),
95
+ url_not_contain: zod_1.z.string().max(200).optional(),
96
+ }).optional(),
97
+ sort: zod_1.z.object({
98
+ keywords: zod_1.z.enum(["asc", "desc"]).optional(),
99
+ }).optional(),
100
+ page: zod_1.z.number().int().min(1).default(1).optional(),
101
+ size: zod_1.z.number().int().min(1).max(1000).default(100).optional(),
102
+ }).strict();
103
+ exports.domainRegionsCountSchema = zod_1.z.object({
104
+ domain: zod_1.z.string()
105
+ .min(4)
106
+ .max(253)
107
+ .regex(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),
108
+ sort: zod_1.z.enum(["keywords_count", "country_name_en", "db_name"]).optional(),
109
+ order: zod_1.z.enum(["asc", "desc"]).optional(),
110
+ }).strict();
111
+ exports.domainUniqKeywordsSchema = zod_1.z.object({
112
+ se: searchEngineSchema,
113
+ domains: zod_1.z.array(zod_1.z.string()
114
+ .min(4)
115
+ .max(253)
116
+ .regex(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/)).min(1).max(2).refine(arr => new Set(arr).size === arr.length, {
117
+ message: 'domains must be unique',
118
+ }),
119
+ minusDomain: zod_1.z.string()
120
+ .min(4)
121
+ .max(253)
122
+ .regex(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),
123
+ page: zod_1.z.number().int().min(1).default(1).optional(),
124
+ size: zod_1.z.number().int().min(1).max(1000).default(100).optional(),
125
+ filters: zod_1.z.object({
126
+ right_spelling: zod_1.z.boolean().optional(),
127
+ misspelled: zod_1.z.boolean().optional(),
128
+ keywords: zod_1.z.array(zod_1.z.string().min(1).max(100)).max(100).optional(),
129
+ minus_keywords: zod_1.z.array(zod_1.z.string().min(1).max(100)).max(100).optional(),
130
+ queries: zod_1.z.number().int().min(0).optional(),
131
+ queries_from: zod_1.z.number().int().min(0).optional(),
132
+ queries_to: zod_1.z.number().int().min(0).optional(),
133
+ region_queries_count: zod_1.z.number().int().min(0).optional(),
134
+ region_queries_count_from: zod_1.z.number().int().min(0).optional(),
135
+ region_queries_count_to: zod_1.z.number().int().min(0).optional(),
136
+ region_queries_count_wide: zod_1.z.number().int().min(0).optional(),
137
+ region_queries_count_wide_from: zod_1.z.number().int().min(0).optional(),
138
+ region_queries_count_wide_to: zod_1.z.number().int().min(0).optional(),
139
+ cost: zod_1.z.number().min(0).optional(),
140
+ cost_from: zod_1.z.number().min(0).optional(),
141
+ cost_to: zod_1.z.number().min(0).optional(),
142
+ concurrency: zod_1.z.number().int().min(1).max(100).optional(),
143
+ concurrency_from: zod_1.z.number().int().min(1).max(100).optional(),
144
+ concurrency_to: zod_1.z.number().int().min(1).max(100).optional(),
145
+ difficulty: zod_1.z.number().int().min(0).max(100).optional(),
146
+ difficulty_from: zod_1.z.number().int().min(0).max(100).optional(),
147
+ difficulty_to: zod_1.z.number().int().min(0).max(100).optional(),
148
+ keyword_length: zod_1.z.number().int().min(1).optional(),
149
+ keyword_length_from: zod_1.z.number().int().min(1).optional(),
150
+ keyword_length_to: zod_1.z.number().int().min(1).optional(),
151
+ traff: zod_1.z.number().int().min(0).optional(),
152
+ traff_from: zod_1.z.number().int().min(0).optional(),
153
+ traff_to: zod_1.z.number().int().min(0).optional(),
154
+ position: zod_1.z.number().int().min(1).max(100).optional(),
155
+ position_from: zod_1.z.number().int().min(1).max(100).optional(),
156
+ position_to: zod_1.z.number().int().min(1).max(100).optional(),
157
+ }).strict().optional(),
158
+ }).strict();
159
+ exports.keywordGetSchema = zod_1.z.object({
160
+ keyword: zod_1.z.string().min(1).max(100),
161
+ se: zod_1.z.enum([
162
+ "g_us", "g_uk", "g_au", "g_ca", "g_de",
163
+ "g_fr", "g_br", "g_mx", "g_es", "g_bg",
164
+ "g_it", "g_nl", "g_pl", "g_ua"
165
+ ]),
166
+ minusKeywords: zod_1.z.array(zod_1.z.string().min(1).max(100)).max(50).optional(),
167
+ withIntents: zod_1.z.boolean().optional(),
168
+ page: zod_1.z.number().int().min(1).default(1).optional(),
169
+ size: zod_1.z.number().int().min(1).max(1000).default(100).optional(),
170
+ sort: zod_1.z.object({
171
+ region_queries_count: zod_1.z.enum(["asc", "desc"]).optional(),
172
+ cost: zod_1.z.enum(["asc", "desc"]).optional(),
173
+ difficulty: zod_1.z.enum(["asc", "desc"]).optional(),
174
+ concurrency: zod_1.z.enum(["asc", "desc"]).optional(),
175
+ found_results: zod_1.z.enum(["asc", "desc"]).optional(),
176
+ keyword_length: zod_1.z.enum(["asc", "desc"]).optional(),
177
+ }).partial().optional(),
178
+ filters: zod_1.z.object({
179
+ cost: zod_1.z.number().min(0).max(200).optional(),
180
+ cost_from: zod_1.z.number().min(0).max(200).optional(),
181
+ cost_to: zod_1.z.number().min(0).max(200).optional(),
182
+ region_queries_count: zod_1.z.number().int().min(0).max(100000000).optional(),
183
+ region_queries_count_from: zod_1.z.number().int().min(0).max(100000000).optional(),
184
+ region_queries_count_to: zod_1.z.number().int().min(0).max(100000000).optional(),
185
+ keyword_length: zod_1.z.number().int().min(1).optional(),
186
+ keyword_length_from: zod_1.z.number().int().min(1).optional(),
187
+ keyword_length_to: zod_1.z.number().int().min(1).optional(),
188
+ difficulty: zod_1.z.number().int().min(0).max(100).optional(),
189
+ difficulty_from: zod_1.z.number().int().min(0).max(100).optional(),
190
+ difficulty_to: zod_1.z.number().int().min(0).max(100).optional(),
191
+ concurrency: zod_1.z.number().int().min(1).max(100).optional(),
192
+ concurrency_from: zod_1.z.number().int().min(1).max(100).optional(),
193
+ concurrency_to: zod_1.z.number().int().min(1).max(100).optional(),
194
+ right_spelling: zod_1.z.boolean().optional(),
195
+ keyword_contain: zod_1.z.array(zod_1.z.string()).optional(),
196
+ keyword_not_contain: zod_1.z.array(zod_1.z.string()).optional(),
197
+ keyword_contain_one_of: zod_1.z.array(zod_1.z.string()).optional(),
198
+ keyword_not_contain_one_of: zod_1.z.array(zod_1.z.string()).optional(),
199
+ keyword_contain_broad_match: zod_1.z.array(zod_1.z.string()).optional(),
200
+ keyword_not_contain_broad_match: zod_1.z.array(zod_1.z.string()).optional(),
201
+ lang: zod_1.z.string().optional(),
202
+ intents_contain: zod_1.z.array(zod_1.z.enum(["informational", "navigational", "commercial", "transactional"])).optional(),
203
+ intents_not_contain: zod_1.z.array(zod_1.z.enum(["informational", "navigational", "commercial", "transactional"])).optional(),
204
+ }).strict().optional(),
205
+ }).strict();
206
+ exports.getRelatedKeywordsSchema = zod_1.z.object({
207
+ keyword: zod_1.z.string().min(1).max(200),
208
+ se: zod_1.z.enum([
209
+ "g_us", "g_uk", "g_au", "g_ca", "g_de",
210
+ "g_fr", "g_br", "g_mx", "g_es", "g_bg",
211
+ "g_it", "g_nl", "g_pl", "g_ua"
212
+ ]),
213
+ withIntents: zod_1.z.boolean().default(false).optional(),
214
+ page: zod_1.z.number().int().min(1).default(1).optional(),
215
+ size: zod_1.z.number().int().min(1).max(1000).default(100).optional(),
216
+ sort: zod_1.z.object({
217
+ region_queries_count: zod_1.z.enum(["asc", "desc"]).optional(),
218
+ cost: zod_1.z.enum(["asc", "desc"]).optional(),
219
+ difficulty: zod_1.z.enum(["asc", "desc"]).optional(),
220
+ concurrency: zod_1.z.enum(["asc", "desc"]).optional(),
221
+ weight: zod_1.z.enum(["asc", "desc"]).optional(),
222
+ keyword: zod_1.z.enum(["asc", "desc"]).optional(),
223
+ }).strict().optional(),
224
+ filters: zod_1.z.object({
225
+ cost: zod_1.z.number().min(0).max(200).optional(),
226
+ cost_from: zod_1.z.number().min(0).max(200).optional(),
227
+ cost_to: zod_1.z.number().min(0).max(200).optional(),
228
+ region_queries_count: zod_1.z.number().int().min(0).max(100000000).optional(),
229
+ region_queries_count_from: zod_1.z.number().int().min(0).max(100000000).optional(),
230
+ region_queries_count_to: zod_1.z.number().int().min(0).max(100000000).optional(),
231
+ keyword_length: zod_1.z.number().int().min(1).optional(),
232
+ keyword_length_from: zod_1.z.number().int().min(1).optional(),
233
+ keyword_length_to: zod_1.z.number().int().min(1).optional(),
234
+ difficulty: zod_1.z.number().int().min(0).max(100).optional(),
235
+ difficulty_from: zod_1.z.number().int().min(0).max(100).optional(),
236
+ difficulty_to: zod_1.z.number().int().min(0).max(100).optional(),
237
+ concurrency: zod_1.z.number().int().min(1).max(100).optional(),
238
+ concurrency_from: zod_1.z.number().int().min(1).max(100).optional(),
239
+ concurrency_to: zod_1.z.number().int().min(1).max(100).optional(),
240
+ weight: zod_1.z.number().int().min(1).optional(),
241
+ weight_from: zod_1.z.number().min(1).optional(),
242
+ weight_to: zod_1.z.number().min(1).optional(),
243
+ right_spelling: zod_1.z.boolean().optional(),
244
+ keyword_contain: zod_1.z.array(zod_1.z.string()).optional(),
245
+ keyword_not_contain: zod_1.z.array(zod_1.z.string()).optional(),
246
+ keyword_contain_one_of: zod_1.z.array(zod_1.z.string()).optional(),
247
+ keyword_not_contain_one_of: zod_1.z.array(zod_1.z.string()).optional(),
248
+ keyword_contain_broad_match: zod_1.z.array(zod_1.z.string()).optional(),
249
+ keyword_not_contain_broad_match: zod_1.z.array(zod_1.z.string()).optional(),
250
+ keyword_contain_one_of_broad_match: zod_1.z.array(zod_1.z.string()).optional(),
251
+ keyword_not_contain_one_of_broad_match: zod_1.z.array(zod_1.z.string()).optional(),
252
+ geo_names: zod_1.z.enum(["contain", "not_contain"]).optional(),
253
+ types: zod_1.z.array(zod_1.z.string()).optional(),
254
+ intents_contain: zod_1.z.array(zod_1.z.enum(["informational", "navigational", "commercial", "transactional"])).optional(),
255
+ }).strict().optional(),
256
+ }).strict();
257
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "@serpstat/serpstat-mcp-server",
3
+ "version": "1.0.2",
4
+ "description": "Serpstat MCP Server for Serpstat API. Allows you to automate your daily SEO tasks and get results in a few seconds.",
5
+ "license": "MIT",
6
+ "main": "index.js",
7
+ "scripts": {
8
+ "build": "tsc",
9
+ "prepare": "npm run build",
10
+ "start": "node dist/index.js",
11
+ "watch": "tsc --watch",
12
+ "test": "jest"
13
+ },
14
+ "files": [
15
+ "dist",
16
+ ".env.example"
17
+ ],
18
+ "keywords": [
19
+ "Serpstat",
20
+ "MCP",
21
+ "API",
22
+ "Server",
23
+ "SEO"
24
+ ],
25
+ "author": "Sertpstat Team",
26
+ "homepage": "https://serpstat.com/",
27
+ "type": "commonjs",
28
+ "dependencies": {
29
+ "@modelcontextprotocol/sdk": "^1.17.2",
30
+ "@types/node": "^24.2.1",
31
+ "axios": "^1.11.0",
32
+ "eslint": "^8.57.0",
33
+ "jest": "^29.7.0",
34
+ "ts-node": "^10.9.2",
35
+ "tsx": "^4.6.0",
36
+ "typescript": "^5.9.2",
37
+ "winston": "^3.17.0",
38
+ "zod": "^3.22.0"
39
+ },
40
+ "devDependencies": {
41
+ "ts-jest": "^29.1.1"
42
+ },
43
+ "bin": {
44
+ "serpstat-mcp-server": "dist/index.js"
45
+ }
46
+ }