search-console-mcp
v1.14.1
Published
MCP server for Google Search Console, Bing Webmaster Tools, and Google Analytics 4
Downloads
1,601
Maintainers
Readme
🔍 Search Console MCP
Google Search Console + Bing Webmaster Tools + GA4 — in one context window.
Stop exporting CSVs. Start asking your AI agent questions.
📚 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.
| | Before | After | |---|---|---| | Data | 3 dashboards, manual exports | 1 unified context | | Analysis | Manual VLOOKUPs & pivot tables | Deterministic SEO math, done server-side | | Accounts | Constant re-login | 20+ accounts, auto-resolved per site | | Insight | Raw rows, agent guesses | Curated signals (opportunity scores, anomalies) |
⚡ Quick Start
npx search-console-mcp setupThis 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_matrixon my top 20 pages: which have high search visibility but poor on-site engagement?"
- "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
| Platform | Method | Setup |
|---|---|---|
| Google Search Console | OAuth (recommended) | npx search-console-mcp setup |
| Google Search Console | Service Account | Set GOOGLE_APPLICATION_CREDENTIALS — details |
| Bing Webmaster Tools | API Key | export BING_API_KEY="..." — get a key |
| Google Analytics 4 | Service Account | npx search-console-mcp setup --engine=ga4 |
Manage everything from the CLI:
npx search-console-mcp accounts list
npx search-console-mcp accounts add-site [email protected] --site=example.com
npx search-console-mcp accounts remove [email protected]When your agent queries a site, the server auto-resolves which account owns it — no manual switching. Multi-account docs →
- Create a service account in the Google Cloud Console
- Generate a JSON key
- Add the service account email as a user in Search Console with "Full" or "Restricted" access
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/key.json"
🛠 Tools
40+ tools across five categories. A few flagship ones:
| Tool | What it does |
|---|---|
| opportunity_matrix | Ranks pages by combining GSC visibility with GA4 engagement — where's the ROI? |
| seo_striking_distance | Keywords ranking 8–15 — your fastest wins |
| seo_cannibalization | Pages competing for the same query, with a recommended primary |
| analytics_anomalies | Statistical traffic drop/spike detection |
| sites_health_check | One-shot WoW performance + sitemap + anomaly check |
| compare_engines | Google vs Bing performance, side by side |
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_tokenandexpiry_dateare persisted, atmode 600 - Silent refresh — tokens renew automatically in the background
License
If this saves you a spreadsheet, consider ⭐ starring the repo.
