AskWatch Google Search Console MCP
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Ask Google Search Console in plain language. Hosted, free, no Google Cloud project.
| Author | ai.askwatch |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 104 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"AskWatch Google Search Console MCP": {
"url": "https://mcp.askwatch.ai/gsc",
"transport": "streamable-http"
}
}
}
Measured tools (11)
site_overviewread-onlyHow the site did over a period compared with the one before it: clicks, impressions, CTR, average position and the change in each. Covers the question 'how is my site doing'.
Parameters:
days— integer — Length of the window, counted back from the last day with data. Default 28.site— string — Search Console property, exactly as list_sites reports it (sc-domain:example.com or https://example.com/). Optional when the account has only one property.end_date— string — YYYY-MM-DD. Defaults to the last day with data.start_date— string — YYYY-MM-DD. Overrides `days`.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
topread-onlyTop queries, pages, countries or devices for a period. Optionally narrowed to one country or device — 'top pages in Germany on mobile' is one call.
Parameters:
days— integer — Length of the window, counted back from the last day with data. Default 28.site— string — Search Console property, exactly as list_sites reports it (sc-domain:example.com or https://example.com/). Optional when the account has only one property.limit— integer — Rows to return. Default 25, maximum 100; `has_more` says whether there were more.device— stringcountry— string — ISO-3166-1 alpha-3, e.g. deu, usa. Filters rather than groups.end_date— string — YYYY-MM-DD. Defaults to the last day with data.order_by— string — Default clicks.dimension— string — What to group by. Default query.start_date— string — YYYY-MM-DD. Overrides `days`.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
changesread-onlyWhat gained and what lost between this period and the one before it, with small rows filtered out. Answers 'what dropped in the last 28 days'.
Parameters:
days— integer — Length of the window, counted back from the last day with data. Default 28.site— string — Search Console property, exactly as list_sites reports it (sc-domain:example.com or https://example.com/). Optional when the account has only one property.limit— integer — Rows to return. Default 25, maximum 100; `has_more` says whether there were more.end_date— string — YYYY-MM-DD. Defaults to the last day with data.dimension— string — Default query.start_date— string — YYYY-MM-DD. Overrides `days`.min_impressions— integer — Noise floor. Default 30 in either window.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
find_opportunitiesread-onlyQueries ranking 5-20 with plenty of impressions but a click-through rate below what is typical at their position — where a title or snippet rewrite is worth the most clicks.
Parameters:
days— integer — Length of the window, counted back from the last day with data. Default 28.site— string — Search Console property, exactly as list_sites reports it (sc-domain:example.com or https://example.com/). Optional when the account has only one property.limit— integer — Rows to return. Default 25, maximum 100; `has_more` says whether there were more.end_date— string — YYYY-MM-DD. Defaults to the last day with data.start_date— string — YYYY-MM-DD. Overrides `days`.min_impressions— integer — Default 60.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
find_cannibalizationread-onlyQueries where more than one page of the site is being shown, with how each page does on them.
Parameters:
days— integer — Length of the window, counted back from the last day with data. Default 28.site— string — Search Console property, exactly as list_sites reports it (sc-domain:example.com or https://example.com/). Optional when the account has only one property.limit— integer — Rows to return. Default 25, maximum 100; `has_more` says whether there were more.end_date— string — YYYY-MM-DD. Defaults to the last day with data.start_date— string — YYYY-MM-DD. Overrides `days`.min_impressions— integer — Per page. Default 30.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
page_queriesread-onlyWhat searches a specific page is shown for.
Parameters:
page(required) — string — Full URL of the page.days— integer — Length of the window, counted back from the last day with data. Default 28.site— string — Search Console property, exactly as list_sites reports it (sc-domain:example.com or https://example.com/). Optional when the account has only one property.limit— integer — Rows to return. Default 25, maximum 100; `has_more` says whether there were more.match— string — Default equals.end_date— string — YYYY-MM-DD. Defaults to the last day with data.start_date— string — YYYY-MM-DD. Overrides `days`.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
brand_splitread-onlyBranded versus non-branded search, split on the words supplied. The split is only as good as those terms: misspellings and the domain name catch more of what people type.
Parameters:
brand_terms(required) — array — Words that make a search branded, e.g. ['askwatch', 'ask watch'].days— integer — Length of the window, counted back from the last day with data. Default 28.site— string — Search Console property, exactly as list_sites reports it (sc-domain:example.com or https://example.com/). Optional when the account has only one property.end_date— string — YYYY-MM-DD. Defaults to the last day with data.start_date— string — YYYY-MM-DD. Overrides `days`.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
queryread-onlyDirect query against Google's Search Analytics API, with the same dates, dimensions and filters it takes, passed through unchanged.
Parameters:
days— integer — Length of the window, counted back from the last day with data. Default 28.site— string — Search Console property, exactly as list_sites reports it (sc-domain:example.com or https://example.com/). Optional when the account has only one property.limit— integer — Rows to return. Default 25, maximum 100; `has_more` says whether there were more.filters— array — Google's dimensionFilterGroups, passed through unchanged.end_date— string — YYYY-MM-DD. Defaults to the last day with data.start_row— integer — Paging offset; `next_start_row` comes back in the answer.dimensions— array — Group by these. Omit for totals.start_date— string — YYYY-MM-DD. Overrides `days`.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
list_sitesread-onlySearch Console properties this connection can read, from Google's Sites API. These are the exact strings the site argument takes.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
inspect_urlread-onlyGoogle's index status for one URL, as the URL Inspection API reports it: whether it is indexed, when it was last crawled, and which canonical Google chose.
Parameters:
url(required) — string — The exact URL to inspect.site— string — Search Console property, exactly as list_sites reports it (sc-domain:example.com or https://example.com/). Optional when the account has only one property.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
list_sitemapsread-onlySitemaps submitted for the property and their status, from Google's Sitemaps API. Read-only: submitting is not possible with read access.
Parameters:
site— string — Search Console property, exactly as list_sites reports it (sc-domain:example.com or https://example.com/). Optional when the account has only one property.
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.