Skip to main content
Glama
Google Search Console MCP Server

Google Search Console MCP Server

by bilalnaseer

Run Report

wsp_run_report_gsc
Read-onlyIdempotent

Run flexible Google Search Console search analytics reports with custom dimensions, date ranges, filters, sorting, and pagination up to 25,000 rows.

Instructions

Flexible search analytics: choose dimensions, date range, search type, filters, sorting and pagination (up to 25,000 rows).

Input Schema

NameRequiredDescriptionDefault
filtersNoJSON array of filter objects for AND logic across multiple dimensions. Overrides filter_dimension/filter_operator/filter_expression when provided. Each object must have 'dimension', 'operator', and 'expression' keys. Valid dimensions: query, page, country, device. Valid operators: contains, equals, notContains, notEquals. Example: [{"dimension":"country","operator":"equals","expression":"usa"},{"dimension":"device","operator":"equals","expression":"MOBILE"}]
sort_byNoMetric to sort by (clicks, impressions, ctr, position). Applied client-side to the returned rows, since Google only sorts by clicks.clicks
end_dateNoEnd date in YYYY-MM-DD format (defaults to today)
site_urlYesExact GSC property URL from wsp_list_websites_gsc (e.g. "https://example.com/" or "sc-domain:example.com"). Domain properties cover all subdomains — use the domain property as site_url and filter by page to analyze a specific subdomain.
row_limitNoMaximum number of rows to return (max 25000)
start_rowNoStarting row for pagination
data_stateNoData freshness — "all" (default, matches GSC dashboard) or "final" (confirmed data only, 2-3 day lag)
dimensionsNoDimensions to group by, comma-separated (e.g., "query,page,device")query
start_dateNoStart date in YYYY-MM-DD format (defaults to 28 days ago)
search_typeNoType of search results (WEB, IMAGE, VIDEO, NEWS, DISCOVER)WEB
sort_directionNoSort direction (ascending or descending). For position, ascending puts the best (lowest) average position first.descending
filter_operatorNoSingle filter operator (contains, equals, notContains, notEquals)contains
filter_dimensionNoSingle filter dimension (query, page, country, device). Use 'filters' instead for multiple filters.
filter_expressionNoSingle filter expression value

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.0

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered externally. The description adds one genuinely useful behavioral fact: the 25,000-row ceiling. It says nothing about API quota consumption, latency, or that sorting beyond clicks is applied client-side (that detail lives only in the schema), so it adds modest value beyond 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?

A single sentence that front-loads the capability and then enumerates the knobs, with the row cap as a trailing parenthetical. Nothing is wasted and it is easy to scan. It is slightly list-like and could have spent those words on routing guidance instead, which keeps it from a 5.

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

Completeness3/5

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

For a 14-parameter analytics query tool with no output schema, the description covers what the tool does but not what comes back (row shape, metric columns) or which sibling to use for prebuilt views. The rich schema compensates for parameter-level gaps, leaving the description adequate but not complete for the tool's complexity.

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

Parameters3/5

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

Schema description coverage is 100%, so every one of the 14 parameters is already documented in the schema, including defaults, filter JSON structure and the client-side sorting caveat. The description only restates the parameter categories in prose ('dimensions, date range, search type, filters, sorting and pagination'). Baseline 3 is appropriate when the schema carries the semantics.

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

Purpose4/5

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

The description states a concrete capability: running a search-analytics report with configurable dimensions, dates, search type, filters, sorting and pagination. An agent can tell this is the general-purpose query tool of the GSC family. It stops short of explicitly differentiating itself from siblings like wsp_show_traffic_gsc or wsp_compare_dates_gsc, so a 4 rather than a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no named alternatives, despite the sibling set containing overlapping reporting tools (wsp_show_traffic_gsc, wsp_compare_dates_gsc, wsp_find_page_keywords_gsc). The word 'Flexible' only implies this is the general fallback. Nothing tells the agent when to pick this tool over a prebuilt report.

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