home / mcp / google search console mcp server
MCP server that connects AI assistants with Google Search Console data to enable NLP-based SEO insights and actions.
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.
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.
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 GoogleOption 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"
}
}
}
}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.
Search for relevant documents and data from GSC based on a query
Retrieve complete document content using a document ID
List all Search Console properties with permission levels
Add a new site to Search Console (URL or domain property)
Remove a site from Search Console
Get verification status and ownership details
Get search data with customizable dimensions (query, page, country, device)
Comprehensive performance summary with totals and daily trends
Advanced queries with sorting, filtering, multiple search types (Web, Image, Video, News, Discover)
Compare two time periods to identify trends and changes
Get queries driving traffic to a specific page
Check indexing status, rich results, crawling details, canonical URLs
Inspect up to 10 URLs at once
Find not-indexed pages, canonical conflicts, robots blocking, fetch errors
List all sitemaps with status and URL counts
Submit or resubmit a sitemap for processing
Detailed sitemap list with submission dates, content types, warnings
Deep dive into a specific sitemap's status and errors
Remove a sitemap from processing
Find quick-win keyword opportunities (ranking 11-40, high impressions with low CTR)
Analyze page experience signals (mobile usability, crawl status, indexing state)
Comprehensive indexing analysis (coverage, issues, action items)
Page authority and internal linking (top pages, hubs, orphan pages)
Identify rising or declining content and refresh candidates
Country and device breakdown (mobile vs desktop, geo performance)
Before/after comparison for algorithm updates with recommendations