Google Search Console
PYPI · GSC-MCP-FULL · SCANNED OCT 8
Google Search Console: 37 tools, every API endpoint, hourly data, history beyond 16 months.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
- 2 of 42 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 5 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability72
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 4295 tokens (~116/item across 37 items; 37 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage71
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 38 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
How do I install the Google Search Console MCP server?
Google Search Console runs locally as a PyPI package, launched with uvx gsc-mcp-full. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · gsc-mcp-full
claude mcp add mamrrez-gsc-mcp-full -- uvx gsc-mcp-full
{
"mcpServers": {
"mamrrez-gsc-mcp-full": {
"command": "uvx",
"args": [
"gsc-mcp-full"
]
}
}
} {
"servers": {
"mamrrez-gsc-mcp-full": {
"command": "uvx",
"args": [
"gsc-mcp-full"
]
}
}
} codex mcp add mamrrez-gsc-mcp-full -- uvx gsc-mcp-full
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"mamrrez-gsc-mcp-full": {
"type": "local",
"command": [
"uvx",
"gsc-mcp-full"
],
"enabled": true
}
}
} openclaw mcp add mamrrez-gsc-mcp-full --command uvx --arg gsc-mcp-full
mcp_servers:
mamrrez-gsc-mcp-full:
command: "uvx"
args: ["gsc-mcp-full"] {
"McpServers": {
"mamrrez-gsc-mcp-full": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"gsc-mcp-full"
]
}
}
} assistant mcp add mamrrez-gsc-mcp-full -t stdio -c uvx -a gsc-mcp-full
{
"mcpServers": {
"mamrrez-gsc-mcp-full": {
"command": "uvx",
"args": [
"gsc-mcp-full"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Oct 26 +15
- Malware scan: unverified → pass ▲ security
- 2 Oct 26 53
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 8 Oct 2026 · Analysed pypi/gsc-mcp-full@0.2.2
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 42 packages
| Packages resolved | 42 |
|---|---|
| Stale | 1 |
| No linked repository | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_property ~38
Add a property to this account (needs GSC_ALLOW_WRITE=1). Verification still happens in Search Console.
| Name | Type | Req | Description |
|---|---|---|---|
| site_url | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
brand_split ~146
Brand vs non-brand traffic. Give the brand in every script it is searched in, comma-separated (e.g. "toyota, تویوتا, トヨタ"). Each term matches its spelling variants, as whole words; with level=loose a term of 4+ characters also matches when glued to its neighbours (toyotacamry).
| Name | Type | Req | Description |
|---|---|---|---|
| brand_terms | string | yes | – |
| days | integer | – | – |
| end_date | – | – | – |
| level | string | – | – |
| max_rows | integer | – | – |
| search_type | string | – | – |
| site_url | string | yes | – |
| source | string | – | – |
| start_date | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
build_query_regex ~160
Build a Search Console regex for a term that works in any script and matches its common spellings. Use the result as query_regex in other tools or paste it into the Search Console UI (regex filter). RE2's \b is ASCII-only, so this uses Unicode-safe boundaries; Arabic script gets ی/ي, ک/ك, ه/ة, ا/أ/إ/آ classes with optional vowel marks and half-spaces; digits match Persian, Arabic-Indic and full-width forms; Cyrillic е/ё; case-insensitive. loose=True also lets words run together. Accent and kana variants are not covered.
| Name | Type | Req | Description |
|---|---|---|---|
| loose | boolean | – | – |
| term | string | yes | – |
| whole_word | boolean | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
compare_periods ~178
Compare a period with an earlier one; biggest movers first. compare_to: previous (the same number of days just before) | year_ago (the same calendar dates last year) | 52_weeks (364 days back, weekdays aligned) | custom (give previous_start and previous_end). dimension: query, page, country, device or searchAppearance. Queries are matched across spellings.
| Name | Type | Req | Description |
|---|---|---|---|
| compare_to | string | – | – |
| days | integer | – | – |
| dimension | string | – | – |
| end_date | – | – | – |
| level | string | – | – |
| limit | integer | – | – |
| page_filter | – | – | – |
| previous_end | – | – | – |
| previous_start | – | – | – |
| query_filter | – | – | – |
| search_type | string | – | – |
| site_url | string | yes | – |
| start_date | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
content_movers ~163
Pages (or queries) that lost or gained ≥ threshold of their clicks vs an earlier period. compare_to: previous | year_ago (same calendar dates) | 52_weeks (weekdays aligned). Decayed = dropped, rising = grew, lost = had clicks before and none now, new = the opposite.
| Name | Type | Req | Description |
|---|---|---|---|
| compare_to | string | – | – |
| days | integer | – | – |
| dimension | string | – | – |
| end_date | – | – | – |
| limit | integer | – | – |
| max_rows | integer | – | – |
| min_previous_clicks | integer | – | – |
| search_type | string | – | – |
| site_url | string | yes | – |
| source | string | – | – |
| start_date | – | – | – |
| threshold | number | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
data_freshness ~43
Which recent days are final and which are still changing, for daily and hourly data.
| Name | Type | Req | Description |
|---|---|---|---|
| search_type | string | – | – |
| site_url | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
delete_sitemap ~46
Remove a sitemap from Search Console (needs GSC_ALLOW_WRITE=1). The file itself is untouched.
| Name | Type | Req | Description |
|---|---|---|---|
| site_url | string | yes | – |
| sitemap_url | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
find_cannibalization ~168
Queries where two or more of your pages compete as separate results, ranked by impressions going to the non-best page. Spelling variants of a query are merged first, so «خرید ماشین» on page A and «خريد ماشين» on page B is caught. min_share is the impression share a page needs to count as competing.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | – |
| end_date | – | – | – |
| level | string | – | – |
| limit | integer | – | – |
| max_rows | integer | – | – |
| min_impressions | integer | – | – |
| min_share | number | – | – |
| query_filter | – | – | – |
| search_type | string | – | – |
| site_url | string | yes | – |
| source | string | – | – |
| start_date | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_capabilities ~31
Auth status, scope, write access, history coverage and the list of tools. Call this first when unsure.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_property ~35
Details of one property (exact URL and permission level). Accepts loose input like example.com.
| Name | Type | Req | Description |
|---|---|---|---|
| site_url | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_sitemap ~43
Details of one sitemap: submission/download dates, errors, warnings, per-type URL counts.
| Name | Type | Req | Description |
|---|---|---|---|
| site_url | string | yes | – |
| sitemap_url | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
history_compare ~107
Compare two stored periods (e.g. this quarter vs the same quarter two years ago) — beyond the API's 16 months. dimension: query, page, country or device.
| Name | Type | Req | Description |
|---|---|---|---|
| dimension | string | – | – |
| end_date | string | yes | – |
| limit | integer | – | – |
| previous_end | string | yes | – |
| previous_start | string | yes | – |
| search_type | string | – | – |
| site_url | string | yes | – |
| start_date | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
history_query ~132
Query the local history for any date range, grouped by dimensions (queries merged across spellings). dimensions: query, page, country, device, date. query_contains matches the multilingual match key, so «ماشين» finds «ماشین» and 空调 works without spaces.
| Name | Type | Req | Description |
|---|---|---|---|
| country | – | – | – |
| device | – | – | – |
| dimensions | string | – | – |
| end_date | string | yes | – |
| limit | integer | – | – |
| page_contains | – | – | – |
| query_contains | – | – | – |
| search_type | string | – | – |
| site_url | string | yes | – |
| start_date | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
history_sql ~73
Run a read-only SELECT on the history database. Table `rows` (site, search_type, date, query, qkey, page, country, device, clicks, impressions, position); `sync_days`. qkey is the multilingual match key.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| sql | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
history_status ~36
What the local history contains: per property and search type, first/last day, rows, final days.
| Name | Type | Req | Description |
|---|---|---|---|
| site_url | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
history_trend ~86
Clicks/impressions/CTR/position per day, ISO week or month from the local history — any length of time.
| Name | Type | Req | Description |
|---|---|---|---|
| end_date | string | yes | – |
| granularity | string | – | – |
| page_contains | – | – | – |
| query_contains | – | – | – |
| search_type | string | – | – |
| site_url | string | yes | – |
| start_date | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
hourly_performance ~181
Hourly data for the last 10 days — Search Console's 24-hour view, and the only way to get true LOCAL days. hours=24 reproduces the Performance report's 24-hour view: the most recent 24 hourly points, including preliminary ones. Otherwise the last `days` (max 10) are returned. Search Console's daily numbers are Pacific-Time days; with timezone= (e.g. Asia/Tehran, Asia/Tokyo) the hours are re-cut into local days (by=day) or listed per local hour (by=hour).
| Name | Type | Req | Description |
|---|---|---|---|
| by | string | – | – |
| days | integer | – | – |
| hours | – | – | – |
| page_filter | – | – | – |
| query_filter | – | – | – |
| search_type | string | – | – |
| site_url | string | yes | – |
| timezone | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
indexing_summary ~63
Problems only: which of the given URLs are not indexed or have structured-data failures, and why. Up to 50 URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| concurrency | integer | – | – |
| language | string | – | – |
| site_url | string | yes | – |
| urls | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
inspect_url ~56
Full URL Inspection for one page: index verdict, crawl, canonical, robots, sitemaps, rich results, mobile.
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | – | – |
| page_url | string | yes | – |
| site_url | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
inspect_urls ~104
Inspect up to 50 URLs in parallel (comma- or newline-separated). Quota is checked first. Columns: `index` is the indexing verdict, `rich results` the structured-data verdict — a page can PASS one and FAIL the other. URLs not reached within the time budget are marked and can be re-sent.
| Name | Type | Req | Description |
|---|---|---|---|
| concurrency | integer | – | – |
| language | string | – | – |
| site_url | string | yes | – |
| urls | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
inspection_quota ~38
How many URL inspections this server has used today for a property (Google allows ~2,000/day).
| Name | Type | Req | Description |
|---|---|---|---|
| site_url | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
keyboard_mistypes ~184
Queries typed with the keyboard on the wrong layout (e.g. "ovdn lhadk" = «خرید ماشین» on a Persian keyboard). A hit is reported only when the remapped text is a query that really appears in the data, so the list is precise. include_unmatched=True also lists vowel-less Latin queries that map cleanly onto a layout (more findings, some false positives). layouts: any of fa, fa2 (the two Persian layouts in common use), ar, ru, he.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | – |
| end_date | – | – | – |
| include_unmatched | boolean | – | – |
| layouts | string | – | – |
| max_rows | integer | – | – |
| search_type | string | – | – |
| site_url | string | yes | – |
| source | string | – | – |
| start_date | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
language_breakdown ~81
Share of clicks and impressions by the script/language of the query (Persian vs Arabic vs Latin…).
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | – |
| end_date | – | – | – |
| max_rows | integer | – | – |
| search_type | string | – | – |
| site_url | string | yes | – |
| source | string | – | – |
| start_date | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_properties ~23
List every Search Console property this account can see, with the permission level.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_sitemaps ~48
Sitemaps submitted for a property, with errors/warnings and URL counts. Pass sitemap_index to list its children.
| Name | Type | Req | Description |
|---|---|---|---|
| site_url | string | yes | – |
| sitemap_index | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
low_ctr_opportunities ~153
Query/page pairs on page one whose CTR is far below what their position should earn — title/snippet work. Expected CTR is the site's own median per position when there is enough data, otherwise a benchmark curve; ratio=0.5 flags rows under half the expected CTR.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | – |
| end_date | – | – | – |
| limit | integer | – | – |
| max_position | number | – | – |
| max_rows | integer | – | – |
| min_impressions | integer | – | – |
| query_filter | – | – | – |
| ratio | number | – | – |
| search_type | string | – | – |
| site_url | string | yes | – |
| source | string | – | – |
| start_date | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
pages_for_query ~87
Which pages rank for one query — in each of its spellings — and how the impressions split between them.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | – |
| end_date | – | – | – |
| level | string | – | – |
| limit | integer | – | – |
| query | string | yes | – |
| search_type | string | – | – |
| site_url | string | yes | – |
| start_date | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
performance_overview ~135
One-screen summary: totals, trend, top queries and pages, devices, countries, and how fresh the data is. granularity: day, week, month or auto — the same choice as the Performance report's time-granularity menu (for hourly, use hourly_performance). auto picks day up to 31 days, week up to six months, then month.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | – |
| end_date | – | – | – |
| granularity | string | – | – |
| search_type | string | – | – |
| site_url | string | yes | – |
| start_date | – | – | – |
| top | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
queries_for_page ~129
Which queries send traffic to one page. Spelling variants are merged unless group_variants=False. Give the exact page URL. If nothing matches exactly, pages whose URL contains the text are used instead and listed, so a path such as /blog/ works too.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | – |
| end_date | – | – | – |
| group_variants | boolean | – | – |
| level | string | – | – |
| limit | integer | – | – |
| page_url | string | yes | – |
| search_type | string | – | – |
| site_url | string | yes | – |
| start_date | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
query_search_analytics ~487
Search Analytics rows with any dimensions and filters. The general-purpose query tool. Args: site_url: property (sc-domain:example.com, https://example.com/ or just example.com). days / start_date / end_date: range; explicit dates (YYYY-MM-DD) win over days. dimensions: comma list of query, page, country, device, date, searchAppearance, hour. search_type: web, image, video, news, discover, googleNews. query_filter: a term in ANY language; case-insensitive, and matches its common spellings (ی/ي, ک/ك, half-space, vowel marks, Persian/Arabic digits, е/ё). query_regex / query_regex_exclude: raw RE2 regex (see build_query_regex for a safe one). page_filter: substring of the page URL; page_exact: the exact URL; page_filter_exclude: substring to leave out; page_regex: RE2 regex on the URL. country: ISO-3166-1 alpha-3 (IRN, USA…); device: DESKTOP, MOBILE, TABLET. data_state: all (matches the UI, default) or final. group_variants: merge spelling variants of the same query (only when dimensions=query). level: standard or loose grouping (loose also merges spacing and accent differences). sort_by: clicks, impressions, ctr, position — applied to the fetched rows; Google itself always returns the top rows by clicks. limit: rows shown. max_rows: rows fetched.
| Name | Type | Req | Description |
|---|---|---|---|
| country | – | – | – |
| data_state | – | – | – |
| days | integer | – | – |
| device | – | – | – |
| dimensions | string | – | – |
| end_date | – | – | – |
| group_variants | boolean | – | – |
| level | string | – | – |
| limit | integer | – | – |
| max_rows | integer | – | – |
| page_exact | – | – | – |
| page_filter | – | – | – |
| page_filter_exclude | – | – | – |
| page_regex | – | – | – |
| query_filter | – | – | – |
| query_regex | – | – | – |
| query_regex_exclude | – | – | – |
| search_appearance | – | – | – |
| search_type | string | – | – |
| site_url | string | yes | – |
| sort_by | string | – | – |
| start_date | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
query_variants ~224
Keywords that Search Console splits across several spellings, with their real combined totals. Groups queries by a per-script match key: Persian/Arabic letter forms (ی/ي, ک/ك, ه/ة, ا/أ/إ/آ), half-space, vowel marks, digit scripts, kana width, case, separator punctuation — also inside mixed queries such as «خريد iphone 13». level=loose additionally merges spacing, accents (café/cafe), hiragana/katakana, Simplified/Traditional Chinese (with the zh extra). Only groups with at least min_variants spellings are shown. source=history uses the local store.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | – |
| end_date | – | – | – |
| level | string | – | – |
| limit | integer | – | – |
| max_rows | integer | – | – |
| min_variants | integer | – | – |
| query_filter | – | – | – |
| search_type | string | – | – |
| site_url | string | yes | – |
| source | string | – | – |
| start_date | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
reauthenticate ~23
Forget the cached client and sign in again (switch Google accounts or scopes).
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
remove_property ~38
Remove a property from this account (needs GSC_ALLOW_WRITE=1). Data is not deleted at Google.
| Name | Type | Req | Description |
|---|---|---|---|
| site_url | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
striking_distance ~144
Queries ranking just off page one (default positions 8–20) with real demand — the quickest wins. potential_clicks estimates extra clicks at position 5. Spelling variants are merged first.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | – |
| end_date | – | – | – |
| limit | integer | – | – |
| max_position | number | – | – |
| max_rows | integer | – | – |
| min_impressions | integer | – | – |
| min_position | number | – | – |
| query_filter | – | – | – |
| search_type | string | – | – |
| site_url | string | yes | – |
| source | string | – | – |
| start_date | – | – | – |
| with_pages | boolean | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
submit_sitemap ~43
Submit (or resubmit) a sitemap URL (needs GSC_ALLOW_WRITE=1).
| Name | Type | Req | Description |
|---|---|---|---|
| site_url | string | yes | – |
| sitemap_url | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
sync_history ~172
Copy Search Analytics rows into the local SQLite history, one day at a time (keeps data past 16 months). Days already stored and final are skipped; recent or empty days are refreshed. dimensions defaults to query,page; add country,device for more detail (more rows). One call works for about 45 seconds and then reports how many days are left — call it again to continue, or run `gsc-mcp-full sync SITE --days N` in a terminal (no time limit; put it in cron to keep history growing).
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | – |
| dimensions | string | – | – |
| end_date | – | – | – |
| refresh_provisional | boolean | – | – |
| search_type | string | – | – |
| site_url | string | yes | – |
| start_date | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
top_terms ~132
Most demanded words across all queries — works for Chinese/Japanese/Thai (no spaces) too. Uses jieba / fugashi / pythainlp when installed (`pip install gsc-mcp-full[zh]` etc.), otherwise a script-aware fallback. Terms are merged across spellings.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | – |
| end_date | – | – | – |
| max_rows | integer | – | – |
| query_filter | – | – | – |
| search_type | string | – | – |
| site_url | string | yes | – |
| source | string | – | – |
| start_date | – | – | – |
| top | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
What is the Google Search Console MCP server?
Google Search Console is an MCP server listed in the public MCP registry as io.github.mamrrez/gsc-mcp-full. Google Search Console: 37 tools, every API endpoint, hourly data, history beyond 16 months. This page covers its PyPI package (gsc-mcp-full).
Is the Google Search Console MCP server safe to use?
Google Search Console scores 68 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 8 October 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Google Search Console MCP server expose?
Google Search Console exposes 37 tools: get_capabilities, reauthenticate, build_query_regex, list_properties, get_property, and 32 more. Their descriptions and schemas cost roughly 4,030 tokens of context every time the server is loaded.
Is the Google Search Console MCP server still maintained?
Google Search Console is still listed as active in the MCP registry. We last reached this channel on 8 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Google Search Console MCP server under?
Google Search Console declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.