Analytics and timelines
These are inputs for MCP tools, not terminal commands. Replace the example property, dates and appearance value with your own.
Hourly data
gsc_search_analytics requires the hour dimension and dataState=hourly_all together. Google provides hourly data for up to the last ten days; replace the illustrative dates below with dates inside that window. See Google’s hourly API guidance. Hour values retain their offsets. metadata.first_incomplete_date and metadata.first_incomplete_hour identify provisional data when returned.
gsc_search_analytics · MCP input
{
"siteUrl": "https://example.com/",
"startDate": "2026-01-01",
"endDate": "2026-01-07",
"dimensions": [
"hour"
],
"dataState": "hourly_all"
}Search appearance
First query searchAppearance as the only dimension. Then use a returned appearance as an equals filter in a second query grouped by page, query or another supported dimension. The filter value below is a placeholder.
gsc_search_analytics · MCP input
{
"siteUrl": "https://example.com/",
"startDate": "2026-01-01",
"endDate": "2026-01-28",
"dimensions": [
"searchAppearance"
]
}gsc_search_analytics · MCP input
{
"siteUrl": "https://example.com/",
"startDate": "2026-01-01",
"endDate": "2026-01-28",
"dimensions": [
"page"
],
"filters": [
{
"dimension": "searchAppearance",
"operator": "equals",
"expression": "replace-with-returned-appearance"
}
]
}Report rules
The public input searchType maps to Google’s type field. Discover excludes query and device; Google News excludes query, while the News search tab supports it. aggregationType accepts auto, byPage, byProperty and byNewsShowcasePanel. Property aggregation excludes page grouping or filtering, Discover and Google News. Showcase aggregation requires Discover or Google News, an equals filter for NEWS_SHOWCASE, and no page grouping or filter. The returned upstream aggregation and compatibility response aggregation are reported separately.
Cannibalization timeline
gsc_detect_cannibalization optionally adds daily evidence with includeTimeline=true. timelineQueryLimit defaults to 5 (1–10), and minDailyImpressions defaults to 10. A summary requires seven observed days; a sustained change requires three consecutive calendar days. Missing rows do not establish zero, and shared daily traffic does not establish simultaneous SERP presence or harm. These remain candidates, not causal findings.
gsc_detect_cannibalization · MCP input
{
"siteUrl": "https://example.com/",
"startDate": "2026-01-01",
"endDate": "2026-01-28",
"includeTimeline": true,
"timelineQueryLimit": 5,
"minDailyImpressions": 10
}Coverage and full evidence
Search Console can return only a subset of rows. Review coverage and warnings before comparing results; an absent row is unknown, not necessarily zero. Timeline previews may be trimmed; use meta.datasetId and gsc_get_dataset to retrieve all recovered candidates. Timeline rows use index, part, parts and evidenceBase64: group and order parts, join base64, decode UTF-8 and parse JSON. Audit evidence uses a different plain-text evidence format.