@serpstat/serpstat-mcp-server 1.0.9 → 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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,56 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.1.1] - 2025-10-04
4
+
5
+ ### Added
6
+
7
+ - **One-Page Audit Tools Enhancement**: Added seven additional methods for comprehensive one-page audit management and analysis
8
+ - `page_audit_rescan` - Rescan existing one-page audit project and create new audit report with updated settings (consumes 10 API credits per rescan)
9
+ - `page_audit_stop` - Stop active one-page audit scan and receive operation result status (does not consume API credits)
10
+ - `page_audit_delete` - Remove one-page audit project from customer project list permanently (does not consume API credits)
11
+ - `page_audit_get_report_by_categories` - Get audit results by categories for a specific report with error grouping by type and support for comparing with previous reports to track changes (does not consume API credits)
12
+ - `page_audit_report_drill_down` - Get detailed error rows for specific audit error type with filtering by mode (all/new/solved), pagination support, and affected URL list (does not consume API credits)
13
+ - `page_audit_get_scan_names` - Get list of all one-page audit project names with URLs and finished report counts for project discovery (does not consume API credits)
14
+ - `page_audit_scan_logs` - Get user log for audit report with chronological scan events, message types (info/warning/error), parameters, and timestamps for debugging and progress tracking (does not consume API credits)
15
+ - Added comprehensive validation schemas and TypeScript types for all new one-page audit operations
16
+ - Added test coverage for all new one-page audit methods (21 tests covering validation schemas and edge cases)
17
+ - Updated documentation with enhanced one-page audit tools section and complete API reference
18
+
19
+ ## [1.1.1] - 2025-10-03
20
+
21
+ ### Added
22
+
23
+ - **One-Page Audit Tools**: Added four methods for single-page audit analysis with JavaScript rendering support
24
+ - `page_audit_start_scan` - Scan a single webpage with JavaScript rendering and receive pageId and reportId for tracking progress (consumes 10 API credits per scan)
25
+ - `page_audit_get_last_scans` - Get list of all one-page audit projects with latest scan results, SDO scores, and settings information (does not consume API credits)
26
+ - `page_audit_get_reports_for_page` - Get history of all audit reports for a specific page with status, SDO scores, error counts by priority, and progress tracking (does not consume API credits)
27
+ - `page_audit_get_results_report` - Get detailed audit results for a page with error categories grouped by type (meta tags, headings, content, multimedia, etc.) and complete issue breakdown showing priority levels and error counts (does not consume API credits)
28
+ - Added comprehensive validation schemas and TypeScript types for all one-page audit operations
29
+ - Added test coverage for all one-page audit methods (12 tests covering validation schemas)
30
+ - Updated documentation with one-page audit tools section and usage examples
31
+
32
+ ## [1.1.0] - 2025-10-01
33
+
34
+ ### Added
35
+
36
+ - **Site Audit Tools**: Added thirteen methods for comprehensive site audit project management and analysis
37
+ - `get_site_audit_settings` - Retrieve audit settings for a specific project including scan parameters, scheduling options, email notifications, and error detection thresholds (does not consume API credits)
38
+ - `set_site_audit_settings` - Update audit settings for a project with comprehensive configuration options for scan speed, user agent, URL depth, folder depth, keywords filtering, HTTP authentication, scheduling, and custom error thresholds (does not consume API credits)
39
+ - `start_site_audit` - Start an audit session for a specified project and receive a reportId to track audit progress (consumes 1 API credit per successfully scanned page without JS rendering, 10 credits per page with JS rendering)
40
+ - `stop_site_audit` - Stop an active audit session for a project and receive operation result status (does not consume API credits)
41
+ - `get_site_audit_results_by_categories` - Get audit results statistics grouped by issue categories (pages status, meta tags, headings, content, multimedia, indexation, redirects, links, HTTPS, hreflang, AMP, markup, pagespeed) showing critical, medium, low, and informational issue counts per category (does not consume API credits)
42
+ - `get_site_audit_history` - Get historical error count data for a specific error type across multiple audit reports, useful for tracking improvements or regressions in specific SEO issues over time (does not consume API credits)
43
+ - `get_site_audits_list` - Get list of all audit reports for a project with summary statistics including SDO score, pages scanned, error counts, progress percentage, and completion status (does not consume API credits)
44
+ - `get_site_audit_scanned_urls_list` - Get list of URLs that will be scanned based on project scan settings (entire domain, specific URLs only, or imported list) useful for verifying audit scope before starting scans (does not consume API credits)
45
+ - `get_site_audit_project_default_settings` - Get default audit settings template with recommended values for creating new projects, including standard error thresholds, scan parameters, and scheduling options (does not consume API credits)
46
+ - `get_site_audit_bref_info` - Get essential summary information from the latest site audit including Serpstat Domain Optimization Score (SDO), total error counts by priority level (high/medium/low/information), virus count, scan progress percentage, stop status, scanned pages count, redirect count, and captcha detection status (does not consume API credits)
47
+ - `get_site_audit_deteailed_report` - Get the number of errors and issues categorized by issue type found in a specific audit report, with optional comparison to another report showing countAll (total errors), countNew (new errors since comparison), and countFixed (fixed errors since comparison) for tracking audit improvements over time (does not consume API credits)
48
+ - `get_site_audit_pages_spec_errors` - Get a comprehensive list of all pages where a specific audit error was detected, with support for filtering by error display mode (all errors, new errors, or solved errors) and pagination, returning detailed information including startUrl, HTTP status code, finishUrl, occurrence count, and startUrlCrc for each affected page (does not consume API credits)
49
+ - `get_site_audit_elements_with_issues` - Get a list of sub-elements (URLs) which contain specific errors or issues identified by CRC parameter from get_site_audit_pages_spec_errors response, with support for filtering by mode and pagination, useful for drilling down into specific error instances (does not consume API credits)
50
+ - Added comprehensive validation schemas and TypeScript types for all site audit operations
51
+ - Added test coverage for all site audit methods (51 tests covering validation schemas and service methods)
52
+ - Updated documentation with complete site audit tools section and usage examples
53
+
3
54
  ## [1.0.9] - 2025-10-01
