home / mcp / google search console mcp server

Google Search Console MCP Server

MCP server that connects AI assistants with Google Search Console data to enable NLP-based SEO insights and actions.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "hablapro-mcp-gsc": {
      "url": "https://gsc-mcp-cloud.principal-e85.workers.dev/mcp-sse",
      "headers": {
        "GSC_SKIP_OAUTH": "true",
        "GOOGLE_CLIENT_ID": "YOUR_CLIENT_ID",
        "GOOGLE_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
        "GSC_CREDENTIALS_PATH": "/path/to/service_account_credentials.json",
        "GSC_OAUTH_CLIENT_SECRETS_FILE": "/path/to/client_secrets.json"
      }
    }
  }
}

You can securely connect your AI assistants to Google Search Console data using a Model Context Protocol (MCP) server. This setup lets you ask natural language questions about your SEO data and receive actionable insights without navigating dashboards, enabling faster optimization and governance across multiple properties.

How to use

You will connect an MCP client to the Google Search Console MCP Server and start querying your data through natural language prompts. Start by choosing your access method: use the remote MCP endpoint to leverage the hosted server, or run a local Python MCP server for Claude Desktop or development workflows. Once connected, you can ask questions like which keywords are driving traffic, which pages are losing visibility, or how performance changed before and after a specific update. The MCP server translates your questions into API requests to Google Search Console, aggregates the results, and returns clear, actionable insights you can act on.

How to install

Prerequisites: Node.js and npm for Cloudflare Workers, or Python for a local server. Have your Google Cloud OAuth credentials ready if you are using OAuth-based authentication.

Option A: Cloudflare Workers (recommended for ChatGPT and hosted usage) is the primary deployment path. Install and deploy using the following steps.

cd gsc-mcp-cloud
npm install

# Set OAuth credentials
npx wrangler secret put GOOGLE_CLIENT_ID
npx wrangler secret put GOOGLE_CLIENT_SECRET

# Deploy
npm run deploy

# Visit /auth to authenticate with Google

Option B: Local Python server (for Claude Desktop or local testing) uses a Python runtime configured with FastMCP.

# OAuth Authentication (example)
{
  "mcpServers": {
    "gscServer": {
      "command": "/path/to/mcp-gsc/.venv/bin/python",
      "args": ["/path/to/mcp-gsc/gsc_server.py"],
      "env": {
        "GSC_OAUTH_CLIENT_SECRETS_FILE": "/path/to/client_secrets.json"
      }
    }
  }
}

Additional sections

Configuration in practice involves choosing a connection method and ensuring required credentials are available. If you run the hosted Cloudflare Workers option, you will typically work with an endpoint such as the production URL to access the MCP interface, and you will authenticate via Google OAuth. For local development, you run a Python server from your project directory and supply the necessary environment variables or service account credentials as shown. Security considerations include keeping OAuth client secrets and service account keys private, restricting access to your deployment, and rotating credentials regularly.

Operational notes: expect a data latency of a few days in GSC and be aware of API limitations such as data lookback windows and per-query row limits. You can combine multiple properties within a single conversation to compare performance and identify optimization opportunities.

Available tools

search

Search for relevant documents and data from GSC based on a query

fetch

Retrieve complete document content using a document ID

list_properties

List all Search Console properties with permission levels

add_site

Add a new site to Search Console (URL or domain property)

delete_site

Remove a site from Search Console

get_site_details

Get verification status and ownership details

get_search_analytics

Get search data with customizable dimensions (query, page, country, device)

get_performance_overview

Comprehensive performance summary with totals and daily trends

get_advanced_search_analytics

Advanced queries with sorting, filtering, multiple search types (Web, Image, Video, News, Discover)

compare_search_periods

Compare two time periods to identify trends and changes

get_search_by_page_query

Get queries driving traffic to a specific page

inspect_url_enhanced

Check indexing status, rich results, crawling details, canonical URLs

batch_url_inspection

Inspect up to 10 URLs at once

check_indexing_issues

Find not-indexed pages, canonical conflicts, robots blocking, fetch errors

get_sitemaps

List all sitemaps with status and URL counts

submit_sitemap

Submit or resubmit a sitemap for processing

list_sitemaps_enhanced

Detailed sitemap list with submission dates, content types, warnings

get_sitemap_details

Deep dive into a specific sitemap's status and errors

delete_sitemap

Remove a sitemap from processing

find_high_potential_keywords

Find quick-win keyword opportunities (ranking 11-40, high impressions with low CTR)

check_page_experience

Analyze page experience signals (mobile usability, crawl status, indexing state)

get_coverage_report

Comprehensive indexing analysis (coverage, issues, action items)

analyze_backlinks

Page authority and internal linking (top pages, hubs, orphan pages)

spot_content_opportunities

Identify rising or declining content and refresh candidates

analyze_regional_device_performance

Country and device breakdown (mobile vs desktop, geo performance)

analyze_algorithm_impact

Before/after comparison for algorithm updates with recommendations