@serpstat/serpstat-mcp-server 1.0.6 → 1.0.8

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 (43) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +77 -27
  3. package/dist/handlers/backlinks_tools.d.ts.map +1 -1
  4. package/dist/handlers/backlinks_tools.js +0 -245
  5. package/dist/handlers/backlinks_tools.js.map +1 -1
  6. package/dist/handlers/credits_tools.d.ts +19 -0
  7. package/dist/handlers/credits_tools.d.ts.map +1 -0
  8. package/dist/handlers/credits_tools.js +79 -0
  9. package/dist/handlers/credits_tools.js.map +1 -0
  10. package/dist/handlers/project_tools.d.ts +27 -0
  11. package/dist/handlers/project_tools.d.ts.map +1 -0
  12. package/dist/handlers/project_tools.js +167 -0
  13. package/dist/handlers/project_tools.js.map +1 -0
  14. package/dist/handlers/rank_tracking_tools.d.ts +43 -0
  15. package/dist/handlers/rank_tracking_tools.d.ts.map +1 -0
  16. package/dist/handlers/rank_tracking_tools.js +335 -0
  17. package/dist/handlers/rank_tracking_tools.js.map +1 -0
  18. package/dist/server.d.ts.map +1 -1
  19. package/dist/server.js +14 -1
  20. package/dist/server.js.map +1 -1
  21. package/dist/services/credits_service.d.ts +7 -0
  22. package/dist/services/credits_service.d.ts.map +1 -0
  23. package/dist/services/credits_service.js +45 -0
  24. package/dist/services/credits_service.js.map +1 -0
  25. package/dist/services/project_service.d.ts +9 -0
  26. package/dist/services/project_service.d.ts.map +1 -0
  27. package/dist/services/project_service.js +59 -0
  28. package/dist/services/project_service.js.map +1 -0
  29. package/dist/services/rank_tracking_service.d.ts +11 -0
  30. package/dist/services/rank_tracking_service.d.ts.map +1 -0
  31. package/dist/services/rank_tracking_service.js +112 -0
  32. package/dist/services/rank_tracking_service.js.map +1 -0
  33. package/dist/types/serpstat.d.ts +142 -0
  34. package/dist/types/serpstat.d.ts.map +1 -1
  35. package/dist/utils/constants.d.ts +12 -0
  36. package/dist/utils/constants.d.ts.map +1 -1
  37. package/dist/utils/constants.js +13 -1
  38. package/dist/utils/constants.js.map +1 -1
  39. package/dist/utils/validation.d.ts +150 -0
  40. package/dist/utils/validation.d.ts.map +1 -1
  41. package/dist/utils/validation.js +86 -1
  42. package/dist/utils/validation.js.map +1 -1
  43. package/package.json +1 -1
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetCreditsStatsHandler = exports.GetAuditStatsHandler = void 0;
4
+ const base_js_1 = require("./base.js");
5
+ const credits_service_js_1 = require("../services/credits_service.js");
6
+ const validation_js_1 = require("../utils/validation.js");
7
+ const config_js_1 = require("../utils/config.js");
8
+ const zod_1 = require("zod");
9
+ class GetAuditStatsHandler extends base_js_1.BaseHandler {
10
+ creditsService;
11
+ constructor() {
12
+ super();
13
+ const config = (0, config_js_1.loadConfig)();
14
+ this.creditsService = new credits_service_js_1.CreditsService(config);
15
+ }
16
+ getName() {
17
+ return 'get_credits_for_audit_stats';
18
+ }
19
+ getDescription() {
20
+ return 'Check available audit credits including one-page audit, JavaScript scanning, and page crawl limits. Use this before running site audits to verify available resources. This method does not consume API credits.';
21
+ }
22
+ getInputSchema() {
23
+ return {
24
+ type: "object",
25
+ properties: {},
26
+ additionalProperties: false
27
+ };
28
+ }
29
+ async handle(call) {
30
+ try {
31
+ const params = validation_js_1.getAuditStatsSchema.parse(call.arguments);
32
+ const result = await this.creditsService.getAuditStats();
33
+ return this.createSuccessResponse(result);
34
+ }
35
+ catch (error) {
36
+ if (error instanceof zod_1.z.ZodError) {
37
+ return this.createErrorResponse(new Error(`Invalid parameters: ${error.errors.map(e => `${e.path.join('.')}: ${e.message}`).join(', ')}`));
38
+ }
39
+ return this.createErrorResponse(error);
40
+ }
41
+ }
42
+ }
43
+ exports.GetAuditStatsHandler = GetAuditStatsHandler;
44
+ class GetCreditsStatsHandler extends base_js_1.BaseHandler {
45
+ creditsService;
46
+ constructor() {
47
+ super();
48
+ const config = (0, config_js_1.loadConfig)();
49
+ this.creditsService = new credits_service_js_1.CreditsService(config);
50
+ }
51
+ getName() {
52
+ return 'get_credits_stats';
53
+ }
54
+ getDescription() {
55
+ return 'Check available API credits, usage statistics, account information, and browser plugin limits. Perfect for monitoring API usage and planning resource-heavy operations. This method does not consume API credits.';
56
+ }
57
+ getInputSchema() {
58
+ return {
59
+ type: "object",
60
+ properties: {},
61
+ additionalProperties: false
62
+ };
63
+ }
64
+ async handle(call) {
65
+ try {
66
+ const params = validation_js_1.getCreditsStatsSchema.parse(call.arguments);
67
+ const result = await this.creditsService.getCreditsStats();
68
+ return this.createSuccessResponse(result);
69
+ }
70
+ catch (error) {
71
+ if (error instanceof zod_1.z.ZodError) {
72
+ return this.createErrorResponse(new Error(`Invalid parameters: ${error.errors.map(e => `${e.path.join('.')}: ${e.message}`).join(', ')}`));
73
+ }
74
+ return this.createErrorResponse(error);
75
+ }
76
+ }
77
+ }
78
+ exports.GetCreditsStatsHandler = GetCreditsStatsHandler;
79
+ //# sourceMappingURL=credits_tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credits_tools.js","sourceRoot":"","sources":["../../src/handlers/credits_tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { BaseHandler } from './base.js';
2
+ import { MCPToolCall, MCPToolResponse } from '../types/mcp.js';
3
+ export declare class CreateProjectHandler extends BaseHandler {
4
+ private projectService;
5
+ constructor();
6
+ getName(): string;
7
+ getDescription(): string;
8
+ getInputSchema(): object;
9
+ handle(call: MCPToolCall): Promise<MCPToolResponse>;
10
+ }
11
+ export declare class DeleteProjectHandler extends BaseHandler {
12
+ private projectService;
13
+ constructor();
14
+ getName(): string;
15
+ getDescription(): string;
16
+ getInputSchema(): object;
17
+ handle(call: MCPToolCall): Promise<MCPToolResponse>;
18
+ }
19
+ export declare class ListProjectsHandler extends BaseHandler {
20
+ private projectService;
21
+ constructor();
22
+ getName(): string;
23
+ getDescription(): string;
24
+ getInputSchema(): object;
25
+ handle(call: MCPToolCall): Promise<MCPToolResponse>;
26
+ }
27
+ //# sourceMappingURL=project_tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project_tools.d.ts","sourceRoot":"","sources":["../../src/handlers/project_tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAiB/D,qBAAa,oBAAqB,SAAQ,WAAW;IACjD,OAAO,CAAC,cAAc,CAAiB;;IAQvC,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIxB,cAAc,IAAI,MAAM;IAwClB,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;CAY5D;AAED,qBAAa,oBAAqB,SAAQ,WAAW;IACjD,OAAO,CAAC,cAAc,CAAiB;;IAQvC,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIxB,cAAc,IAAI,MAAM;IAelB,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;CAY5D;AAED,qBAAa,mBAAoB,SAAQ,WAAW;IAChD,OAAO,CAAC,cAAc,CAAiB;;IAQvC,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIxB,cAAc,IAAI,MAAM;IAqBlB,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;CAY5D"}
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ListProjectsHandler = exports.DeleteProjectHandler = exports.CreateProjectHandler = void 0;
4
+ const base_js_1 = require("./base.js");
5
+ const project_service_js_1 = require("../services/project_service.js");
6
+ const validation_js_1 = require("../utils/validation.js");
7
+ const config_js_1 = require("../utils/config.js");
8
+ const zod_1 = require("zod");
9
+ const constants_js_1 = require("../utils/constants.js");
10
+ class CreateProjectHandler extends base_js_1.BaseHandler {
11
+ projectService;
12
+ constructor() {
13
+ super();
14
+ const config = (0, config_js_1.loadConfig)();
15
+ this.projectService = new project_service_js_1.ProjectService(config);
16
+ }
17
+ getName() {
18
+ return 'create_project';
19
+ }
20
+ getDescription() {
21
+ return 'Create a new project in Serpstat for tracking SEO metrics and site audits';
22
+ }
23
+ getInputSchema() {
24
+ return {
25
+ type: "object",
26
+ properties: {
27
+ domain: {
28
+ type: "string",
29
+ pattern: constants_js_1.DOMAIN_NAME_REGEX,
30
+ minLength: constants_js_1.MIN_DOMAIN_LENGTH,
31
+ maxLength: constants_js_1.MAX_DOMAIN_LENGTH,
32
+ description: "The domain associated with the project (e.g., example.com)"
33
+ },
34
+ name: {
35
+ type: "string",
36
+ minLength: constants_js_1.MIN_PROJECT_NAME_LENGTH,
37
+ maxLength: constants_js_1.MAX_PROJECT_NAME_LENGTH,
38
+ description: "The name of the project. Can be the same as the domain or a custom name"
39
+ },
40
+ groups: {
41
+ type: "array",
42
+ items: {
43
+ type: "object",
44
+ properties: {
45
+ name: {
46
+ type: "string",
47
+ minLength: constants_js_1.MIN_PROJECT_NAME_LENGTH,
48
+ maxLength: constants_js_1.MAX_PROJECT_GROUP_NAME_LENGTH,
49
+ description: "The name of the group"
50
+ }
51
+ },
52
+ required: ["name"],
53
+ additionalProperties: false
54
+ },
55
+ description: "Optional list of groups to associate with the project. Groups will be created if they don't exist"
56
+ }
57
+ },
58
+ required: ["domain", "name"],
59
+ additionalProperties: false
60
+ };
61
+ }
62
+ async handle(call) {
63
+ try {
64
+ const params = validation_js_1.createProjectSchema.parse(call.arguments);
65
+ const result = await this.projectService.createProject(params);
66
+ return this.createSuccessResponse(result);
67
+ }
68
+ catch (error) {
69
+ if (error instanceof zod_1.z.ZodError) {
70
+ return this.createErrorResponse(new Error(`Invalid parameters: ${error.errors.map(e => `${e.path.join('.')}: ${e.message}`).join(', ')}`));
71
+ }
72
+ return this.createErrorResponse(error);
73
+ }
74
+ }
75
+ }
76
+ exports.CreateProjectHandler = CreateProjectHandler;
77
+ class DeleteProjectHandler extends base_js_1.BaseHandler {
78
+ projectService;
79
+ constructor() {
80
+ super();
81
+ const config = (0, config_js_1.loadConfig)();
82
+ this.projectService = new project_service_js_1.ProjectService(config);
83
+ }
84
+ getName() {
85
+ return 'delete_project';
86
+ }
87
+ getDescription() {
88
+ return 'Permanently delete your project from Serpstat by project ID. **CRITICAL: ALWAYS request explicit user confirmation before executing. This action cannot be undone.**';
89
+ }
90
+ getInputSchema() {
91
+ return {
92
+ type: "object",
93
+ properties: {
94
+ project_id: {
95
+ type: "number",
96
+ minimum: constants_js_1.MIN_PROJECT_ID,
97
+ description: "The unique ID of the project to delete"
98
+ }
99
+ },
100
+ required: ["project_id"],
101
+ additionalProperties: false
102
+ };
103
+ }
104
+ async handle(call) {
105
+ try {
106
+ const params = validation_js_1.deleteProjectSchema.parse(call.arguments);
107
+ const result = await this.projectService.deleteProject(params);
108
+ return this.createSuccessResponse({ success: result });
109
+ }
110
+ catch (error) {
111
+ if (error instanceof zod_1.z.ZodError) {
112
+ return this.createErrorResponse(new Error(`Invalid parameters: ${error.errors.map(e => `${e.path.join('.')}: ${e.message}`).join(', ')}`));
113
+ }
114
+ return this.createErrorResponse(error);
115
+ }
116
+ }
117
+ }
118
+ exports.DeleteProjectHandler = DeleteProjectHandler;
119
+ class ListProjectsHandler extends base_js_1.BaseHandler {
120
+ projectService;
121
+ constructor() {
122
+ super();
123
+ const config = (0, config_js_1.loadConfig)();
124
+ this.projectService = new project_service_js_1.ProjectService(config);
125
+ }
126
+ getName() {
127
+ return 'list_projects';
128
+ }
129
+ getDescription() {
130
+ return 'Retrieve a list of projects associated with the account, with pagination support';
131
+ }
132
+ getInputSchema() {
133
+ return {
134
+ type: "object",
135
+ properties: {
136
+ page: {
137
+ type: "number",
138
+ minimum: constants_js_1.MIN_PAGE,
139
+ default: 1,
140
+ description: "The page number in the projects list"
141
+ },
142
+ size: {
143
+ type: "number",
144
+ enum: constants_js_1.PROJECT_ALLOWED_PAGE_SIZES,
145
+ default: constants_js_1.DEFAULT_PROJECT_PAGE_SIZE,
146
+ description: `Number of results per page. Allowed values: ${constants_js_1.PROJECT_ALLOWED_PAGE_SIZES.join(', ')}`
147
+ }
148
+ },
149
+ additionalProperties: false
150
+ };
151
+ }
152
+ async handle(call) {
153
+ try {
154
+ const params = validation_js_1.getProjectsSchema.parse(call.arguments);
155
+ const result = await this.projectService.getProjects(params);
156
+ return this.createSuccessResponse(result);
157
+ }
158
+ catch (error) {
159
+ if (error instanceof zod_1.z.ZodError) {
160
+ return this.createErrorResponse(new Error(`Invalid parameters: ${error.errors.map(e => `${e.path.join('.')}: ${e.message}`).join(', ')}`));
161
+ }
162
+ return this.createErrorResponse(error);
163
+ }
164
+ }
165
+ }
166
+ exports.ListProjectsHandler = ListProjectsHandler;
167
+ //# sourceMappingURL=project_tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project_tools.js","sourceRoot":"","sources":["../../src/handlers/project_tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { BaseHandler } from './base.js';
2
+ import { MCPToolCall, MCPToolResponse } from '../types/mcp.js';
3
+ export declare class GetRtProjectsListHandler extends BaseHandler {
4
+ private rankTrackingService;
5
+ constructor();
6
+ getName(): string;
7
+ getDescription(): string;
8
+ getInputSchema(): object;
9
+ handle(call: MCPToolCall): Promise<MCPToolResponse>;
10
+ }
11
+ export declare class GetRtProjectStatusHandler extends BaseHandler {
12
+ private rankTrackingService;
13
+ constructor();
14
+ getName(): string;
15
+ getDescription(): string;
16
+ getInputSchema(): object;
17
+ handle(call: MCPToolCall): Promise<MCPToolResponse>;
18
+ }
19
+ export declare class GetRtProjectRegionsListHandler extends BaseHandler {
20
+ private rankTrackingService;
21
+ constructor();
22
+ getName(): string;
23
+ getDescription(): string;
24
+ getInputSchema(): object;
25
+ handle(call: MCPToolCall): Promise<MCPToolResponse>;
26
+ }
27
+ export declare class GetRtProjectKeywordSerpHistoryHandler extends BaseHandler {
28
+ private rankTrackingService;
29
+ constructor();
30
+ getName(): string;
31
+ getDescription(): string;
32
+ getInputSchema(): object;
33
+ handle(call: MCPToolCall): Promise<MCPToolResponse>;
34
+ }
35
+ export declare class GetRtProjectUrlSerpHistoryHandler extends BaseHandler {
36
+ private rankTrackingService;
37
+ constructor();
38
+ getName(): string;
39
+ getDescription(): string;
40
+ getInputSchema(): object;
41
+ handle(call: MCPToolCall): Promise<MCPToolResponse>;
42
+ }
43
+ //# sourceMappingURL=rank_tracking_tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rank_tracking_tools.d.ts","sourceRoot":"","sources":["../../src/handlers/rank_tracking_tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAc/D,qBAAa,wBAAyB,SAAQ,WAAW;IACrD,OAAO,CAAC,mBAAmB,CAAsB;;IAQjD,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIxB,cAAc,IAAI,MAAM;IAqBlB,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;CAY5D;AAED,qBAAa,yBAA0B,SAAQ,WAAW;IACtD,OAAO,CAAC,mBAAmB,CAAsB;;IAQjD,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIxB,cAAc,IAAI,MAAM;IAoBlB,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;CAY5D;AAED,qBAAa,8BAA+B,SAAQ,WAAW;IAC3D,OAAO,CAAC,mBAAmB,CAAsB;;IAQjD,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIxB,cAAc,IAAI,MAAM;IAelB,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;CAY5D;AAED,qBAAa,qCAAsC,SAAQ,WAAW;IAClE,OAAO,CAAC,mBAAmB,CAAsB;;IAQjD,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIxB,cAAc,IAAI,MAAM;IAiElB,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;CAY5D;AAED,qBAAa,iCAAkC,SAAQ,WAAW;IAC9D,OAAO,CAAC,mBAAmB,CAAsB;;IAQjD,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIxB,cAAc,IAAI,MAAM;IAqElB,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;CAY5D"}