通过开源 MCP server(mcp-gsc)让 Claude Code 直接读取搜索数据,在同一 session 内完成 CTR 分析、URL 检查与内容修复,无需手动导出 CSV。
你打开 Search Console,导出 CSV,粘贴到表格,然后切回编辑器去猜哪个页面正在掉 CTR。这个流程每周重复一次,最后靠主观感觉收尾。
更短的路:把 Search Console 直接接入 Claude Code,通过 MCP 让 agent 读数据、在一个 session 里修复对应的页面。以下是 setup 步骤、三个坑,以及可直接用的 prompt。
架构:这是个工具层的问题
连接链有四个节点:Claude Code → MCP over stdio → 本地运行的 mcp-gsc → OAuth 2.0 → Search Console API。Server 是 mcp-gsc,由 Amin Forou 开发的开源项目,它把 Search Console 任务转成 Claude 可调用的 tool:performance analysis、URL inspection、sitemap management、period comparisons、property discovery。
MCP 在这里角色到位:据 NeuralCoreTech 的分析,MCP 是连接 agent 与"tools、resources、files、databases 和 APIs"的层,而 A2A 才是连接各独立 agent 的层。读 GSC 不需要 multi-agent,只需要一个标准协议层来替代每个 service 的自定义集成。
Google Cloud:建独立项目,启用 Google Search Console API。到 Google Auth Platform:填 app name 和 support email(Branding),audience 选 External,app 状态保持在 Testing,把你的账号加到 Test users——该账号必须已持有该 property 的权限。
OAuth client:建一个 Desktop app 类型的 client,把 JSON 下载到固定私有路径(~/Documents/credentials/gsc-client-secrets.json)。不要 commit 这个文件。
安装 server:最简洁的方式是 uvx(在隔离 Python 环境中运行包)。安装 uv,然后保留 which uvx 的完整路径。
用绝对路径接入 Claude Code:
claude mcp add-json --scope user gscServer '{
"type": "stdio",
"command": "/Users/yourname/.local/bin/uvx",
"args": ["mcp-search-console"],
"env": { "GSC_OAUTH_CLIENT_SECRETS_FILE": "/Users/yourname/Documents/credentials/gsc-client-secrets.json" }
}'
用 claude mcp list 和 claude mcp get gscServer 检查。--scope user 让这个 integration 在所有本地 project 中生效,但不会把 credential 路径 commit 进 repo。如果选择手动从仓库安装而非 uvx,需要 Python 3.11 以上。
三个最费时间的坑
七天后过期。使用 external app 且仍处于 Testing 状态时,Google 的 authorization 和 refresh token 通常在七天后过期。认证突然断掉时,调用 tool 的 reauthenticate 重新 approve——原文只给了这一种修复方法,所以把七天一轮视为 Testing 阶段固定的成本。
spawn uvx ENOENT。Claude Code 可能没有继承 terminal 的 PATH,所以直接写 uvx 会报错。用完整路径。
Property 返回 404。有两种格式:sc-domain:example.com 和 URL-prefix https://www.example.com/。对于 URL-prefix,protocol、hostname 和尾部斜杠必须精确匹配——先跑 list_properties,然后复制 API 返回的正确值。
值得立刻跑的 Prompt
Server 暴露的 tool 包括 get_performance_overview、compare_search_periods、inspect_url_enhanced、check_indexing_issues。两个 prompt 直接产出可执行的待办事项:
Find pages ranking in positions 1 to 10 with at least 1,000 impressions
and CTR below 2%. Show their leading queries and suggest accurate title improvements.
For sc-domain:example.com, find non-branded queries with at least 500 impressions
and positions from 11 to 20 in the last 28 days. Group them by ranking page and
recommend whether to update an existing page or create a new one.
数据新鲜度:保持默认 GSC_DATA_STATE=all 以获取 dashboard 最新数据;需要稳定数字做报告时切换到 GSC_DATA_STATE=final,代价是延迟一个周期。
开启前的安全锁
请求的 scope 是 https://www.googleapis.com/auth/webmasters——read/write,而非 read-only。mcp-gsc 的 destructive operation 默认关闭,直到设置 GSC_ALLOW_DESTRUCTIVE=true:保持不动。client JSON 和 OAuth token cache 放在 repo 外部,approve 之前审查每个 MCP tool call,如果 credential 泄露则 revoke OAuth app。
原文作者判断,最大价值不是生产更多 SEO 内容,而是把真实的搜索数据交到 coding assistant 手中,让它在修复前精准定位到对的页面。下一步:在点击量最高的十个 landing page 上跑 check_indexing_issues,然后观察七天之内认证是否如预测那样断开。