list_properties
List the Google Search Console properties this account can access. Call this first to get exact siteUrl values (e.g. 'sc-domain:example.com' or 'https://example.com/').
无需输入参数。

io.github.sudomichael由 GitHub 账号 sudomichael 发布v0.2.2更新于 Nov 6, 2026
Google Search Console for any MCP client - 30-second login, no Google Cloud project. Read-only.
为 MCP 客户端提供只读的 Google Search Console 访问:查询点击、展示、CTR 与排名,对比周期,检查收录状态。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
参照 仓库 中的启动说明。
Search Console was built for dashboards. This gives you a conversation instead.
Talk to your Google Search Console from Claude, Cursor, or any MCP client.
One sign-in. 30 seconds. No Google Cloud project. No API keys. Tokens never leave your machine.
Docs · npm · Report an issue
Most self-hosted Search Console MCP servers make you create a Google Cloud project, enable APIs, and wrangle service-account JSON. This one doesn't:
Your browser opens, you sign in with Google, done. Tokens are minted by Google directly to your machine and stored only in ~/.search-console-mcp/ — nothing passes through anyone's servers.
The browser opens the setup page only after Google returns valid credentials and they are saved locally. If token exchange or saving fails, it shows an error instead of a success page. No clone or Google Cloud console is required.
(Illustrative output — shape and numbers are what the tools return from your real data.)
Ten ready-made analyses ship as MCP prompts — slash-commands in clients that support them. Each one applies real SEO methodology (thresholds, cause classification, CTR benchmarks) and ends with ranked actions, never a data dump:
1. Sign in (one time):
2. Add to your MCP client:
Claude Code:
Claude Desktop / Cursor / anything else (mcpServers config):
If the app can't find npx (common with nvm), use the absolute path from which npx as command.
3. Ask:
Read-only by construction: the Google scope this tool requests (webmasters.readonly) cannot modify your properties, submit sitemaps, or change anything — not "disabled by default." Impossible.
What a compare_periods call hands your model (the model never does date arithmetic):
webmasters.readonly).~/.search-console-mcp/credentials.json on your machine, chmod 600. npx search-console-mcp-server logout deletes them.SEARCH_CONSOLE_MCP_CLIENT_ID / SEARCH_CONSOLE_MCP_CLIENT_SECRET and it uses yours.SEARCH_CONSOLE_MCP_TIPS=off to hide it. Nothing is sent anywhere either way.How can the login work without me creating Google credentials?
The CLI ships a Google "Desktop app" OAuth client — the same supported model gcloud and GitHub's CLI use. Your tokens are still minted by Google directly to your machine (PKCE + localhost callback); they never touch our servers. The auth path is in src/auth.ts — read it. Want zero shared anything? Set SEARCH_CONSOLE_MCP_CLIENT_ID / SEARCH_CONSOLE_MCP_CLIENT_SECRET with your own credentials.
Switch Google accounts?
npx search-console-mcp-server login again — Google shows the account picker.
"Not signed in" errors in my MCP client?
Run the login from the same user account your client runs under; credentials live in ~/.search-console-mcp/.
A property is missing from list_properties.
The signed-in Google account needs at least "Restricted" access to it in Search Console.
Why is yesterday missing from the data? Google Search Console data lags ~2–3 days. That's Google, not the tool. History goes back ~16 months.
Revoke access?
npx search-console-mcp-server logout deletes local tokens; myaccount.google.com/permissions revokes the grant itself.
The auth path is in src/auth.ts. To verify any privacy claim above, read the source.
The MCP stays free. If you want help preparing one specific page improvement, Percy researches your Search Console evidence, drafts a focused change, and keeps the next action with your saved work. You review and publish it in your own CMS, then verify the change and follow the results.
Percy is a separate paid workspace: 7 days free, no card, then plans from $29/month if you continue. It requires its own Google connection; it does not import local MCP credentials or conversations.
MIT licensed. Issues and PRs welcome. Built by Percy.
来源:README.md,提交 7ac47a3
List the Google Search Console properties this account can access. Call this first to get exact siteUrl values (e.g. 'sc-domain:example.com' or 'https://example.com/').
无需输入参数。
Query real Search Console performance data: clicks, impressions, CTR, and average position, grouped by the dimensions you choose. Dates are YYYY-MM-DD (GSC data lags ~2-3 days). Use dimensions like ['query'], ['page'], ['query','page'], or ['date'] for trends.
endDate必填siteUrl必填rowLimitstartRowstartDate必填dimensionssearchTypepageContainsqueryContainsThe biggest-movers analysis, computed for you: this date range vs the prior equal-length range, joined per page (or query) with clicks/impressions/position deltas, sorted by biggest change. Use this for 'what fell/grew', 'this month vs last', and trend diagnosis — it's one call and the math is already done.
endDate必填siteUrl必填rowLimitdimensionstartDate必填searchTypeGoogle's index status for one URL: is it indexed, why not, canonical chosen by Google, last crawl, mobile/rich-result issues.
siteUrl必填inspectionUrl必填Batch index-status check: up to 10 URLs in one call (per-URL errors reported inline). Use for indexing audits instead of ten single calls.
siteUrl必填inspectionUrls必填List submitted sitemaps for a property, with status and counts.
siteUrl必填已满足适用检查项的 90%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
Google Search Console │ ▼ search-console-mcp ← runs on your machine, read-only │ ▼ Claude / Cursor / any MCP client │ ▼ "Why did my traffic drop?"npx search-console-mcp-server login$ npx search-console-mcp-server loginOpening your browser to sign in with Google…If it doesn't open, visit:
https://accounts.google.com/o/oauth2/v2/auth?…
Connected. Your Search Console is ready — tokens stored in ~/.search-console-mcp (this machine only).
Want a page change you can review and publish? Percy adds researched drafts, change verification, and follow-through. Separate Google connection; paid plans after the free trial.https://www.getpercy.io/sign-in?source=mcp&workflow=improve-pageYou: Which of my pages are closest to page one?
Claude: Three real opportunities, by impressions at stake:
1. /pricing — "scoreboard app pricing" sits at position 11.2 with 2,400 impressions/mo and almost no clicks. One position-group jump is worth ~90 clicks/mo. The title doesn't contain the query; start there.
2. /templates/trivia — position 12.8 on "trivia scoreboard", 1,100 impressions/mo. The page ranks but has no H2 matching the intent.
3. /blog/keep-score-online — position 9.4, already page one on some days. It's cannibalizing with /features — run cannibalization_check before touching it.npx search-console-mcp-server loginclaude mcp add gsc --scope user -- npx -y search-console-mcp-server{ "mcpServers": { "gsc": { "command": "npx", "args": ["-y", "search-console-mcp-server"] } }}{ "key": "https://example.com/pricing", "current": { "clicks": 1040, "impressions": 20502, "position": 6.4 }, "previous": { "clicks": 1070, "impressions": 17176, "position": 5.8 }, "deltaClicks": -30, "deltaImpressions": 3326, "deltaPosition": 0.6 }git clone https://github.com/sudomichael/search-console-mcpcd search-console-mcp && npm installnpm run dev # run from sourcenpm run build # bundle to dist/ (no googleapis dependency)npm test # mocked login tests; no Google calls or credential writes