Discover / Marketing

Search Console & GA4 MCP

by saurabhsharma2uTypeScript

Multi-engine MCP server connecting Google Search Console, Bing Webmaster, and GA4.

MCP Serverexperimental

Maturity: experimental because repository is 6 months old. Derived from release and commit history, not a rating.

Stars
248
Forks
24
Downloads / mo
3.8k
Last commit
2026-08-01
License
MIT
Open issues
2

Market and trust evidence

Edition not yet matched

No exact skills.sh identity match is available for this repository. Repository adoption and freshness remain visible above; install momentum is not inferred.

Trust analysis is a screening signal, not a security warranty. Read the ranking and trust methodology.

In practice

Written by AI from this repository’s README · high confidence

Answering one traffic question means logging into three dashboards, exporting CSVs, and matching rows by hand.

Use it when

When an agent should compare engines, spot anomalies, or find striking distance keywords across accounts.

Not the right pick when

Each platform still needs its own credentials, with OAuth or service accounts for Google and an API key for Bing.

Capabilities

  • 40+ tools across five categories
  • opportunity_matrix combining GSC visibility with GA4 engagement
  • seo_striking_distance for keywords ranking 8 to 15
  • seo_cannibalization detection with a recommended primary page
  • analytics_anomalies for statistical drop and spike detection
  • multi account support with automatic per site resolution

Requirements

  • a Google account authorized through the setup OAuth flow, or a service account key
  • a Bing Webmaster Tools API key for Bing data
  • a service account for GA4

Cost: Free and open source

Install

Derived from the published package name in the repository, not from a model.

Video walkthroughs

Third-party YouTube uploads matched to this tool by title, channel and repository name on 2026-08-03. Not made, reviewed or endorsed by SkillPilot. View counts and publish months are as of the match date and the month is approximate. Nothing loads from YouTube until you press play.

What the repository ships

Has testsHas docsSecurity policyCI configured

Detected from the actual files in the repository root.

Latest release v1.14.2

Published 2026-07-23

What's Changed

  • Add run CLI for tools with argument parsing, formatting, and tests by @saurabhsharma2u in https://github.com/saurabhsharma2u/search-console-mcp/pull/86

Full Changelog: https://github.com/saurabhsharma2u/search-console-mcp/compare/v1.14.1...v1.14.2

Tags

README

<div align="center">

🔍 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

</div>


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 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?"

<details>

<summary>More example prompts</summary>

  • "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."

</details>


🔌 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 --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 →

🖥️ Run tools from the CLI

Search Console MCP also exposes registered MCP tools as direct CLI commands. Use the run subcommand to list tools, inspect tool-specific arguments, and print results as JSON, CSV, or an ASCII table:


# List registered tools
npx search-console-mcp run --help

# Show options for one tool
npx search-console-mcp run analytics_query --help

# Run a tool with JSON output (default)
npx search-console-mcp run seo_low_hanging_fruit --siteUrl=https://example.com --minImpressions=100

# Print array results as CSV or a table
npx search-console-mcp run analytics_query --siteUrl=https://example.com --startDate=2026-06-01 --endDate=2026-06-30 --dimensions=date,query --format=csv
npx search-console-mcp run sites_list --engine=google --format=table

CLI arguments are validated against the same Zod schemas used by MCP clients. String arguments are coerced for common schema types, including numbers, booleans, comma-separated arrays, and JSON arrays/objects.

<details>

<summary id="service-account-advanced">Service Account setup (for servers/automation)</summary>

  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"

</details>


🛠 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 |

<details>

<summary><strong>Full tool reference (40+ tools)</strong></summary>

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

</details>


🔒 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

<div align="center">

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

</div>

Related tools