4
55
 
5
56
  ### Added
@@ -60,7 +111,7 @@
60
111
  - Added `get_keyword_full_top` method to show Google's top-100 search results for analyzed keywords
61
112
  - Added `get_keywords_info` method to get keyword overview with volume, CPC, competition level, difficulty, and additional metrics for multiple keywords
62
113
  - Added `get_keyword_suggestions` method to show search suggestions for keywords found by full-text search with geographic names information
63
- - Added `get_keyword_top_urls` method to return website pages that rank for the largest amount of analyzed keyword variations with highest traffic
114
+ - Added `get_keyword_top_urls` method to return website pages that rank for the largest amount of analyzed keyword variations with the highest traffic
64
115
  - Added `get_keyword_competitors` method to list domains that rank for the given keyword in Google top-20 results with detailed competitor analysis
65
116
  - Added `get_keyword_top` method to show Google's top-100 search results for analyzed keyword with position, URL, domain and SERP features (deprecated method)
66
117
  - Added `get_anchors` method to analyze anchor text distribution in backlinks with metrics on referring domains, total backlinks, and nofollow counts
package/README.md CHANGED
@@ -153,6 +153,11 @@ After installation and configuration in Claude Desktop, you can ask Claude:
153
153
  - "List all my rank tracker projects"
154
154
  - "Check parsing status for project **12345** in region **2840**"
155
155
 
156
+ ### Site Audit
157
+ - "Get audit settings for project **1113915**"
158
+ - "Start site audit for project **1113915**"
159
+ - "Stop site audit for project **1113915**"
160
+
156
161
  ## MCP Tools
157
162
 
158
163
  ### Domain Analysis Tools
@@ -229,6 +234,40 @@ After installation and configuration in Claude Desktop, you can ask Claude:
229
234
  | get_rt_project_keyword_serp_history | Get Google's top-100 SERP history for rank tracker keywords with positions and URLs *No cost* | projectId, projectRegionId, page|
230
235
  | get_rt_project_url_serp_history | Get ranking history of URLs for rank tracker keywords with historical position data *No cost* | projectId, projectRegionId, page|
231
236
 
