Skip to main content
Glama
onlymoein

Google Search Console MCP Server

by onlymoein

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GSC_LOG_LEVELNoDEBUG also logs every HTTP request. Logs go to stderr.INFO
GSC_TOKEN_FILENoWhere `auth login` saves the login (mode 0600). Defaults to per-user config dir.
GSC_ENABLE_WRITESNoRegister the four write tools. Needs a login with write access: `auth login --write`.0
GSC_OAUTH_CLIENT_FILENoOAuth client JSON, so `auth login` needs no `--client-file`.
GSC_SERVICE_ACCOUNT_FILENoService account key; when set, it is used instead of OAuth.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_sitesA

List every Search Console property this account can access, with its exact site_url and permission level. Call this first: every other tool needs a site_url.

get_siteB

Get one property's exact site_url, type and this account's permission level.

add_siteA

Add a property to this account. It starts unverified: ownership must be verified in the Search Console web interface before any data is available.

delete_siteA

Remove a property from this account. This removes access for this account only; it does not delete the site or other users' access. Confirm with the user first.

query_search_analyticsA

Clicks, impressions, CTR and average position from the Performance report, grouped by dimensions and filtered. Rows are sorted by clicks. Invalid combinations are rejected with an explanation before Google is called. For Discover, Images, video, Google News or the News tab, the matching query_*_analytics tool offers only what that surface supports.

query_discover_analyticsA

Google Discover performance: clicks, impressions and CTR by page, country or date. Discover reports no queries, no average position and no device breakdown, and has data only for sites that appear in Discover feeds.

query_image_analyticsB

Performance in Google Images and the Images tab of Search: clicks, impressions, CTR and average position within image results, by query, page, country, device or date.

query_video_analyticsA

Performance in the Videos tab of Google Search: clicks, impressions, CTR and average position, by query, page, country, device or date. Video results shown on the main web results are counted under web search, not here.

query_google_news_analyticsA

Google News performance (news.google.com and the Google News app): clicks, impressions and CTR by page, country, device or date. Google News reports no queries and no average position. For the News tab in Google Search, use query_news_tab_analytics.

query_news_tab_analyticsA

Performance in the News tab of Google Search: clicks, impressions, CTR and average position, by query, page, country, device or date. For news.google.com and the Google News app, use query_google_news_analytics.

query_hourly_analyticsA

Search performance broken down by hour (Pacific Time) for the last ~10 days. Use it to spot same-day spikes or compare today with the same day last week. The most recent hours are incomplete; first_incomplete_hour says where that starts.

list_search_appearancesA

Step one: list the search appearances (rich results and other result features, such as VIDEO or REVIEW_SNIPPET) the property had, with clicks and impressions. Then call query_search_appearance with one of the names to break it down.

query_search_appearanceA

Step two: performance of one search appearance, broken down by query, page, country, device or date. Get the appearance name from list_search_appearances.

compare_periodsA

Compare search performance between two periods of equal length: totals plus a per-key breakdown with absolute and percent changes. Position change is negative when ranking improved.

explain_changeA

Answer "why did traffic go up or down?" between two periods of equal length. Splits the change by page, query, country, device and search appearance and says which slices account for most of it; separates clicks lost to fewer impressions from clicks lost to a lower CTR; and lists Google updates that ran in or near the periods. Defaults compare the last 28 days of final data with the 28 before.

inspect_urlA

Google's index status for one URL: whether it is indexed and why not, last crawl, canonical chosen by Google versus declared, robots.txt and fetch state, sitemaps and rich results. This is Google's indexed view, not a live test of the page.

batch_inspect_urlsA

Inspect up to 50 URLs concurrently and summarize their index verdicts. Failures are reported per URL; if the daily quota runs out, the remaining URLs are skipped and listed so you can retry them later.

audit_indexingA

Full indexing audit of a property, rebuilt from its sitemaps because Google's API does not expose the Page indexing report's URL lists. Each call inspects the next URLs (new ones first, then any checked more than 14 days ago) and reports every URL inspected so far: grouped by Google's index status with likely fixes, plus canonical conflicts, indexed pages with no search impressions in 90 days, and pages shown in search but missing from the sitemaps. Progress is saved locally, so call again to continue, today or on later days; Google allows 2,000 inspections per property per day.

list_sitemapsA

List submitted sitemaps with their status: last submitted and downloaded, errors, warnings, whether processing is pending, and URL counts by content type.

get_sitemapC

Status of one submitted sitemap.

submit_sitemapA

Submit (or resubmit) a sitemap so Google fetches it. Safe to repeat.

delete_sitemapA

Remove a sitemap from Search Console. Google may still know the URLs in it, and the file itself is not touched. Confirm with the user first.

Prompts

Interactive templates invoked by user choice

NameDescription
weekly_reportWeek-over-week performance report: totals, what drove the change, biggest query and page movers, devices, countries and search appearances.
indexing_auditAudit the index status of every sitemap URL, grouped by issue with fixes. Optionally pass URLs, one per line or comma-separated, to check just those.
content_opportunitiesFind striking-distance queries, low-CTR snippets, cannibalization and declining pages, prioritized by potential clicks.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4/5.0

Scored across 22 tools

Disambiguation5/5

The seven query_*_analytics tools map to genuinely distinct Google surfaces (Search, Discover, Images, Video, Google News, News tab, hourly) and their descriptions explicitly cross-reference each other to steer selection. The two-step appearance flow, the scale-based inspection trio (inspect_url, batch_inspect_urls, audit_indexing), and the compare_periods vs explain_change split are all clearly delineated.

Naming Consistency5/5

All 22 tools use consistent snake_case with a predictable verb_noun shape (list_sites, query_search_analytics, delete_sitemap, inspect_url). Verbs vary by intent (query, compare, explain, inspect, audit) but the convention is uniform and readable throughout.

Tool Count4/5

22 tools is on the heavier side but each earns its place by covering a real Search Console surface or lifecycle (sites, sitemaps, per-surface analytics, inspection, comparison). It leans toward the upper bound without obvious redundancy.

Completeness5/5

The surface covers full site CRUD, full sitemap CRUD, analytics across all Google surfaces, search appearances, period comparison/explanation, and both single-URL and bulk/property-wide inspection. No obvious dead ends for the stated Search Console domain.

Maintenance

ActivityMaintained
ResponsivenessNo issues