Skip to main content
Glama

Search Console Performance

gsc_performance
Read-onlyIdempotent

Read Google Search Console performance (clicks, impressions, CTR, position) by query, page, dimension, or period comparison. Your own connected property; data is Google-finalized with a ~2-3 day lag. days/dates bound every action, and compare_periods contrasts the window with the one immediately before it. Queries for ONE page: dimension_breakdown with dimension=query and filterPage (that page's own numbers per query). Pages for ONE query: dimension_breakdown with dimension=page and filterQuery, or query_pages. The whole site's query-to-page map: query_page_matrix. For diagnosis (cannibalization, CTR outliers) use gsc_insights rather than recomputing here. Already scoped to the connected workspace and its site; no domain or site parameter is needed. Cost: FREE - reads your connected/stored data, no AI credits.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysNoLook-back window in days (defaults ~28). 1-90 for most actions; 7-90 for trend.
pageNoquery_pages only: a full page URL to check - returns its own row for each query, or null when it does not rank.
depthNofolder_rollup only: path depth to group by (1-3, default 1).
limitNoRow cap. top_queries/top_pages/dimension_breakdown default 50; compare_periods rows per period default 500. Ignored by query_page_matrix (use maxRows) and trend.
actionYesWhich operation to run. top_queries (top search queries); top_pages (top pages); dimension_breakdown (by device/country/date, or one page's queries (query + filterPage) / one query's pages (page + filterQuery)); query_page_matrix (cannibalization / query-to-page map); query_pages (which pages rank for given queries, with each page's own numbers); compare_periods (decay/growth vs the prior period); trend (daily clicks/impressions over time); discover_news (Discover / News / Image / Video surfaces); folder_rollup (performance by URL folder / site section); fresh (provisional today/yesterday numbers (hours-old data)).
maxRowsNoquery_page_matrix only: max query-page pairs (100-1000, default 200).
queriesNoREQUIRED for query_pages: 1-5 exact search queries. Page rows are that page's own numbers; queryTotal is site-wide and never a page's number.
surfaceNodiscover_news only: which surface (default discover).
dimensionNoREQUIRED for dimension_breakdown: device|country|date|query|page (query + filterPage = the queries one page ranks for, with that page's own numbers; page + filterQuery = the pages ranking for one query). For compare_periods: query|page (default page). Ignored otherwise.
filterPageNodimension_breakdown only: restrict to one exact page URL, as Search Console records it (pair with dimension=query to see the queries that page ranks for).
filterQueryNodimension_breakdown only: restrict to one exact query (pair with dimension=page to see which pages rank for it).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / maxRows / description
      Previous value: -"query_page_matrix only: max query-page pairs (default 2000)."New value: +"query_page_matrix only: max query-page pairs (100-1000, default 200)."
    • removedInput schema / properties / user_intent
      Removed value: -{
      -  "description": "Optional: one short sentence describing what the user is ultimately trying to achieve with this request. Used by SEOmatic to tailor answers and improve the product; never required.",
      -  "maxLength": 300,
      -  "type": "string"
      -}
  2. Changed4 schema fields changed
    • changedInput schema / properties / action / description
      Previous value: -"Which operation to run. top_queries (top search queries); top_pages (top pages); dimension_breakdown (by device/country/date); query_page_matrix (cannibalization / query-to-page map); query_pages (which pages rank for given queries, with each page's own numbers); compare_periods (decay/growth vs the prior period); trend (daily clicks/impressions over time); discover_news (Discover / News / Image / Video surfaces); folder_rollup (performance by URL folder / site section); fresh (provisional today/yesterday numbers (hours-old data))."New value: +"Which operation to run. top_queries (top search queries); top_pages (top pages); dimension_breakdown (by device/country/date, or one page's queries (query + filterPage) / one query's pages (page + filterQuery)); query_page_matrix (cannibalization / query-to-page map); query_pages (which pages rank for given queries, with each page's own numbers); compare_periods (decay/growth vs the prior period); trend (daily clicks/impressions over time); discover_news (Discover / News / Image / Video surfaces); folder_rollup (performance by URL folder / site section); fresh (provisional today/yesterday numbers (hours-old data))."
    • changedInput schema / properties / dimension / description
      Previous value: -"REQUIRED for dimension_breakdown (device|country|date). For compare_periods: query|page (default page). Ignored otherwise."New value: +"REQUIRED for dimension_breakdown: device|country|date|query|page (query + filterPage = the queries one page ranks for, with that page's own numbers; page + filterQuery = the pages ranking for one query). For compare_periods: query|page (default page). Ignored otherwise."
    • changedInput schema / properties / filterPage / description
      Previous value: -"dimension_breakdown only: restrict to one exact page URL."New value: +"dimension_breakdown only: restrict to one exact page URL, as Search Console records it (pair with dimension=query to see the queries that page ranks for)."
    • changedInput schema / properties / filterQuery / description
      Previous value: -"dimension_breakdown only: restrict to one exact query."New value: +"dimension_breakdown only: restrict to one exact query (pair with dimension=page to see which pages rank for it)."
  3. Changed4 schema fields changed
    • changedInput schema / properties / action / description
      Previous value: -"Which operation to run. top_queries (top search queries); top_pages (top pages); dimension_breakdown (by device/country/date); query_page_matrix (cannibalization / query-to-page map); compare_periods (decay/growth vs the prior period); trend (daily clicks/impressions over time); discover_news (Discover / News / Image / Video surfaces); folder_rollup (performance by URL folder / site section); fresh (provisional today/yesterday numbers (hours-old data))."New value: +"Which operation to run. top_queries (top search queries); top_pages (top pages); dimension_breakdown (by device/country/date); query_page_matrix (cannibalization / query-to-page map); query_pages (which pages rank for given queries, with each page's own numbers); compare_periods (decay/growth vs the prior period); trend (daily clicks/impressions over time); discover_news (Discover / News / Image / Video surfaces); folder_rollup (performance by URL folder / site section); fresh (provisional today/yesterday numbers (hours-old data))."
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "top_queries",
      -  "top_pages",
      -  "dimension_breakdown",
      -  "query_page_matrix",
      -  "compare_periods",
      -  "trend",
      -  "discover_news",
      -  "folder_rollup",
      -  "fresh"
      -]New value: +[
      +  "top_queries",
      +  "top_pages",
      +  "dimension_breakdown",
      +  "query_page_matrix",
      +  "query_pages",
      +  "compare_periods",
      +  "trend",
      +  "discover_news",
      +  "folder_rollup",
      +  "fresh"
      +]
    • addedInput schema / properties / page
      Added value: +{
      +  "description": "query_pages only: a full page URL to check - returns its own row for each query, or null when it does not rank.",
      +  "type": "string"
      +}
    • addedInput schema / properties / queries
      Added value: +{
      +  "description": "REQUIRED for query_pages: 1-5 exact search queries. Page rows are that page's own numbers; queryTotal is site-wide and never a page's number.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  4. Added

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.