关于 Search Console Mcp
Search Console MCP 是面向 SEO 与数据分析的 MCP 服务,将 Google Search Console、Bing Webmaster Tools、GA4 和 AdSense 数据集中供 Agent 查询,并在数据进入上下文前进行分析。支持多账户站点解析、CLI 查询及读写权限控制。
主要功能
- 01整合 GSC、Bing、GA4 与 AdSense 数据
- 02提供 SEO 审计、排名与流量查询工具
- 03分析关键词蚕食、异常与收入归因
- 04自动解析多账户站点归属
- 05通过 CLI 运行工具并输出 JSON、CSV 或表格
- 06默认只读并为写操作单独授权
适用场景
- 01定位流量下滑的起始时间与相关页面
- 02查找排名靠后且曝光较高的关键词机会
- 03检查页面间关键词蚕食及点击率问题
- 04比较搜索流量与广告收入变化
MCP 相关
它以 MCP 服务形式向 MCP 客户端暴露 SEO、搜索分析、索引和 AdSense 查询工具。支持默认 stdio 传输,并可通过 CLI 直接运行已注册工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y search-console-mcpGOOGLE_APPLICATION_CREDENTIALS密钥Google Cloud Service Account JSON key content or path. Optional if OAuth setup is used.BING_API_KEY密钥Bing API KeyPAGESPEED_API_KEY密钥PageSpeed Insights API key for higher quota (25k/day). Optional.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
21收录的工具列表 · 更新于 3 周前
此工具无需参数。
详细介绍
🔍 Search Console MCP
Google Search Console + Bing Webmaster Tools + GA4 + AdSense——尽在一个上下文窗口中。
别再导出 CSV 了。开始向你的 AI Agent 询问网站流量、排名和收入相关问题。
⚡ v2.1.4 新功能
- 🎯 正确解析属性(
#110):如果一个账号有多个已验证属性共享同一主机名(例如/en-gb/+/de-de/这样的语言区域子目录、根属性和sc-domain:属性),可能会悄无声息地返回错误属性的分析数据——具体取决于解析器先碰到哪个冲突属性。现在会根据属性类型和路径进行精确解析;裸域名查询会按确定性顺序排列(sc-domain:› 根属性),而真正有歧义的请求会返回匹配属性列表,而不是猜测。感谢 Alcip 在 #110 中出色地分析了根本原因。 - 🔐 为 GSC 变更工具明确授权写入权限(
#113):sitemaps_submit、sitemaps_delete和站点管理调用现在需要明确的 webmasters 写入权限范围;当工具首次需要此权限时,CLI 会提供内联重新授权流程。设置时服务默认保持只读;是否启用写入功能由你明确选择。感谢 chase-weiser88 在 #84 中指出缺少写入权限范围。 - 🛡️ SSE 传输已加固并弃用(
#114):SSE 模式现在默认绑定到127.0.0.1(可通过--host=/MCP_HTTP_HOST覆盖),需要 bearer 令牌(--token=/MCP_HTTP_TOKEN;未设置时自动生成),不再发送通配符 CORS,并会拒绝伪造的非环回 Host 标头(防范 DNS 重绑定)。SSE 模式已弃用,将在下一个版本中移除——建议使用默认的 stdio 传输。 - 🪲
find_quick_wins提示词参数类型(#112):min_impressions被声明为数字,但 MCP 客户端必须将提示词参数作为字符串发送,因此每次使用都会报错:expected number, received string。现在该参数类型为字符串,并会在内部转换(保留1000默认值)。
v2.1.2 新功能
- 🤖 GenAI 查询洞察(
genai_query_insights):识别 Google 和 Bing 中可能属于生成式 AI / AI 模式 / 对话式“扇出”的查询。这是自定义启发式逻辑——Google 和 Bing 均未提供用于获取 GenAI 引用数据的官方 API,因此该功能会在两家搜索引擎已返回的常规查询数据中,标记包含提示词动词、后续追问、确认回应和对话式表达的内容。参见文档 → - 🪲
analytics_query修复:现在会遵循rowLimit,不再静默忽略(此前始终最多返回 1000 行);limit仍作为向后兼容的别名保留。
v2.1.0 新功能
* 💰 **Google AdSense 集成**:通过 `setup --engine=adsense` 获取收益报告、付款信息和账号提醒。启用 AdSense 需要你批准单独的 `adsense.readonly` OAuth 范围;在你选择启用之前,现有的 GSC、Bing 和 GA4 配置不会改变。 * 🔐 **AdSense 仅支持 OAuth 身份验证**:AdSense Management API 仅支持用户 OAuth——现在,设置过程会实时验证访问权限,并拒绝不受支持的服务账号配置,同时提供可操作的指导。拥有多个账号的用户可以明确选择发布商账号,并支持完整分页(超过 100 个账号)。 * 📊 **`adsense_report` 升级**:自定义的 `startDate`/`endDate` 现在会覆盖预设的 `dateRange`,并新增 `orderBy` 参数(`-ESTIMATED_EARNINGS`),用于生成排序后的收入报告。 * 🧪 **端到端 MCP 测试套件**:现在会通过 stdio 和 SSE 测试构建出的服务二进制文件,方式与 MCP 主机驱动它的方式完全相同——涵盖握手、工具架构、错误封装和多账号资源行为(11 项端到端测试已接入 CI)。v2.0.x 新增内容
- 💰 Google AdSense 集成:通过
setup --engine=adsense获取收益报告、付款信息和账号提醒。启用 AdSense 需要你批准单独的adsense.readonlyOAuth 范围;在你选择启用之前,现有的 GSC、Bing 和 GA4 配置不会改变。 - 🔐 AdSense 仅支持 OAuth 身份验证:AdSense Management API 仅支持用户 OAuth——现在,设置过程会实时验证访问权限,并拒绝不受支持的服务账号配置,同时提供可操作的指导。拥有多个账号的用户可以明确选择发布商账号,并支持完整分页(超过 100 个账号)。
- 📊
adsense_report升级:自定义的startDate/endDate现在会覆盖预设的dateRange,并新增orderBy参数(-ESTIMATED_EARNINGS),用于生成排序后的收入报告。 - 🧪 端到端 MCP 测试套件:现在会通过 stdio 和 SSE 测试构建出的服务二进制文件,方式与 MCP 主机驱动它的方式完全相同——涵盖握手、工具架构、错误封装和多账号资源行为(11 项端到端测试已接入 CI)。
v2.0.x 新增内容
- 📦 MCPB 一键安装包支持(
.mcpb):支持在 Claude Desktop 中通过拖放安装安装包。 - ⚡ 并行抓取引擎(
engine: "all"):多引擎查询会并发获取 Google、Bing 和 GA4 数据,延迟降低 50% 以上。 - 🔄 100% 向后兼容:所有约 96 个旧版工具名称都能通过回退路由器继续无缝使用。阅读向后兼容指南 →
为什么要开发这个项目
网站数据分散在四个不同的信息孤岛中。要回答一个问题—— “我的广告收入下降,是因为流量下滑,还是 RPM 降低?” ——通常意味着要登录四个控制面板、导出四份 CSV, 再手动用 VLOOKUP 查找匹配数据。
Search Console MCP 将 GSC、Bing、GA4 和 AdSense 集中到一组 AI Agent 可直接调用的工具中,并会在数据进入上下文窗口之前, 完成分析(流量蚕食、异常检测、收入归因)。
| 之前 | 之后 | |
|---|---|---|
| 数据 | 4 个控制面板,手动导出 | 1 个统一上下文 |
| 分析 | 手动使用 VLOOKUP 和数据透视表 | 服务端执行确定性的 SEO + 收入计算 |
| 账号 | 不断重新登录 | 20 多个账号,按站点自动解析 |
| 洞察 | 原始数据行,由 Agent 猜测 | 精选信号(机会评分、异常) |
⚡ 快速开始
npx search-console-mcp setup
这会打开浏览器,授权你的 Google 账号,并安全地存储你的凭据(参见安全性)。然后将其添加到 MCP 客户端配置中(Claude Desktop、Cursor、Antigravity 等):
{
"mcpServers": {
"search-console": {
"command": "npx",
"args": ["search-console-mcp"]
}
}
}
重启客户端,然后试试下面的提示词。
💬 试试看
将以下内容直接粘贴到你的 Agent 中:
“与上周相比,我本周的流量下降了。请准确找出下降开始的时间,以及导致下降的页面。”
“找出 example.com 排名在第 8–15 位且展示次数超过 1,000 的关键词——这些是我最容易快速提升排名的机会。”
“检查是否存在关键词蚕食——我的两个页面是否在争夺同一个查询词?”
“对我的热门页面运行
seo_audit:哪些页面的搜索可见度很高,但点击率很低?”
更多示例提示词
- “运行完整的 SEO 健康检查(
site_health_check),并按品牌词与非品牌词细分。” - “获取展示次数最高的前 5 个页面并运行
pagespeed_analyze——排名下滑是否与页面速度有关?” - “比较过去 30 天 Google 与 Bing 的表现(
compare_engines)——Bing 哪些方面表现更好?” - “使用
indexing_submit和method: "index_now"将我最新的网址提交到 Google 和 IndexNow。”
🔌 连接你的账号
| 平台 | 方法 | 设置 |
|---|---|---|
| Google Search Console | OAuth(推荐) | npx search-console-mcp setup |
| Google Search Console | 服务账号 | 设置 GOOGLE_APPLICATION_CREDENTIALS——详情 |
| Bing Webmaster Tools | API 密钥 | export BING_API_KEY="..."——获取密钥 |
| Google Analytics 4 | 服务账号 | npx search-console-mcp setup --engine=ga4 |
| Google AdSense | OAuth(只读) | npx search-console-mcp setup --engine=adsense——无头服务器 |
通过命令行管理所有内容:
npx search-console-mcp accounts list
npx search-console-mcp accounts add-site [email protected] --site=example.com
npx search-console-mcp accounts remove [email protected]
当你的 Agent 查询某个网站时,服务会自动确定该网站所属的账号,无需手动切换。多账号文档 →
无头服务器(Docker、CI、VPS)
AdSense 不支持使用服务账号,而且配置文件经过机器加密,因此请在任意一台带浏览器的机器上完成一次授权,然后传输授权凭据:
# 1. On your laptop (after setup --engine=adsense):
npx search-console-mcp adsense-export
# 2. On the server (prints a ready-to-run command on step 1):
npx search-console-mcp adsense-import --token='...' --publisher-id='accounts/pub-...'
令牌会在服务器上加密存储并自动刷新,无需再次使用浏览器。也可以直接通过 SSH 设置:如果未检测到浏览器,setup 会打印授权网址和 ssh -L 3000:localhost:3000 端口转发说明,而不会报错。
🖥️ 通过命令行运行工具
Search Console MCP 还支持将已注册的 MCP 工具作为直接命令行命令使用。使用 run 子命令列出工具、查看特定工具的参数,并以 JSON、CSV 或 ASCII 表格形式输出结果:
# List registered tools
npx search-console-mcp run --help
# Show options for one tool
npx search-console-mcp run analytics_query --help
# Run an SEO audit with JSON output
npx search-console-mcp run seo_audit --siteUrl=https://example.com --type=quick_wins
# Print array results as CSV or a table
npx search-console-mcp run analytics_query --siteUrl=https://example.com --startDate=2026-06-01 --endDate=2026-06-30 --dimensions=date,query --format=csv
npx search-console-mcp run sites_list --engine=all --format=table
服务账号设置(适用于服务器/自动化)
- 在 Google Cloud Console 中创建服务账号
- 生成 JSON 密钥
- 在 Search Console 中将服务账号邮箱添加为用户,并授予“完全”或“受限”访问权限
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/key.json"
🛠 工具(流畅领域架构)
Search Console MCP v2.0 提供 7 个流畅领域工具,可简洁地处理所有 SEO、分析、检查和索引操作:
| 流畅工具 | 参数 / 操作 | 描述 |
|---|---|---|
sites_list | engine: "all" | "google" | "bing" | 并行列出各搜索引擎中已验证的网站 |
sites_manage | action: "add" | "delete"、siteUrl、engine | 添加或移除网站资源 |
accounts_manage | action: "list" | "add_site" | "remove" | 配置多账户配置文件 |
sitemaps_list | siteUrl、feedUrl、engine | 获取站点地图状态和索引状态 |
sitemaps_submit | siteUrl、feedUrl、engine | 向 GSC 和 Bing 提交站点地图 |
sitemaps_delete | siteUrl、feedUrl、engine | 移除站点地图 |
analytics_query | siteUrl、engine、dimensions、metrics | 跨搜索引擎搜索和 GA4 分析查询 |
analytics_compare | mode: "period_over_period" | "trends" | "drop_attribution" | 分析周期变化、趋势变动和流量下降原因 |
analytics_anomalies | siteUrl、threshold | 通过统计方法检测流量激增或下降 |
inspection_inspect | siteUrl、urls、engine | Google URL 检查和 Bing URL 信息 |
pagespeed_analyze | url、strategy、cwvOnly | 核心网页指标和 PageSpeed Insights 审核 |
indexing_submit | urls、method: "standard" | "index_now" | "remove" | 通过 IndexNow 或 Google/Bing API 立即索引 URL |
indexing_status | siteUrl、type: "quota" | "status" | 检查剩余索引配额和 URL 状态 |
seo_audit | type: "quick_wins" | "striking_distance" | "cannibalization" | "low_hanging_fruit" | "lost_queries" | "recommendations" | "brand_vs_nonbrand" | 全面的自动化 SEO 审核 |
seo_keywords_research | keywords、type: "stats" | "related" | "traffic" | 关键词搜索量和相关关键词统计数据 |
site_health_check | siteUrl、level: "summary" | "full" | "crawl_issues" | 一次性检查网站性能和技术状况 |
compare_engines | siteUrl | 并列对比 Google 与 Bing 的性能明细 |
genai_query_insights | siteUrl、days、engine: "google" | "bing" | "all"、includePages、minImpressions | 标记可能属于生成式 AI / 对话式查询的搜索词(自定义启发式方法,无官方 API) |
Google AdSense 工具
| 工具 | 参数 | 描述 |
|---|---|---|
adsense_accounts | mode: "configured" | "discover"、accountId | 列出已配置或可发现的 AdSense 发布商账户 |
adsense_report | dateRange、startDate、endDate、dimensions、metrics、orderBy、rowLimit、accountId | 按维度细分显示收入、展示次数、点击次数、CTR 和 RPM。自定义日期优先于 dateRange。 |
adsense_payments_alerts | accountId | 未结付款和账户提醒(政策问题、付款冻结) |
注意:
accountId指已配置的配置文件 ID(例如accounts_manage所示的adsense_2),而不是accounts/pub-123这样的发布商资源名称。
向后兼容性说明(96+ 个旧版工具)
所有旧版工具名称(bing_sites_list、seo_quick_wins、sitemaps_get、bing_index_now、indexing_submit_url、opportunity_matrix 等)仍可通过我们的回退路由器正常使用。
请阅读完整的向后兼容与迁移指南 →
🔒 安全
- 优先使用操作系统密钥链——令牌存储在 macOS 钥匙串、Windows 凭据管理器或 Linux Secret Service 中
- AES-256-GCM 回退方案——使用从设备硬件 ID 派生的密钥加密;窃取的文件在其他设备上无法使用
- 最少存储——仅持久化
refresh_token和expiry_date,权限设为mode 600 - 静默刷新——令牌会在后台自动续期
许可证
如果这个项目帮你省去了处理电子表格的麻烦,不妨 ⭐ 为仓库点个赞。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。