Google Search Console MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WSP_HOST | No | Address to listen on when using SSE transport. | 127.0.0.1 |
| WSP_PORT | No | Port to listen on when using SSE transport. | 3001 |
| WSP_CLIENT_ID | No | OAuth Client ID (Option A, no JSON file needed) | |
| WSP_DATA_MODE | No | Data mode: 'all' matches the Search Console dashboard; 'final' shows only confirmed data (2–3 days behind). | all |
| WSP_TOKEN_DIR | No | Where your saved login (token.json) is kept. Rarely needed. Defaults to the OS config folder. | |
| WSP_TRANSPORT | No | Transport protocol. Set to 'sse' to serve over the network. | stdio |
| WSP_OAUTH_FILE | No | Alternative to WSP_CLIENT_ID and WSP_CLIENT_SECRET: full path to your OAuth client_secrets.json. Ignored if ID and secret are set. | |
| WSP_ALLOW_WRITES | No | Set to 'true' to turn on the write tools. Run wsp_login_again_gsc after changing it. | false |
| WSP_CLIENT_SECRET | No | OAuth Client secret (use together with WSP_CLIENT_ID) | |
| WSP_SERVICE_ACCOUNT_FILE | No | Full path to your service account key (Option B) | |
| WSP_SERVICE_ACCOUNT_ONLY | No | Set to 'true' to skip the Google login and use only the service account. | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Google Search Console tools for SEO analysis. Call wsp_show_status_gsc first for the tool list and auth status, then wsp_list_websites_gsc to get the exact site_url (e.g. 'https://example.com/' or 'sc-domain:example.com') every other tool needs. Search analytics are sorted by clicks and capped per request; URL inspection tools accept at most 10 URLs per call. Write operations (wsp_add_website_gsc, wsp_remove_website_gsc, wsp_add_sitemap_gsc, wsp_remove_sitemap_gsc) are disabled unless WSP_ALLOW_WRITES=true.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| wsp_show_status_gscA | List every tool this server offers, grouped by category, with the current authentication status. Call it first to learn what is available or to diagnose login problems. |
| wsp_list_websites_gscA | List every Search Console property (domain and URL-prefix) the connected account can access. Returns the exact site_url string every other tool requires. |
| wsp_add_website_gscA | Add a property to Search Console. Requires WSP_ALLOW_WRITES=true. |
| wsp_remove_website_gscA | Remove a property from Search Console. Requires WSP_ALLOW_WRITES=true. |
| wsp_show_website_gscA | Permission level, verification and ownership details for one property. |
| wsp_check_url_gscA | Check a URL's index status, last crawl, canonical, robots and rich results as Google sees it. |
| wsp_check_urls_gscA | Inspect up to 10 URLs in one call (run concurrently). Same data as wsp_check_url_gsc, one row per URL. |
| wsp_show_traffic_gscA | Totals (clicks, impressions, CTR, position) and a daily trend for the last N days. |
| wsp_run_report_gscB | Flexible search analytics: choose dimensions, date range, search type, filters, sorting and pagination (up to 25,000 rows). |
| wsp_compare_dates_gscA | Compare search performance across two date ranges. Direction: Period 1 is the period you are analyzing and Period 2 is the baseline you compare it against. All deltas are Period 1 relative to Period 2, and the percentage baseline is Period 2. A positive value means Period 1 outperformed Period 2 — more clicks/impressions, higher CTR, or a better (lower) average position. For a current-vs-previous comparison, pass the current period as Period 1 and the previous period as Period 2. Percentages are null when the Period 2 baseline is zero. |
| wsp_find_page_keywords_gscB | Queries that drove clicks and impressions to one specific page. |
| wsp_show_sitemaps_gscA | List submitted sitemaps with status, URL counts, errors and warnings. Pass sitemap_index to list an index's children. |
| wsp_show_sitemap_gscB | Full status and per-content-type breakdown for one sitemap. |
| wsp_add_sitemap_gscA | Submit or resubmit a sitemap. Requires WSP_ALLOW_WRITES=true. |
| wsp_remove_sitemap_gscA | Unsubmit a sitemap. Already-indexed URLs stay indexed. Requires WSP_ALLOW_WRITES=true. |
| wsp_login_again_gscA | Delete the saved OAuth token and open a browser login. Use it to switch Google accounts, fix auth errors, or apply a changed WSP_ALLOW_WRITES setting. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
Most tools have clearly distinct purposes, and the single-vs-batch pairs (check_url/check_urls, show_sitemap/show_sitemaps) are explicitly differentiated. There is some overlap among analytics tools—show_traffic could be approximated by run_report—but descriptions make the intended use clear.
All tools follow a consistent wsp_verb_noun_gsc pattern in snake_case, with predictable verbs like show, list, add, remove, check, and run. Minor variations like login_again are still readable and fit the convention.
16 tools is slightly above the ideal 3–15 range but reasonable for a server covering properties, sitemaps, URL inspection, analytics, and auth. Each tool maps to a real Search Console operation rather than being redundant filler.
The surface covers the core GSC lifecycle: listing/adding/removing properties, managing sitemaps, inspecting URLs individually and in batch, and running flexible search analytics with comparisons and page-level keyword breakdowns. No obvious operational gaps remain for the stated domain.