get_started
Start here. Returns a complete map of this server's capabilities, active platforms, and recommended workflows. Call this once at the beginning of any session.
Takes no parameters.

io.github.saurabhsharma2uPublished by GitHub account saurabhsharma2uv2.1.4Updated Oct 29, 2026
Google Search Console + Bing + GA4 + AdSense — unified SEO intelligence for AI agents.
Unifies Google Search Console, Bing Webmaster Tools, GA4 and AdSense so an assistant can query SEO traffic, indexing and ad revenue in one place.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Follow the launch instructions in the repository.
Google Search Console + Bing Webmaster Tools + GA4 + AdSense — in one context window.
Stop exporting CSVs. Start asking your AI agent questions about your site's traffic, rankings, and revenue.
[License: MIT] [Tests] [Stars]
📚 Docs · Quick Start · Tools · Backward Compatibility · Security
#110): Accounts with multiple verified properties sharing one hostname (locale subfolders like /en-gb/ + /de-de/, the root property, and the sc-domain: property) could get analytics data silently returned for the wrong property — whichever colliding property the resolver happened to touch first. Resolution is now exact by property type and path; bare-domain queries rank deterministically (sc-domain: › root), and truly ambiguous requests fail with the list of matching properties instead of guessing. With thanks to Alcip for the outstanding root-cause analysis in #110.#113): sitemaps_submit, sitemaps_delete and site-management calls now require an explicit webmasters write scope, offered as an inline re-authorization flow in the CLI when a tool first needs it. The server stays read-only by default at setup; you opt into write capabilities explicitly. Credit to chase-weiser88 for surfacing the missing write scope in #84.#114): SSE mode now binds to 127.0.0.1 by default (--host=/MCP_HTTP_HOST to override), requires a bearer token (--token=/MCP_HTTP_TOKEN, auto-generated if unset), never sends wildcard CORS, and rejects forged non-loopback Host headers (DNS-rebinding guard). SSE mode is deprecated and will be removed in the next release — prefer the default stdio transport.find_quick_wins prompt typing (#112): min_impressions was declared as a number, but MCP clients must send prompt arguments as strings — so every use errored with expected number, received string. It is now string-typed and coerced internally (1000 default preserved).genai_query_insights): Surfaces likely generative-AI / AI-Mode / conversational "fanout" queries across Google and Bing. This is custom heuristic logic — no official API is provided by Google or Bing for GenAI citation data, so it flags prompt verbs, follow-ups, acknowledgements, and conversational phrasing on the regular query data both engines already return. See docs →analytics_query fix: rowLimit is now honored instead of being silently ignored (previously always returned up to 1000 rows); limit remains as a backward-compatible alias.setup --engine=adsense. Enabling AdSense requires you to approve a separate adsense.readonly OAuth scope; your existing GSC, Bing, and GA4 configuration remains unchanged until you opt in.adsense_report upgrades: Custom startDate/endDate now override preset dateRanges, plus a new orderBy parameter (-ESTIMATED_EARNINGS) for sorted revenue reports.setup --engine=adsense. Enabling AdSense requires you to approve a separate adsense.readonly OAuth scope; your existing GSC, Bing, and GA4 configuration remains unchanged until you opt in.adsense_report upgrades: Custom startDate/endDate now override preset dateRanges, plus a new orderBy parameter (-ESTIMATED_EARNINGS) for sorted revenue reports..mcpb): Drag and drop bundle installation for Claude Desktop.engine: "all"): Multi-engine queries fetch Google, Bing, and GA4 concurrently with 50%+ lower latency.Site data lives in four different silos. Answering one question — "did my ad revenue drop because of a traffic dip or a lower RPM?" — usually means logging into four dashboards, exporting four CSVs, and doing VLOOKUPs by hand.
Search Console MCP puts GSC, Bing, GA4, and AdSense behind one set of tools your AI agent can call directly, and does the analysis (cannibalization, anomaly detection, revenue attribution) before the data ever reaches your context window.
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, Antigravity, etc.):
Restart your client — and try one of the prompts below.
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
seo_auditon my top pages: which have high search visibility but poor CTR?"
site_health_check), segmented by Brand vs Non-Brand."pagespeed_analyze — any correlation with declining rankings?"compare_engines) — where is Bing winning?"indexing_submit with method: "index_now"."Manage everything from the CLI:
When your agent queries a site, the server auto-resolves which account owns it — no manual switching. Multi-account docs →
AdSense cannot use service accounts, and config files are machine-encrypted — so authorize once on any machine with a browser and transfer the grant:
The token is stored encrypted on the server and auto-refreshes — no browser needed again. Setup over SSH also works directly: when no browser is detected, setup prints the authorization URL plus ssh -L 3000:localhost:3000 port-forward instructions instead of failing.
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:
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/key.json"Search Console MCP v2.0 features 7 Fluent Domain Tools that handle all SEO, Analytics, Inspection, and Indexing operations cleanly:
Note:
accountIdrefers to the configured profile ID (e.g.adsense_2, as shown byaccounts_manage), not a publisher resource name likeaccounts/pub-123.
All legacy tool names (bing_sites_list, seo_quick_wins, sitemaps_get, bing_index_now, indexing_submit_url, opportunity_matrix, etc.) continue to work transparently via our fallback router.
Read our complete Backward Compatibility & Migration Guide →
refresh_token and expiry_date are persisted, at mode 600MIT · Contributing guide · Backward Compatibility Guide
If this saves you a spreadsheet, consider ⭐ starring the repo.
Source: README.md at commit 7de2215
Start here. Returns a complete map of this server's capabilities, active platforms, and recommended workflows. Call this once at the beginning of any session.
Takes no parameters.
List verified web properties across Google Search Console, Bing Webmaster Tools, or GA4.
engineAdd or delete a web property from Google Search Console or Bing Webmaster Tools.
actionrequiredenginesiteUrlrequiredManage Google Search Console service accounts and site permissions.
emailactionrequiredsiteUrlaccountIdList submitted XML sitemaps and status for a site.
enginefeedUrlsiteUrlrequiredSubmit a new XML sitemap to Google Search Console and/or Bing Webmaster Tools.
enginefeedUrlrequiredsiteUrlrequiredDelete a sitemap from Google Search Console or Bing Webmaster Tools.
enginefeedUrlrequiredsiteUrlrequiredUnified search performance query replacing single-dimension tools. Supports queries, pages, countries, devices, and search appearances.
engineendDatefilterssiteUrlrequiredrowLimitstartDatedimensionsPeriod-over-period search performance comparisons, trends, and traffic drop attributions.
modeengineendDatesiteUrlrequiredstartDatecompareEndDatecompareStartDateDetect search traffic anomalies across Google and Bing.
engineendDatesiteUrlrequiredstartDatethresholdGoogle Analytics 4 (GA4) e-commerce, realtime metrics, user behavior, and conversion funnels.
endDatestartDatemetricTyperequiredpropertyIdrequiredDetect likely generative-AI / AI-Mode / conversational fanout queries across Google and Bing. Because neither search engine exposes generative-AI citation data via its public API yet, this matches heuristic patterns (prompt verbs, follow-ups, conversational phrasing) on regular query-level performance data; it is an undercount, not an official report.
daysenginesiteUrlrequiredincludePagesminImpressionsList configured AdSense publisher accounts, or discover all publisher accounts the authorized user has access to.
modeaccountIdGoogle AdSense earnings & performance report: estimated earnings, impressions, clicks, CTR and RPM with dimension breakdowns.
endDatemetricsorderByrowLimitaccountIddateRangestartDatedimensionsOutstanding AdSense payments and account alerts (policy issues, payment holds).
accountIdInspect indexing, canonical, and crawl status for single or batch URLs on Google or Bing.
urlsrequiredenginesiteUrlrequiredRun PageSpeed Insights & Core Web Vitals performance analysis for a page.
urlrequiredcwvOnlycategorystrategySubmit URL(s) for indexing via Google Indexing API, Bing URL submission, or IndexNow protocol.
keyhosturlsrequiredenginemethodsiteUrlkeyLocationCheck notification status for Google Indexing API or remaining daily Bing submission quota.
urltypeenginesiteUrlrequiredSpecialized SEO intelligence analysis (recommendations, quick wins, cannibalization, striking distance, lost queries, low CTR, brand vs nonbrand).
typerequiredenginesiteUrlrequiredbrandKeywordsminImpressionsKeyword performance stats, related query expansion, and search volume estimates.
typeenginecountrysiteUrlkeywordsrequiredlanguageValidate structured data (JSON-LD, Microdata, RDFa) for a given webpage URL.
urlrequiredComprehensive health audit across Google Search Console and Bing Webmaster Tools.
levelenginesiteUrlCross-engine performance matrix comparing Google Search Console vs Bing Webmaster Tools.
limitendDatesiteUrlrequireddimensionstartDateRun connectivity diagnostics for all connected accounts. Use this to troubleshoot '0 results' or authentication issues.
Takes no parameters.
90% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
npx search-console-mcp setup{ "mcpServers": { "search-console": { "command": "npx", "args": ["search-console-mcp"] } }}npx search-console-mcp accounts listnpx search-console-mcp accounts add-site [email protected] --site=example.comnpx search-console-mcp accounts remove [email protected]# 1. On your laptop (after setup --engine=adsense):npx search-console-mcp adsense-export
# 2. On the server (prints a ready-to-run command on step 1):npx search-console-mcp adsense-import --token='...' --publisher-id='accounts/pub-...'# List registered toolsnpx search-console-mcp run --help
# Show options for one toolnpx search-console-mcp run analytics_query --help
# Run an SEO audit with JSON outputnpx search-console-mcp run seo_audit --siteUrl=https://example.com --type=quick_wins
# Print array results as CSV or a tablenpx search-console-mcp run analytics_query --siteUrl=https://example.com --startDate=2026-06-01 --endDate=2026-06-30 --dimensions=date,query --format=csvnpx search-console-mcp run sites_list --engine=all --format=table