Google Search Console MCP Server

Google Search Console MCP Server

Documentation

🔍 Search Console MCP

Google Search Console + Bing Webmaster Tools + GA4 — in one context window.

Stop exporting CSVs. Start asking your AI agent questions.

License: MIT Tests Stars

📚 Docs · Quick Start · Tools · Security


Why this exists

SEO data lives in three different silos. Answering one question — "did my traffic drop because of a ranking loss or a UX issue?" — usually means logging into three dashboards, exporting three CSVs, and doing VLOOKUPs by hand.

Search Console MCP puts GSC, Bing, and GA4 behind one set of tools your AI agent can call directly, and does the SEO math (cannibalization, anomaly detection, opportunity scoring) before the data ever reaches your context window — so your agent gets insights, not spreadsheets.

BeforeAfter
Data3 dashboards, manual exports1 unified context
AnalysisManual VLOOKUPs & pivot tablesDeterministic SEO math, done server-side
AccountsConstant re-login20+ accounts, auto-resolved per site
InsightRaw rows, agent guessesCurated signals (opportunity scores, anomalies)

⚡ Quick Start

npx search-console-mcp setup

This opens your browser, authorizes your Google account, and stores your credentials securely (see Security). Then add it to your MCP client config (Claude Desktop, Cursor, etc.):

{
  "mcpServers": {
    "search-console": {
      "command": "npx",
      "args": ["search-console-mcp"]
    }
  }
}

Restart your client — and try one of the prompts below.


💬 Try it

Paste these straight into your agent:

"My traffic dropped this week vs. last. Find exactly when it started and which pages are responsible."

"Find keywords for example.com ranking positions 8–15 with 1,000+ impressions — my best quick wins."

"Check for keyword cannibalization — are two of my pages competing for the same query?"

"Run opportunity_matrix on my top 20 pages: which have high search visibility but poor on-site engagement?"

More example prompts
  • "Run a full SEO health check, segmented by Brand vs Non-Brand, with 3 high-impact actions."
  • "Fetch my top 5 pages by impressions and run a PageSpeed audit — any correlation with declining rankings?"
  • "Compare Google vs Bing performance for the last 30 days — where is Bing winning?"
  • "Am I too dependent on Google? Flag keywords where 85%+ of clicks come from one engine."

🔌 Connect your accounts

PlatformMethodSetup
Google Search ConsoleOAuth (recommended)npx search-console-mcp setup
Google Search ConsoleService AccountSet GOOGLE_APPLICATION_CREDENTIALSdetails
Bing Webmaster ToolsAPI Keyexport BING_API_KEY="..."get a key
Google Analytics 4Service Accountnpx search-console-mcp setup --engine=ga4

Manage everything from the CLI:

npx search-console-mcp accounts list
npx search-console-mcp accounts add-site --account=you@company.com --site=example.com
npx search-console-mcp accounts remove --account=you@company.com

When your agent queries a site, the server auto-resolves which account owns it — no manual switching. Multi-account docs →

Service Account setup (for servers/automation)
  1. Create a service account in the Google Cloud Console
  2. Generate a JSON key
  3. Add the service account email as a user in Search Console with "Full" or "Restricted" access
  4. export GOOGLE_APPLICATION_CREDENTIALS="/path/to/key.json"

🛠 Tools

40+ tools across five categories. A few flagship ones:

ToolWhat it does
opportunity_matrixRanks pages by combining GSC visibility with GA4 engagement — where's the ROI?
seo_striking_distanceKeywords ranking 8–15 — your fastest wins
seo_cannibalizationPages competing for the same query, with a recommended primary
analytics_anomaliesStatistical traffic drop/spike detection
sites_health_checkOne-shot WoW performance + sitemap + anomaly check
compare_enginesGoogle vs Bing performance, side by side
Full tool reference (40+ tools)

Analytics & Trends

analytics_query · analytics_trends · analytics_anomalies · analytics_drop_attribution · analytics_time_series · analytics_compare_periods · seo_brand_vs_nonbrand

SEO Opportunities

seo_low_hanging_fruit · seo_striking_distance · seo_low_ctr_opportunities · seo_cannibalization · seo_lost_queries

SEO Primitives (building blocks for agent logic)

seo_primitive_ranking_bucket · seo_primitive_traffic_delta · seo_primitive_is_brand · seo_primitive_is_cannibalized

Sites & Sitemaps

sites_list · sites_add · sites_delete · sites_health_check · sitemaps_list · sitemaps_submit

Inspection & Validation

inspection_inspect · pagespeed_analyze · schema_validate

URL Indexing

indexing_submit_url · indexing_remove_url · indexing_status · indexing_batch_submit · bing_url_submission_quota

Bing Webmaster Tools

bing_sites_list · bing_analytics_query · bing_opportunity_finder · bing_seo_recommendations · bing_url_info · bing_index_now · bing_crawl_issues · bing_analytics_detect_anomalies · bing_analytics_time_series · bing_seo_lost_queries · bing_brand_analysis · bing_sitemaps_list · bing_sitemaps_submit

Google Analytics 4

analytics_page_performance · analytics_traffic_sources · analytics_organic_landing_pages · analytics_content_performance · analytics_conversion_funnel · analytics_user_behavior · analytics_audience_segments · analytics_realtime · analytics_ecommerce · analytics_pagespeed_correlation

Cross-Platform Intelligence

opportunity_matrix · page_analysis · traffic_health_check · brand_analysis · compare_engines


🔒 Security

  • OS keychain first — tokens stored in macOS Keychain, Windows Credential Manager, or Linux Secret Service
  • AES-256-GCM fallback — encrypted with a key derived from your machine's hardware ID; a stolen file is useless on another device
  • Minimal storage — only refresh_token and expiry_date are persisted, at mode 600
  • Silent refresh — tokens renew automatically in the background

License

MIT · Contributing guide

If this saves you a spreadsheet, consider ⭐ starring the repo.