237
+ ### Site Audit Tools
238
+
239
+ | Tool Name | Description | Key Parameters |
240
+ |-----------------------------|----------------------------------------------------------------------------------------------------------------------------------|-----------------------------|
241
+ | get_site_audit_settings | Get audit settings for a project including scan parameters, scheduling, and error thresholds *No cost* | projectId |
242
+ | set_site_audit_settings | Update audit settings for a project with scan configuration, scheduling, and notifications *No cost* | projectId, mainSettings, ... |
243
+ | start_site_audit | Start audit session for a project and receive reportId for tracking progress (1 credit/page, 10 credits/page with JS rendering) | projectId |
244
+ | stop_site_audit | Stop active audit session for a project *No cost* | projectId |
245
+ | get_site_audit_results_by_categories | Get audit results statistics grouped by issue categories (pages status, meta tags, links, etc.) *No cost* | reportId |
246
+ | get_site_audit_history | Get historical error count data for a specific error type across multiple audit reports *No cost* | projectId, errorName, limit, offset |
247
+ | get_site_audits_list | Get list of all audit reports for a project with summary statistics and progress information *No cost* | projectId, limit, offset |
248
+ | get_site_audit_scanned_urls_list | Get list of URLs that will be scanned based on project scan settings *No cost* | projectId |
249
+ | get_site_audit_project_default_settings | Get default audit settings template to use when creating new projects *No cost* | - |
250
+ | get_site_audit_bref_info | Get essential summary information from latest audit including SDO score, issue counts by priority, scan progress, and completion status *No cost* | reportId |
251
+ | get_site_audit_deteailed_report | Get number of errors categorized by type with comparison to previous report showing countAll, countNew, and countFixed *No cost* | reportId, compareReportId (optional) |
252
+ | get_site_audit_pages_spec_errors | Get list of all pages where a specific error was detected with filtering by mode (all/new/solved) and pagination support *No cost* | reportId, compareReportId, projectId, errorName, mode, limit, offset |
253
+ | get_site_audit_elements_with_issues | Get list of sub-elements (URLs) containing specific errors using CRC from get_site_audit_pages_spec_errors response *No cost* | reportId, projectId, errorName, crc, compareReportId (optional), mode, limit, offset |
254
+
255
+ ### One Page Audit Tools
256
+
257
+ | Tool Name | Description | Key Parameters |
258
+ |--------------------------------|----------------------------------------------------------------------------------------------------------------------------------|-----------------------------|
259
+ | page_audit_start_scan | Scan a single webpage with JavaScript rendering. Returns pageId and reportId for tracking. Use page_audit_get_reports_for_page to check progress via status and progress fields (10 credits per scan) | name, url, userAgent (recommended: 0 for Chrome), httpAuthLogin (optional), httpAuthPass (optional) |
260
+ | page_audit_get_last_scans | Get list of all one-page audit projects with pageId, url, name, status, lastActiveReport (latest scan results with SDO score), finishedReportCount, settings *No cost* | limit (optional, default 30), offset (optional, default 0), teamMemberId (optional) |
261
+ | page_audit_get_reports_for_page | Get history of all audit reports for a specific page with reportId, auditDate, status (1=in progress, 3=finalizing, 4=completed), SDO score (0-100), error counts, progress (0-100) *No cost* | pageId, limit (optional), offset (optional) |
262
+ | page_audit_get_results_report | Get detailed audit results with categories array (errors grouped by meta_tags, headings, content, multimedia, https, pagespeed_desktop/mobile, etc), hasAdditionRows flag for drill-down availability *No cost* | pageId (from page_audit_get_last_scans or page_audit_start_scan) |
263
+ | page_audit_rescan | Rescan existing one-page audit project and create new audit report. Returns reportId. Track progress via page_audit_get_reports_for_page (10 credits per rescan) | pageId, name, userAgent (recommended: 0 for Chrome), httpAuthLogin (optional), httpAuthPass (optional) |
264
+ | page_audit_stop | Stop active one-page audit scan. Returns boolean indicating success *No cost* | pageId |
265
+ | page_audit_delete | Remove one-page audit project from customer project list permanently. Returns boolean *No cost* | pageId |
266
+ | page_audit_get_report_by_categories | Get audit results by categories for specific report. Use compareReportId to see countNew (errors added) and countFixed (errors resolved) *No cost* | reportId, compareReportId (optional, enables change tracking) |
267
+ | page_audit_report_drill_down | Get detailed problematic elements list. ONLY works for errors with hasAdditionRows=true. Response varies by error type (e.g., image URLs for multimedia errors) *No cost* | reportId, error (must match error.key), mode (all/new/solved, optional), compareReportId (optional), page (optional), size (optional, max 1000) |
268
+ | page_audit_get_scan_names | Get list of all one-page audit project names with pageId, name, url, finishedReportCount for project discovery *No cost* | teamMemberId (optional) |
269
+ | page_audit_scan_logs | Get chronological log of scan events with message (event name), type (info/warning/error), params (event-specific data or []), created_at timestamp for debugging *No cost* | reportId (optional, all scans if not specified), page (optional, default 0), pageSize (optional, default 100) |
270
+
232
271
  ### Search Engines (se parameter)
