Skip to main content
Glama

QuerySail: Google Search Console

Get Search Console performance

get_performance
Read-onlyIdempotent

Use this to retrieve Google Search Console search performance (clicks, impressions, CTR, average position) for one property. With no dimensions it returns property totals. Add dimensions to break results down by date, hour, query, page, country, device or searchAppearance, and filters to narrow to specific queries, pages, countries, devices or search appearances (for example mobile traffic to pages containing '/blog/'). search_type selects web (default), image, video, news, discover or googleNews results; discover and googleNews have no queries. For what happened in the last hours or days, group by hour (data_state 'hourly', last 10 days only, preliminary). Dates are Pacific Time. If no dates are given it uses the last 28 finalized days (or yesterday and today for hourly) and reports the exact dates it used. Covers one period at a time. Rows are bounded (default 20, max 100); page through with the returned cursor. Google returns only top rows for query/page breakdowns, so results are not guaranteed to be complete, and a missing row does not mean zero. Figures are observed values and do not identify causes. Read-only; cannot request indexing or change anything in Search Console.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "property_id": "<property_id>"
    },
    "name": "get_performance"
  }
}

Input Schema

NameRequiredDescriptionDefault
cursorNoOpaque cursor from coverage.nextCursor of the previous call with the same arguments.
filtersNoAll filters are combined with AND.
end_dateNoInclusive end date, YYYY-MM-DD (Pacific Time). Provide together with start_date.
row_limitNoRows per call. Default 20, maximum 100.
data_stateNo'final' (default) returns finalized data only; 'all' includes recent preliminary data; 'hourly' is required (and implied) when grouping by hour.
dimensionsNoGroup results by these dimensions. Omit for a single totals row. 'hour' cannot be combined with 'date' and needs a range within the last 10 days. 'searchAppearance' lists search features such as review snippets or video and must be the only dimension; to break one feature down further, filter by searchAppearance instead.
start_dateNoInclusive start date, YYYY-MM-DD (Pacific Time). Provide together with end_date.
property_idYesExact property ID from list_properties, e.g. 'sc-domain:example.com' or 'https://example.com/'.
search_typeNoWhich results to report. Default 'web' (the combined 'All' tab). 'news' is the News tab in Search; 'googleNews' is news.google.com and the Google News app.
connection_idNoOptional: force a specific Google connection when the property is visible to several.
include_totalsNoWhen grouping by dimensions, also fetch a separate property-level totals row. Default false.

Output Schema

NameRequiredDescriptionDefault
rowsNo
unitsNo
totalsNo
requestNo
coverageNo
propertyNo
freshnessNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedOutput schema / properties / requestId
      Removed value: -{
      -  "type": "string"
      -}
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/openWorld=false, but the description adds substantial behavior: default of last 28 finalized days with reported exact dates, Pacific Time dates, row bounding (default 20, max 100) with cursor paging, and the key caveat that Google only returns top rows so results are incomplete and a missing row is not zero. It also warns the figures are observed, not causal.

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?

Front-loaded with purpose, then progressively adds mechanics; nearly every clause carries information. Some redundancy with the schema (re-listing dimension and search_type options) makes it longer than strictly necessary, pushing toward a dense run-on sentence.

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

Completeness5/5

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

An output schema exists, so return values need no explanation, and the description still covers paging (cursor), row limits, completeness caveats, and timezone. Nothing an agent needs in order to call this 11-parameter tool correctly is missing.

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 coverage is 100%, so the baseline is 3, but the description adds value beyond the schema by giving a worked filter example ('mobile traffic to pages containing /blog/') and explaining the relationship between data_state, hourly grouping, and date windows. It mostly restates the dimension and search_type enums, keeping it just under the top band.

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?

States a specific verb and resource ('retrieve Google Search Console search performance') plus the exact metrics returned, and immediately clarifies scope ('for one property', 'Covers one period at a time'), which separates it from compare_performance without naming the sibling.

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

Usage Guidelines5/5

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

Explicitly explains when to add dimensions vs. omit them for totals, when to use 'hour' with data_state 'hourly' (last 10 days, preliminary), what search_type values mean, and which combinations are invalid (discover/googleNews have no queries; searchAppearance must be the only dimension). It even shows a concrete filter example for narrowing to mobile /blog/ traffic.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.