
Google Search Console
io.github.acamolese由 GitHub 账号 acamolese 发布v3.0.1更新于 Oct 25, 2026
Google Search Console: SEO audits, performance queries, URL inspection, indexing checks.
概览
只读的 Google Search Console 服务器,用于 SEO 审计:查询表现数据、检查网址、查看索引与站点地图,并生成 HTML 审计报告。
- 可以做什么
- 列出可访问的资源及其权限级别与类型,提供按最差优先排序的资源总览,以及配置与 API 连通性检查(gsc_doctor)。按筛选条件、维度和分页查询 Search Analytics,并支持周期对比、表现概览、快速见效机会、点击率缺口、关键词自相竞争、流量下滑、内容衰减和异常提醒。批量检查网址的索引状态,并对单个页面执行完整的网址检查。列出 Google 已知的站点地图及其错误和警告。生成自包含、可白标的 HTML 审计报告,支持英文或意大利文,品牌与阈值来自 JSON 文件。
- 适用场景
- 适合对已在 Search Console 中授予读取权限的网站做 SEO 工作:每周表现复盘、索引审计、发现关键词自相竞争或点击率缺口、诊断流量下滑,以及为代理机构生成可署名的客户审计报告。
- 运行要求
- 以 Python 包形式通过 uvx 在本机运行(需安装 uv),或以 Docker 容器运行。需要 Google Search Console API 访问权限:OAuth 桌面应用客户端(GSC_CLIENT_ID、GSC_CLIENT_SECRET、GSC_REFRESH_TOKEN,通过 auth 命令获取)、服务账号密钥(GSC_SERVICE_ACCOUNT_FILE 或 GSC_SERVICE_ACCOUNT_JSON),或应用默认凭据。需要访问 Google API 的网络。
安装
在 SourceWeft 中
- 打开 控制台中的 Google Search Console,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Google Search Console MCP
English · Italiano
[CI] [PyPI] [Python] [License: MIT]
Seventeen read-only tools over the Google Search Console API, plus a deterministic white-label HTML audit report an agency can put its own name on and send to a client, in English or Italian.
Regenerate that report from committed synthetic data, with no credentials:
Install
Claude Code
The plugin brings the MCP server, five skills (weekly review, cannibalisation check, indexing audit, content opportunities, white-label client audit) and a config prompt for the three credentials.
Claude Desktop
Download google-search-console.mcpb from the
latest release
and open it. It needs uv installed. Or edit the
config file directly:
Cursor, Codex, Gemini CLI, Zed
Any MCP client takes the same three lines: command uvx, argument
mcp-google-search-console, and the three GSC_* environment variables.
Docker
The container speaks streamable HTTP on /mcp. It has no authentication of its
own: keep it on loopback or behind a reverse proxy.
Authentication
The OAuth scope is webmasters.readonly and nothing else. No tool in this server
can modify a property, a sitemap or anything else in Search Console.
Credentials are resolved in this order:
GSC_AUTH_MODEif set (oauth,service_account,adc)GSC_SERVICE_ACCOUNT_FILEorGSC_SERVICE_ACCOUNT_JSONGSC_CLIENT_ID+GSC_CLIENT_SECRET+GSC_REFRESH_TOKEN- A token file in
~/.config/mcp-google-search-console/ - Application Default Credentials
OAuth, once
-
In Google Cloud Console, enable the Google Search Console API and create an OAuth client of type Desktop app.
-
Export the client, or save the downloaded JSON as
~/.config/mcp-google-search-console/oauth_credentials.json: -
The browser flow prints the three
exportlines for a stateless setup, and also stores a token at~/.config/mcp-google-search-console/token.jsonwith0600permissions.
On a headless machine, run auth on your laptop and copy the three environment
variables across. --no-browser prints the URL instead of opening one, but still
needs a local redirect.
Service account
Grant the service account's email read access to the property in Search Console, then point the server at the key:
Check it works
Prints the auth mode in use, when the token expires, how many properties the account can read, and the defaults every tool applies. Secrets are masked. Exits 1 when nothing resolves, which is the answer to most "the server won't start" reports.
Tools
Three prompts wrap the workflows that repeat: gsc_weekly_report,
gsc_indexing_audit, gsc_content_opportunities.
Why this server
Report customisation
Colours, logo, report name, brand terms and thresholds come from a JSON file.
Pass branding_path, or place it at
~/.config/mcp-google-search-console/branding.json to apply it everywhere:
A local logo is base64-encoded into the document. A remote one is only kept if
allow_external_fonts is true, because the report is otherwise guaranteed to
contain no external URL at all: no CDN, no font service, nothing that phones home
when a client opens it.
brand_terms matters more than it looks. Without it, the first label of the
domain is used as the brand, which is wrong for abbreviations, holding companies
and invented names, and it silently mislabels the brand/non-brand split. The
report says when it had to guess.
Quotas and limits
- 16 months of daily data. Anything older is not available at any price.
- Hourly data: the last 10 days only.
- URL Inspection: 600 per minute and 2,000 per day per property. This is the limit that bites on a large site.
- Search Analytics: 1,200 queries per minute per site. Responses are cached
in memory for 6 hours (1 hour for inspections);
no_cache=truebypasses it. - Rows: 25,000 per API call. Tools default to 100 and cap at 1,000, with
start_rowfor pagination; the cap is reported in the response, never applied silently.
Environment variables
Troubleshooting
spawn uvx ENOENT — the client cannot find uvx on its PATH. GUI apps do
not inherit a shell PATH. Use the absolute path: which uvx gives it, typically
/Users/you/.local/bin/uvx.
403 forbidden on every call — almost always the property format. A domain
property is sc-domain:example.com; a URL-prefix property is
https://example.com/, trailing slash included. gsc_sites returns the exact
strings.
401 invalid_grant — the refresh token was revoked or expired. Google expires
refresh tokens for OAuth apps still in "testing" after seven days; publish the
app, or re-run auth.
403 quotaExceeded — the daily URL Inspection quota is gone. It resets
tomorrow; nothing retries past it.
Empty report on a small site — check the thresholds in the response meta. They
adapt to the property, but the floors (50 impressions, 10 clicks) still apply.
Pass thresholds to lower them.
Anything else — run doctor and include its output in the issue.
Security
- Read-only scope, requested and never widened.
- Token files are written atomically with
0600permissions. Credentials supplied through the environment are never written to disk. gsc_doctormasks the client ID and never returns a token.- No telemetry, no analytics, no request to any host other than Google's API.
See SECURITY.md for the reporting policy.
Development
Tests never hit the network. Live tests exist behind -m live and require
GSC_LIVE_TESTS=1 plus credentials; they never run in CI.
Releases: see docs/RELEASING.md. Decisions not covered by the code are logged in docs/DECISIONS.md.
License
MIT. Chart.js 4.5.1 is vendored under src/google_search_console_mcp/static/,
also MIT, with its licence alongside.
来源:README.md,提交 3bba49f
工具
0版本历史
1- v3.0.1最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
