关于 Google Search Console
Google Search Console 的本地 MCP 服务,为 Agent 提供只读搜索分析、URL 索引和站点地图数据访问,不能修改网站或 Search Console 设置。
主要功能
- 01查询点击、展示、CTR 和排名
- 02按查询、页面、设备等维度筛选
- 03检查单个 URL 的索引状态
- 04查看已提交站点地图状态
适用场景
- 01找出展示多但点击少的搜索词
- 02比较移动设备与桌面端表现
- 03检查页面索引和抓取信息
MCP 相关
作为本地 STDIO MCP 服务,向 MCP 客户端提供 Search Console 属性、搜索分析、URL 检查和站点地图工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @sarahpark/google-search-console-mcpGOOGLE_APPLICATION_CREDENTIALS密钥Optional path to a service account JSON key; omit to use local Application Default Credentials本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
4收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
Google Search Console MCP 服务
一个用于 Google Search Console 的简易 MCP 服务。
为 Codex、Claude Code 或 Claude Desktop 提供对搜索分析、URL 索引信息和站点地图状态的只读访问权限。服务在本地运行;无法更改你的网站或 Search Console 设置。
连接后,可以向你的 Agent 提问:
- “过去 28 天里,哪些查询的展示次数最多但点击次数较少?”
- “比较本月移动设备与桌面设备的搜索表现。”
- “检查 https://example.com/blog/my-post 的索引状态。”
设置
你需要 Node.js 和 npm、一个 MCP 客户端,以及对 Search Console 资源的访问权限。若要以自己的身份登录,还需安装 Google Cloud CLI。已使用 Node.js 22 检查服务启动和工具发现。
1. 启用 Google API
在 Google Cloud Console 中创建或选择一个项目,然后启用 Search Console API。记下项目 ID,下一步会用到。
2. 进行身份验证
推荐新用户使用:以自己的身份登录。 应用默认凭据(ADC)会使用你现有的 Search Console 权限,因此无需向你的资源添加其他用户。
运行以下两条命令,并将 YOUR_PROJECT_ID 替换为你在上一步启用 API 的项目 ID:
gcloud auth application-default login \
--scopes=https://www.googleapis.com/auth/webmasters.readonly,https://www.googleapis.com/auth/cloud-platform
gcloud auth application-default set-quota-project YOUR_PROJECT_ID
必须设置配额项目。遇到权限或范围错误时,请参阅故障排除。
替代方案:使用服务账号密钥
- 在 Google Cloud Console 中,依次前往 API 和服务 → 凭据 → 创建凭据 → 服务账号。为其命名并完成创建;可以跳过可选的角色和访问权限步骤。
- 打开服务账号,然后依次选择 密钥 → 添加密钥 → 创建新密钥 → JSON,下载密钥。
- 在 Search Console 中,打开每个资源的 设置 → 用户和权限 → 添加用户。添加服务账号邮箱,并授予 受限 访问权限。
注意
将密钥存放在仓库之外,绝不要提交它。在下面的客户端配置中使用密钥的绝对路径。
如果 Search Console 因“Failed to add user: email not found”而拒绝该邮箱,请改为以自己的身份登录;参阅故障排除。
服务会优先检查 GOOGLE_APPLICATION_CREDENTIALS,然后再检查本地 ADC。如果改用 ADC,请从客户端配置和环境中移除旧的密钥路径设置。
3. 安装服务
下一步中的 npx 命令会为你下载并运行版本 1.1.0。两种身份验证方式均可使用 npm 包;无需克隆或构建。
可选:从源代码构建
git clone https://github.com/sarahpark/google-search-console-mcp.git
cd google-search-console-mcp
npm install
npm run build
在下面的客户端命令中,将 npx -y @sarahpark/[email protected] 替换为 node "/absolute/path/to/google-search-console-mcp/build/index.js"。在 Claude Desktop 中,将 command 设为 node,并将 args 设为包含该绝对路径的数组。运行 npm test 可执行离线身份验证检查。
让 Codex 或 Claude Code 处理安装和配置
完成身份验证后,将以下内容粘贴给你的 Agent:
将
npx -y @sarahpark/[email protected]作为gsc添加到此客户端的用户级 MCP 配置中,并保留现有服务。使用我的本地应用默认凭据。完成设置后告诉我是否需要重启客户端。
若使用服务账号,请将“使用我的本地应用默认凭据”替换为“将 GOOGLE_APPLICATION_CREDENTIALS 设置为 /path/to/service-account-key.json”,并填入你实际的文件路径。
完成配置后,跳到第 5 步。
选择你的客户端,并根据身份验证方式运行相应命令。将占位符路径替换为实际的绝对路径;路径中包含空格时,请保留引号。保留任何现有的服务条目。
Codex
以自己的身份登录(ADC):
codex mcp add gsc -- npx -y @sarahpark/[email protected]
使用服务账号的 npm 包:
codex mcp add gsc \
--env "GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/service-account-key.json" \
-- npx -y @sarahpark/[email protected]
如需在 ~/.codex/config.toml 中手动配置,请参阅 Codex MCP 文档。
Claude Code
以自己的身份登录(ADC):
claude mcp add gsc --scope user -- npx -y @sarahpark/[email protected]
使用服务账号的 npm 包:
claude mcp add gsc --scope user \
--env "GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/service-account-key.json" \
-- npx -y @sarahpark/[email protected]
--scope user 会让所有项目都能使用此服务。使用 --scope project 可通过项目的 .mcp.json 共享配置。
Claude Desktop
将相应条目添加到 claude_desktop_config.json,并合并到任何现有的 mcpServers 对象中。
以自己的身份登录(ADC):
{
"mcpServers": {
"gsc": {
"command": "npx",
"args": ["-y", "@sarahpark/[email protected]"]
}
}
}
使用服务账号的 npm 包:
{
"mcpServers": {
"gsc": {
"command": "npx",
"args": ["-y", "@sarahpark/[email protected]"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
}
}
}
}
5. 验证连接
重启客户端或启动新会话,然后询问:
使用 gsc MCP 服务列出我的 Search Console 资源。
成功调用 list_sites 即可验证连接和 Google 访问权限。后续请求中请使用它返回的确切资源网址,例如 sc-domain:example.com 或 https://example.com/。
工具
列出你的资源 — list_sites
列出你在 Google Search Console 中有权访问的所有站点(资源)。
无需参数。
查询搜索效果 — search_analytics
查询搜索分析数据,包括点击次数、展示次数、CTR 和排名。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
siteUrl | string | 是 | Search Console 中显示的站点网址(例如 https://example.com/ 或 sc-domain:example.com) |
startDate | string | 是 | 开始日期,格式为 YYYY-MM-DD |
endDate | string | 是 | 结束日期,格式为 YYYY-MM-DD |
dimensions | string | 否 | 以逗号分隔:query、page、country、device、searchAppearance、date |
rowLimit | number | 否 | 返回的最大行数(默认值为 100,最大值为 25000) |
searchType | string | 否 | web、image、video、news、discover 或 googleNews(默认值为 web) |
queryFilter | string | 否 | 按查询进行筛选。添加前缀 regex: 可使用正则表达式匹配 |
pageFilter | string | 否 | 按页面网址进行筛选。添加前缀 regex: 可使用正则表达式匹配 |
countryFilter | string | 否 | ISO 3166-1 alpha-3 国家代码(例如 USA、GBR) |
deviceFilter | string | 否 | DESKTOP、MOBILE 或 TABLET |
检查网址 — inspect_url
检查网址的索引状态、抓取信息和移动设备适用性。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
siteUrl | string | 是 | Search Console 中显示的站点网址 |
inspectionUrl | string | 是 | 要检查的完整网址(必须属于该站点) |
检查站点地图状态 — list_sitemaps
列出站点已提交的所有站点地图及其状态。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
siteUrl | string | 是 | Search Console 中显示的站点网址 |
限制
- 每次调用最多返回 25,000 行搜索分析数据,且不支持分页。结果可能会遗漏页面或查询,近期数据也可能不完整。
- 网址检查一次只能检查一个网址;它不会导出站点的完整索引覆盖率报告。
- 你的 Agent 会使用返回的数据进行比较和机会分析。这是一个本地 STDIO 服务,而不是托管的 ChatGPT 网页集成。
许可证
故障排除
403 错误:缺少配额项目或权限
如果错误提示 API“需要配额项目”,请重新运行:
gcloud auth application-default set-quota-project YOUR_PROJECT_ID
你的账号需要拥有该项目的 serviceusage.services.use 权限。如果权限被拒绝,请让项目管理员授予权限,或使用你拥有该权限且已启用 Search Console API 的项目。
登录尝试会自动附加你配置的项目,但如果你没有权限,可能会跳过。明确设置项目可以让此类失败显现出来。设置命令中的 cloud-platform 范围允许附加配额项目。
gcloud 无法授予 Search Console 范围
已确认内置的 gcloud 客户端在 Google Cloud SDK 557.0.0 中能够授予 webmasters.readonly。如果你的版本无法正常工作,请按照 gcloud 关于其他范围的说明创建自己的 OAuth 客户端,然后使用下载的客户端文件登录:
gcloud auth application-default login \
--client-id-file=client_id.json \
--scopes=https://www.googleapis.com/auth/webmasters.readonly,https://www.googleapis.com/auth/cloud-platform
gcloud auth application-default set-quota-project YOUR_PROJECT_ID
请将凭据文件保存在代码仓库之外。
Search Console 提示“Failed to add user: email not found”
有人报告,在添加新创建的服务账号时会出现此问题,这也是提供 ADC 选项的原因。请使用自己的账号登录,或使用已拥有该资源访问权限的现有服务账号。
缺少凭据或未返回任何资源
- 使用 npm 1.0.1 或更早版本: 将客户端命令更新至 1.1.0 或更高版本,以使用本地 gcloud ADC。
- 使用 ADC: 确保旧的
GOOGLE_APPLICATION_CREDENTIALS设置没有覆盖你的登录信息。已登录的 Google 账号必须拥有该资源的访问权限。 - 使用服务账号: 将
GOOGLE_APPLICATION_CREDENTIALS设置为密钥的绝对路径,并确认该账号的电子邮件地址已添加到你想读取的每个资源中。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。