Skip to main content
Glama
avansaber

SEOMonster

by avansaber

gsc_compare_periods

Read-onlyIdempotent

Compare current and prior time periods for search performance metrics, identify gainers, losers, and statistical outliers in clicks, impressions, CTR, and position.

Instructions

Compare two equal-length time windows (current vs prior) and return per-key deltas in clicks, impressions, CTR, and position, plus keys present in only one window. v0.2.0: optional sort_by / sort_dir / min_delta_* filters and an anomalies_only z-score gate so the same tool covers 'biggest gainers', 'biggest losers', 'meaningful movers', and 'statistical outliers' without needing separate tools. When anomalies_only=true, the response's filters_applied.sigma_used field reports the population-stdev (sigma) actually computed from the matched rows' sort_by metric distribution; the effective z-score cutoff applied is sigma_threshold * sigma_used.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
topNoCap the returned rows. No cap by default.
daysNoAlias for current_days. current_days wins when both are set.
limitNoAlias for row_limit. row_limit wins when both are set.
sort_byNoMetric to sort matched rows by. Defaults to delta_clicks.
gap_daysNoDays between the two windows. Defaults to 0.
site_urlNoDefaults to the configured default site.
sort_dirNoSort direction. 'desc' for biggest gainers (default). 'asc' for biggest losers. Note: delta_position is reversed (negative = improvement), so use 'asc' to find rank gains.
row_limitNoRows per window query. Defaults to 1000.
dimensionsNoDefaults to ["query"].
current_daysNoLength of each window in days. Defaults to 28.
anomalies_onlyNoIf true, keep only rows where the sort_by metric exceeds sigma_threshold standard deviations from the matched-rows mean (statistical outliers). Default false.
sigma_thresholdNoThreshold for anomalies_only. Defaults to 2.0 (~95th percentile under normality).
min_delta_clicksNoFilter to rows with abs(delta_clicks) >= this. Defaults to 0 (no filter).
min_delta_positionNoFilter to rows with abs(delta_position) >= this. Defaults to 0.
min_delta_impressionsNoFilter to rows with abs(delta_impressions) >= this. Defaults to 0.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, not destructive. The description adds valuable behavioral details: returns per-key deltas, includes keys in only one window, and explains the anomalies_only output (sigma_used). No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph but well-structured: front-loads the core purpose then details. Every sentence provides value, though slightly dense. Could be broken into two sentences for readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema, the description explains return values (per-key deltas, keys in only one window, filters_applied.sigma_used). It covers the main behavioral aspects adequately, though it could mention the response structure more explicitly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, baseline 3. The description adds context beyond the schema, such as the note about sort_dir for delta_position reversal and the z-score cutoff explanation for anomalies_only. This enhances parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: compare two equal-length time windows and return per-key deltas. It distinguishes itself from siblings by noting that it covers multiple comparison types (biggest gainers, losers, movers, outliers) without needing separate tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use the tool (comparing periods, finding gainers/losers/outliers) and describes optional filters and the anomalies_only feature. It does not explicitly state when not to use it, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/avansaber/seo-monster'

If you have feedback or need assistance with the MCP directory API, please join our Discord server