Google Search Console MCP

io.github.surendranbPublished by GitHub account surendranbv0.10.10Updated Nov 3, 2026

Google Search Console MCP: search performance analytics, rankings, sitemaps, and indexing health.

VerifiedSTDIODesktop onlyWeb Search & ScrapingData & Analytics

Overview

AI-generated overview

Local MCP server that gives an assistant Google Search Console search analytics, sitemap management and SEO playbooks for a verified property.

What you can do
  • List verified Search Console properties and their permission levels
  • Discover valid dimensions and metrics, then query clicks, impressions, CTR and average position by query, page, country, device or date
  • List, submit and delete XML sitemaps for a property
  • List and read built-in SEO analytical playbooks with field combinations and interpretation guidance
  • Check PyPI for newer versions and interactively repair a broken credential or property setup
When to use it
Useful when you want an assistant to pull and interpret organic search performance for sites you own, audit sitemaps, or follow structured SEO playbooks without leaving the chat.
Requirements
Runs locally as a Python package (uvx or npx wrapper). Needs a Google Cloud service account JSON key file, passed as the absolute path in GOOGLE_APPLICATION_CREDENTIALS, and a configured site URL (GSC_SITE_URL) with access to the property. Network access to Google APIs.
Before you install
The service account key file grants access to your Search Console data, so store it carefully. Submit and delete sitemap tools change live property configuration. The README states the package sends anonymous diagnostic telemetry unless DO_NOT_TRACK or MCP_TELEMETRY_OPT_OUT is set.

Installation

In SourceWeft

  1. Open Google Search Console MCP in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Google Search Console (GSC) MCP Server 🔍

Model Context Protocol (MCP) server for Google Search Console: search performance analytics, keyword rankings, sitemap inspection, and indexing health for AI agents.

[CI] [PyPI version] [npm version] [OpenSSF Scorecard] [License: MIT]

🌐 Live Documentation & Web Portal: https://gsc.builditwithai.xyz


⚡ Quickstart

bash
# 1-Line Universal Installer (Auto-configures Claude Desktop, Cursor, Claude Code, Antigravity, VS Code, Zed, Windsurf)curl -fsSL "https://gsc.builditwithai.xyz/install" | bash
# Or run directly via your preferred runtime:uvx google-search-console-mcpnpx -y @surendranb/google-search-console-mcp


🤖 Client Setup

A. Claude Code (CLI)

bash
claude mcp add google-search-console -- uvx google-search-console-mcp

B. Cursor & Google Antigravity (mcp.json)

json
{  "mcpServers": {    "google-search-console": {      "command": "uvx",      "args": ["google-search-console-mcp"]    }  }}

C. Claude Desktop (claude_desktop_config.json)

json
{  "mcpServers": {    "google-search-console": {      "command": "uvx",      "args": ["google-search-console-mcp"],      "env": {        "GSC_SITE_URL": "https://example.com/",        "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/service_account.json"      }    }  }}

D. VS Code (Cline / Roo Code / Continue)

json
{  "mcpServers": {    "google-search-console": {      "command": "npx",      "args": ["-y", "@surendranb/google-search-console-mcp"]    }  }}

🛠️ Tools & Capabilities

Tool NameParametersDescriptionReturn Type
get_search_analyticssite_url (string), start_date (string), end_date (string), dimensions (list), row_limit (int)Queries organic search clicks, impressions, CTR, and average position grouped by query, page, country, device, and date.JSON / Markdown
list_sites(none)Lists all verified web properties in Google Search Console with permission levels.JSON
inspect_urlsite_url (string), inspection_url (string)Real-time URL inspection for index status, crawl issues, canonicalization, and mobile usability.JSON
list_sitemapssite_url (string)Retrieves all submitted XML sitemaps, last download date, and indexed URL counts.JSON
submit_sitemapsite_url (string), feedpath (string)Submits a new XML sitemap directly to Google Search Console.JSON
delete_sitemapsite_url (string), feedpath (string)Removes an obsolete or incorrect sitemap from Search Console.JSON
skill_readskill_name (string)Loads expert SEO diagnostic playbooks dynamically from GitHub.Markdown
skills_list(none)Lists all available live GSC analytical skills.JSON

🔒 Telemetry & Privacy

This package collects anonymous, non-PII diagnostic telemetry (command executions, latency, error codes) to improve tool reliability. No queries, user credentials, personal data, source code, or environment variables are ever collected or stored.

You can opt out anytime by setting either of the following environment variables:

bash
export DO_NOT_TRACK=1# orexport MCP_TELEMETRY_OPT_OUT=1

📄 License

MIT License. See LICENSE for details.

Source: README.md at commit 96dfd0b

Tools

12

list_gsc_sites

List all sites verified in Google Search Console. Returns: List of verified sites with their permission levels.

Takes no parameters.

list_sites

List all sites verified in Google Search Console (alias for list_gsc_sites). Returns: List of verified sites with their permission levels.

Takes no parameters.

list_available_dimensions

List all available GSC dimensions with their descriptions. Returns: List of dimension objects with api_name and description.

Takes no parameters.

list_available_metrics

List all available GSC metrics with their descriptions. Returns: List of metric objects with api_name and description.

Takes no parameters.

skills_list

List available analytical skills (playbooks) for Google Search Console. Use this to learn proven field combinations and how to interpret GSC data for specific SEO tasks. Fetch the full playbook with skill_read.

Takes no parameters.

skill_read

Fetch the full content of one analytical skill (playbook) for Google Search Console. Args: skill_id: The skill id from skills_list (e.g., "brand_visibility.md") Returns: The full skill content with title, description, and playbook steps.

Parametersskill_idrequired

get_search_analytics

Retrieve Google Search Console search analytics data. Args: dimensions: List of dimensions from: country, device, page, query, searchAppearance, date start_date: Start date in YYYY-MM-DD format (defaults to 30 days ago) end_date: End date in YYYY-MM-DD format (defaults to 3 days ago) filters: List of filter objects (e.g., [{"dimension": "country", "operator": "equals", "expression": "usa"}]) search_type: Type of search ('web', 'image', 'video', 'news', 'discover', 'googleNews') row_limit: Maximum number of rows to return (max 25000) start_row: Starting row for pagination (0-based) summary_only: If True, returns only aggregated totals (Token Efficient) intent: Short plain-English description of what the user is trying to learn/accomplish. E.g. "which queries drive clicks to the pricing page", "mobile vs desktop performance last month". Returns: Dictionary containing search analytics data with clicks, impressions, ctr, and position metrics.

Parametersintentfiltersend_daterow_limitstart_rowdimensionsstart_datesearch_typesummary_only

get_sitemaps

Get all sitemaps for the configured site. Returns: List of sitemaps with their status and details.

Takes no parameters.

submit_sitemap

Submit a sitemap to Google Search Console. Args: sitemap_url: Full URL of the sitemap to submit Returns: Success message or error details.

Parameterssitemap_urlrequired

delete_sitemap

Delete a sitemap from Google Search Console. Args: sitemap_url: Full URL of the sitemap to delete Returns: Success message or error details.

Parameterssitemap_urlrequired

check_for_updates

Check PyPI for newer versions of this MCP server and get upgrade instructions.

Takes no parameters.

setup_gsc_access

Interactively fix a broken Google Search Console MCP setup (missing or wrong credentials path, missing GSC_SITE_URL, invalid key, or missing property access) by asking the user for the needed value through the client, then re-initializing without a restart. Call this whenever a configuration or authentication error is reported.

Takes no parameters.

Version history

1
  1. v0.10.10LatestOct 29, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts