sites_listLABSCO SUMMARY
The "why did traffic drop last week" question is a tool call here, not three CSV exports and a spreadsheet.
Comparison, anomaly detection and drop attribution are first-class rather than something you assemble from rows, and the SEO analyses arrive under the names practitioners already argue about — striking distance, cannibalization, brand versus non-brand. The thing to establish first is which platforms are actually live for you: the tool list spans Google, Bing, GA4 and AdSense whether or not all of them are connected, so when an engine answers with nothing, run npx search-console-mcp diagnostics from a terminal — it checks connection errors, quota limits and API authorization.
What it is
A search-visibility server fronting Google Search Console, Bing Webmaster Tools, GA4 and AdSense through a single tool set, with PageSpeed, structured-data validation and indexing submission alongside.
What you get
- One performance query across queries, pages, countries, devices and search appearances, with filters and a row limit, replacing a tool per dimension
- Period-over-period comparison, trend modes and traffic-drop attribution, plus anomaly detection against a threshold you set
- Index and crawl status inspected for single or batched URLs, and submission through the Google Indexing API, Bing URL submission or IndexNow
- Properties added or removed, sitemaps listed, submitted and deleted, and Google service accounts and site permissions administered
- Named SEO analyses rather than raw rows: cannibalization, striking distance, lost queries, low CTR, brand versus non-brand, and quick wins
- Page-level checks in the same session — PageSpeed Insights with Core Web Vitals, and structured-data validation for JSON-LD, Microdata and RDFa
- A cross-engine matrix comparing Google against Bing on a chosen dimension, and GA4 e-commerce, realtime, user-behaviour and funnel metrics
- AdSense earnings, payments and account alerts once you opt in to its read-only scope, so a revenue dip can be read next to the traffic that caused it
- The same tools available as CLI commands, printing JSON, CSV or an ASCII table when the answer belongs in a terminal rather than a chat
Requirements
Verified properties in the engines you intend to query, and an account connected for each: npx search-console-mcp setup opens a browser and authorizes Google, BING_API_KEY covers Bing, GOOGLE_APPLICATION_CREDENTIALS covers a service account for servers, and AdSense needs its own opt-in because it supports user OAuth only. Tokens are stored in the OS keychain where there is one, encrypted to the machine otherwise, so a copied config file is useless elsewhere — on a headless server, authorize on a machine with a browser and transfer the grant. GA4 calls address a property id rather than a site URL, and IndexNow submission needs a key and the location that hosts it. MIT.
Setup effort
One command — npx search-console-mcp setup
USE CASES
Explaining a drop in traffic since last month
Compare the two periods and let the attribution mode name what moved, check whether the change registers as an anomaly, then query the dimensions it points at to find the pages and queries behind it.
Getting a new page into the index
Inspect what the engine currently knows about the URL, submit it through whichever channel that property supports, then check the submission actually registered rather than assuming it did.
Finding the pages one push away from page one
Run the striking-distance and low-CTR analyses over a minimum impression floor, then expand the queries those pages already rank for into the terms worth writing to.
Shipping a template change without losing the rich result
Validate the structured data on the changed page and check what the change did to Core Web Vitals, before the engine finds out first.
Taking over a property you did not set up
See which properties are verified where, submit the sitemap, and if an engine answers with nothing, run npx search-console-mcp diagnostics from a terminal to check the connection, quota and authorization.
Seeing where Bing is worth the effort
Put the two engines side by side on the dimension you care about, then run the same health audit against each property.
23 tools
Listed in project docs. Your client may show a different list.
sites_manageaccounts_managesitemaps_listsitemaps_submitsitemaps_deleteanalytics_queryanalytics_compareanalytics_anomaliesinspection_inspectpagespeed_analyzeindexing_submitindexing_statusseo_auditseo_keywords_researchsite_health_checkcompare_enginesgenai_query_insightsadsense_accountsadsense_reportadsense_payments_alertsanalytics_advancedschema_validateBEFORE YOU INSTALL
What to know first
Tools you get
23 tools named in the project's documentation.
Requires
npx on PATH
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
npx search-console-mcp setupMCP Clients
Claude Desktop
{
"mcpServers": {
"search-console": {
"command": "npx",
"args": [
"-y",
"search-console-mcp"
],
"env": {
"BING_API_KEY": "<YOUR_BING_API_KEY>",
"GOOGLE_APPLICATION_CREDENTIALS": "<YOUR_GOOGLE_APPLICATION_CREDENTIALS>",
"PAGESPEED_API_KEY": "<YOUR_PAGESPEED_API_KEY>"
}
}
}
}After running npx search-console-mcp setup, every variable in env is optional — keep only the ones you use: BING_API_KEY for Bing Webmaster Tools, GOOGLE_APPLICATION_CREDENTIALS for a Google service-account key file, PAGESPEED_API_KEY for higher PageSpeed quotas. Delete the rest.
VS Code
{
"servers": {
"search-console": {
"command": "npx",
"args": [
"-y",
"search-console-mcp"
],
"env": {
"BING_API_KEY": "<YOUR_BING_API_KEY>",
"GOOGLE_APPLICATION_CREDENTIALS": "<YOUR_GOOGLE_APPLICATION_CREDENTIALS>",
"PAGESPEED_API_KEY": "<YOUR_PAGESPEED_API_KEY>"
}
}
}
}After running npx search-console-mcp setup, every variable in env is optional — keep only the ones you use: BING_API_KEY for Bing Webmaster Tools, GOOGLE_APPLICATION_CREDENTIALS for a Google service-account key file, PAGESPEED_API_KEY for higher PageSpeed quotas. Delete the rest.