233
272
 
234
273
  Common search engine codes:
@@ -0,0 +1,91 @@
1
+ import { BaseHandler } from './base.js';
2
+ import { MCPToolCall, MCPToolResponse } from '../types/mcp.js';
3
+ export declare class StartOnePageAuditScanHandler extends BaseHandler {
4
+ private onePageAuditService;
5
+ constructor();
6
+ getName(): string;
7
+ getDescription(): string;
8
+ getInputSchema(): object;
9
+ handle(call: MCPToolCall): Promise<MCPToolResponse>;
10
+ }
11
+ export declare class GetOnePageAuditsListHandler extends BaseHandler {
12
+ private onePageAuditService;
13
+ constructor();
14
+ getName(): string;
15
+ getDescription(): string;
16
+ getInputSchema(): object;
17
+ handle(call: MCPToolCall): Promise<MCPToolResponse>;
18
+ }
19
+ export declare class GetOnePageReportsListHandler extends BaseHandler {
20
+ private onePageAuditService;
21
+ constructor();
22
+ getName(): string;
23
+ getDescription(): string;
24
+ getInputSchema(): object;
25
+ handle(call: MCPToolCall): Promise<MCPToolResponse>;
26
+ }
27
+ export declare class GetOnePageAuditResultsHandler extends BaseHandler {
28
+ private onePageAuditService;
29
+ constructor();
30
+ getName(): string;
31
+ getDescription(): string;
32
+ getInputSchema(): object;
33
+ handle(call: MCPToolCall): Promise<MCPToolResponse>;
34
+ }
35
+ export declare class RescanOnePageAuditHandler extends BaseHandler {
36
+ private onePageAuditService;
37
+ constructor();
38
+ getName(): string;
39
+ getDescription(): string;
40
+ getInputSchema(): object;
41
+ handle(call: MCPToolCall): Promise<MCPToolResponse>;
42
+ }
43
+ export declare class StopOnePageAuditHandler extends BaseHandler {
44
+ private onePageAuditService;
45
+ constructor();
46
+ getName(): string;
47
+ getDescription(): string;
48
+ getInputSchema(): object;
49
+ handle(call: MCPToolCall): Promise<MCPToolResponse>;
50
+ }
51
+ export declare class RemoveOnePageAuditHandler extends BaseHandler {
52
+ private onePageAuditService;
53
+ constructor();
54
+ getName(): string;
55
+ getDescription(): string;
56
+ getInputSchema(): object;
57
+ handle(call: MCPToolCall): Promise<MCPToolResponse>;
58
+ }
59
+ export declare class GetOnePageAuditByCategoriesHandler extends BaseHandler {
60
+ private onePageAuditService;
61
+ constructor();
62
+ getName(): string;
63
+ getDescription(): string;
64
+ getInputSchema(): object;
65
+ handle(call: MCPToolCall): Promise<MCPToolResponse>;
66
+ }
67
+ export declare class GetOnePageAuditErrorRowsHandler extends BaseHandler {
68
+ private onePageAuditService;
69
+ constructor();
70
+ getName(): string;
71
+ getDescription(): string;
72
+ getInputSchema(): object;
73
+ handle(call: MCPToolCall): Promise<MCPToolResponse>;
74
+ }
75
+ export declare class GetOnePageAuditPageNamesHandler extends BaseHandler {
76
+ private onePageAuditService;
77
+ constructor();
78
+ getName(): string;
79
+ getDescription(): string;
80
+ getInputSchema(): object;
81
+ handle(call: MCPToolCall): Promise<MCPToolResponse>;
82
+ }
83
+ export declare class GetOnePageAuditUserLogHandler extends BaseHandler {
84
+ private onePageAuditService;
85
+ constructor();
86
+ getName(): string;
87
+ getDescription(): string;
88
+ getInputSchema(): object;
89
+ handle(call: MCPToolCall): Promise<MCPToolResponse>;
90
+ }
91
+ //# sourceMappingURL=one_page_audit_tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"one_page_audit_tools.d.ts","sourceRoot":"","sources":["../../src/handlers/one_page_audit_tools.ts"],"names":[],"mappings":"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"}