Skip to main content
Glama
rgellis

Google Search Console MCP Server

by rgellis

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GOOGLE_CLIENT_IDNoOAuth 2.0 client ID for the Google Cloud project that owns your OAuth client.
GOOGLE_CLIENT_SECRETNoOAuth 2.0 client secret for the Google Cloud project that owns your OAuth client.
SEARCH_CONSOLE_READ_ONLYNoOptional. When true, requests only the readonly scope and refuses all four mutating calls (add_site, delete_site, submit_sitemap, delete_sitemap).false
GOOGLE_APPLICATION_CREDENTIALSNoPath to a service account credentials file. Used only when the three OAuth variables are not all set, via the Application Default Credentials fallback (local gcloud auth also works).
GOOGLE_SEARCH_CONSOLE_REFRESH_TOKENNoRefresh token minted via scripts/get_refresh_token.py, scoped to the https://www.googleapis.com/auth/webmasters scope.

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": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
check_client_statusA

Check that the Search Console client is configured and can authenticate.

Returns: Whether credentials resolve, whether the server is in read-only mode, and the OAuth scopes in use.

list_sitesA

List all Search Console properties the account can access.

Returns: Each property's siteUrl and the caller's permissionLevel (siteOwner, siteFullUser, siteRestrictedUser or siteUnverifiedUser).

get_siteB

Get one Search Console property and the caller's permission level.

add_siteA

Add a property to Search Console. Requires verification afterwards.

delete_siteA

Remove a property from Search Console.

This unlinks the property from the account. Historical data is retained by Google but becomes inaccessible until the property is re-added and re-verified.

list_sitemapsC

List the sitemaps submitted for a property.

get_sitemapA

Get one sitemap's processing status and error counts.

submit_sitemapC

Submit a sitemap to Search Console.

delete_sitemapC

Delete a sitemap from Search Console.

submit_sitemapsB

Submit several sitemaps to one property in a single call.

query_search_analyticsA

Run a raw Search Analytics query with full control over the request.

This is the unmodified API method. For the common cases prefer top_queries, top_pages, performance_by_date, performance_by_country, performance_by_device, compare_periods or query_all_rows.

query_all_rowsB

Retrieve every row for a query, paging past the 25,000-row cap.

top_queriesC

Top search queries by clicks for a property.

top_pagesC

Top landing pages by clicks for a property.

performance_by_dateC

Daily performance time series for a property.

performance_by_countryC

Performance broken down by country.

performance_by_deviceB

Performance broken down by device (desktop, mobile, tablet).

performance_by_search_appearanceA

Performance broken down by search appearance (rich result types).

Note that SEARCH_APPEARANCE cannot be combined with other dimensions in the same request, which is why this has no filters argument.

compare_periodsB

Compare a period against the equal-length period immediately before it.

inspect_urlA

Inspect one URL's index status in Google Search.

inspect_urlsA

Inspect several URLs and summarise their index status.

Each URL costs one unit of the 2,000-per-property-per-day URL Inspection quota.

run_mobile_friendly_testA

DEPRECATED AND NON-FUNCTIONAL. Run the Mobile-Friendly Test on a URL.

Google shut this API down on 1 December 2023; calling it returns an error. It exists here only so this server covers the published API surface completely. Do not call it expecting a result. For mobile usability signals, use inspect_url instead, whose response carries a mobileUsabilityResult.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 22 tools

Disambiguation4/5

Most tools target distinct resources or actions, and descriptions explicitly differentiate the raw analytics query from specialized ones. Minor overlap exists between singular/plural pairs (submit_sitemap/submit_sitemaps, inspect_url/inspect_urls), but the text clarifies the distinction.

Naming Consistency4/5

Names are consistently snake_case and mostly follow a verb_noun pattern. A few analytics tools are noun phrases (top_queries, performance_by_date), which is a minor deviation but still readable and coherent.

Tool Count3/5

At 22 tools the set feels heavy for the domain. Several analytics wrappers overlap with query_search_analytics, and run_mobile_friendly_test is explicitly deprecated and non-functional, so not every tool earns its place.

Completeness5/5

The surface covers full lifecycle operations for sites and sitemaps, offers comprehensive search analytics breakdowns, and includes both single and batch URL inspection. No obvious gaps remain for the Google Search Console API.

Maintenance

ActivityMaintained
ResponsivenessNo issues