Skip to main content
Glama

SEO GSC Wizard MCP

Get ranking changes between two periods

get_ranking_changes
Read-only

Compares a current period against a comparison period and classifies movers by query or page into new, lost, improved, and declined buckets (improvement = better/lower average position). Useful for spotting what gained or lost visibility between two date ranges. limit (1-10000, default 50) applies PER BUCKET; counts gives the full size of each bucket before that cut. Each period reads its top scanLimit rows ranked by clicks (warehouse: max(limit*10, 1000), capped at 50000; live API: 25000), so counts are measured within those keys. On the warehouse every key in either period's top scanLimit is read in both periods, so new and lost are real; on the live API the two reads are independent, and a key just below one cut can show as new or lost. It is served from the GSC Wizard ClickHouse warehouse when available, otherwise the live Search Console API (see dataSource). Date range is optional: omit startDate/endDate to analyze the last 28 settled days (data lags ~2-3 days).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
endDateNoOptional. Window end as YYYY-MM-DD (e.g. 2026-05-31). You do NOT need to know today's date or the latest available date: omit this and the server uses the latest settled Search Console date (data lags ~2-3 days behind today). Never pass null or the string "null".
siteUrlYes
dimensionNoquery
startDateNoOptional. Window start as YYYY-MM-DD (e.g. 2026-05-03). You do NOT need to know today's date. Omit BOTH startDate and endDate to analyze the last 28 settled days automatically (Search Console data lags ~2-3 days). Never pass null or the string "null".
searchTypeNoweb
comparisonEndDateNoOptional. End of the baseline / comparison period as YYYY-MM-DD. Omit both comparison dates to use the same-length period immediately before the current window; give only this one to end a baseline of the same length here.
comparisonStartDateNoOptional. Start of the baseline / comparison period as YYYY-MM-DD. Omit both comparison dates to use the same-length period immediately before the current window; give only this one to start a baseline of the same length here.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoWidget variant: "kpis", "table", or "sections".
kpisNoKPI cards (kind="kpis").
noteNoCaveat about the result, when the tool returned one.
rowsNoData rows (kind="table").
notesNoCaveats about the result, when the tool returned several.
titleNo
blocksNoStacked sub-blocks (kind="sections").
sourceNo
columnsNoColumn defs (kind="table").
timeZoneNoGA4 property's IANA reporting time zone.
emptyTextNo
siteScopeNoSet when GA4 numbers were narrowed to this site's hostnames because the property is shared with other sites.
dataMaturityNo
settledThroughNoLast day the data is complete through.
comparisonHasDataNofalse when the comparison period has no data at all, so there is no comparison.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / comparisonEndDate / description
      Previous value: -"Optional. End of the baseline / comparison period as YYYY-MM-DD. Omit both comparison dates to use the same-length period immediately before the current window."New value: +"Optional. End of the baseline / comparison period as YYYY-MM-DD. Omit both comparison dates to use the same-length period immediately before the current window; give only this one to end a baseline of the same length here."
    • changedInput schema / properties / comparisonStartDate / description
      Previous value: -"Optional. Start of the baseline / comparison period as YYYY-MM-DD. Omit both comparison dates to use the same-length period immediately before the current window."New value: +"Optional. Start of the baseline / comparison period as YYYY-MM-DD. Omit both comparison dates to use the same-length period immediately before the current window; give only this one to start a baseline of the same length here."
  2. Changed4 schema fields changed
    • addedOutput schema / properties / comparisonHasData
      Added value: +{
      +  "description": "false when the comparison period has no data at all, so there is no comparison.",
      +  "type": [
      +    "boolean",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / note
      Added value: +{
      +  "$ref": "#/properties/kind",
      +  "description": "Caveat about the result, when the tool returned one."
      +}
    • addedOutput schema / properties / notes
      Added value: +{
      +  "$ref": "#/properties/siteScope/anyOf/0/properties/hostnames",
      +  "description": "Caveats about the result, when the tool returned several."
      +}
    • addedOutput schema / properties / siteScope
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "hostnames": {
      +          "anyOf": [
      +            {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "includesSubdomainsOf": {
      +          "$ref": "#/properties/title"
      +        },
      +        "note": {
      +          "$ref": "#/properties/title"
      +        },
      +        "sharedWithSites": {
      +          "$ref": "#/properties/siteScope/anyOf/0/properties/hostnames"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Set when GA4 numbers were narrowed to this site's hostnames because the property is shared with other sites."
      +}
  3. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources