mcpField
G
google-gsc

google-gsc

本地服务
github.com/mharnett商业与营销27 周前更新

关于 google-gsc

google-gsc 是用于查询 Google Search Console 的 MCP 服务,面向管理网站搜索表现和索引状态的用户。它整合了搜索分析、URL 检查和属性选择,并支持 OAuth 或服务账号认证。

主要功能

  1. 01查询点击、展示、CTR 和排名
  2. 02按查询词、页面、设备、国家或日期筛选分析数据
  3. 03检查索引、移动设备适用性和富媒体结果
  4. 04列出账号可访问的 Search Console 属性
  5. 05将工作目录映射到属性

适用场景

  1. 01按指定日期或维度查看搜索表现
  2. 02检查 URL 是否已编入索引及适配移动设备
  3. 03查找认证账号可访问的属性

MCP 相关

向 MCP 客户端提供四种只读工具,用于选择 Search Console 上下文、列出网站、查询分析数据和检查 URL。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"mharnett-google-gsc": {
"command": "npx",
"args": [
"-y",
"mcp-google-gsc"
],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "<GOOGLE_APPLICATION_CREDENTIALS>"
}
}
}
}
启动命令npx -y mcp-google-gsc
需要配置的环境变量
GOOGLE_APPLICATION_CREDENTIALS密钥Path to service account JSON credentials file

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-google-gsc1.0.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-google-gsc

通过 Claude 使用 Google Search Console 的 MCP 服务——搜索分析、URL 检查和站点管理。

功能

  • 搜索分析 —— 使用灵活的维度筛选条件(查询、页面、设备、国家/地区、日期)查询点击次数、展示次数、点击率和排名
  • URL 检查 —— 检查任意 URL 的索引状态、移动设备易用性和富媒体搜索结果
  • 站点列表 —— 列出已通过验证且经身份验证的账户(OAuth 用户或服务账户)可访问的所有 Search Console 资源
  • 多客户端支持 —— 通过按目录映射配置来管理多个 GSC 资源

安装

从 npm 安装
npm install mcp-google-gsc
从源代码安装
git clone https://github.com/mharnett/mcp-search-console.git
cd mcp-google-gsc
npm install
npm run build

配置

安全提示: 切勿分享 .mcp.json 文件或将其提交到 git 中——它可能包含 API 凭据。请将 .mcp.json 添加到 .gitignore。

mcp-gsc 支持两种身份验证模式。请选择适合你设置的模式。两种模式都不需要将任何文件放在硬编码的本机路径中——凭据来自环境变量(或你创建的 config.json)。

应选择哪种模式:

  • 服务账户(模式 B)——推荐用于无人值守、服务器或无头场景。 服务账户没有会过期或需要重新授权的交互式登录,因此适合始终在线的部署。唯一的设置要求是:必须在你想要查询的每个 Search Console 资源上授予服务账户邮箱访问权限(参见模式 B)。
  • 用户 OAuth(模式 A)——适用于个人或交互式使用,即你想使用自己的 Google 账号进行授权。

同时配置两种模式时的优先级: 如果明确设置了服务账户密钥文件(GOOGLE_APPLICATION_CREDENTIALS,或 config.json 中的 credentials_file),则它的优先级高于任何 OAuth 刷新令牌或已存储的 OAuth 凭据。如果两者均未配置,服务会在启动时明确报错并显示引导信息,而不会静默猜测——服务没有本机默认路径,也不会在运行时静默切换身份验证模式。

模式 A:用户 OAuth(使用你自己的 Google 账号)

如果你想使用自己的 Google 登录账号(具有 Search Console 访问权限的账号)进行授权,请使用此模式。最适合个人或交互式使用。

  1. 在 Google Cloud Console 中创建一个类型为桌面应用的 OAuth 2.0 客户端 ID,并启用 Search Console API。(对于桌面应用客户端,Google 接受任意 http://localhost 环回重定向——你无需预先注册端口。)
  2. 导出客户端凭据:
    export GOOGLE_GSC_CLIENT_ID=...apps.googleusercontent.com
    export GOOGLE_GSC_CLIENT_SECRET=...
    
  3. 生成刷新令牌(将打开浏览器,使用 PKCE 和 access_type=offline):
    node get-refresh-token.cjs
    

    请勿将此命令的标准输出重定向到共享日志——此命令会按设计将刷新令牌打印到标准输出。

  4. 将打印出的行复制到环境中:
    export GOOGLE_GSC_REFRESH_TOKEN=...
    

服务会在运行时从环境中读取 GOOGLE_GSC_CLIENT_ID、GOOGLE_GSC_CLIENT_SECRET 和 GOOGLE_GSC_REFRESH_TOKEN。

或者,运行引导式助手 npx mcp-gsc-auth。它会执行相同的 PKCE OAuth 流程,让你选择默认的 Search Console 资源,并将结果写入按用户保存的凭据文件。

模式 B:服务账户(推荐用于无人值守或服务器场景)

适用于服务器、无头或始终在线的环境——当没有人可以完成或刷新交互式登录时,推荐使用此方式。

  1. 创建一个具有 Search Console API 访问权限的 Google Cloud 服务账户,并下载其 JSON 密钥文件。
  2. 在你想要查询的每个 Search Console 资源上授予服务账户邮箱访问权限(在 Search Console 中将其添加为用户)。如果未在资源上授予此权限,服务账户虽然可以通过身份验证,但看不到任何站点。
  3. 通过环境变量将密钥文件路径提供给服务(无需硬编码路径):
    export GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/service-account-key.json
    
OAuth 作用域

两种模式都只请求一个只读作用域:https://www.googleapis.com/auth/webmasters.readonly。这四个工具都只读取数据,不会写入任何内容,因此服务端不会请求读写权限。

该作用域在 config.json 的 oauth.scope 中定义一次(参见 config.example.json)。OAuth 助手和运行时读取同一个值,因此不会出现偏差。如果 config.json 不存在(例如全新安装),则会使用已提交的只读默认值。

多客户端配置(可选)

要将工作目录映射到 Search Console 属性,请在项目根目录中创建 config.json(参见 config.example.json):

{
  "oauth": {
    "scope": "https://www.googleapis.com/auth/webmasters.readonly"
  },
  "clients": {
    "my-project": {
      "name": "My Project",
      "folder": "/path/to/project",
      "site_url": "https://example.com/"
    }
  }
}

用法

将以下内容添加到 Claude Code 的 .mcp.json 中:

{
  "mcpServers": {
    "gsc": {
      "command": "node",
      "args": ["/path/to/mcp-gsc/dist/index.js"]
    }
  }
}

或者,如果已全局安装:

{
  "mcpServers": {
    "gsc": {
      "command": "npx",
      "args": ["mcp-google-gsc"]
    }
  }
}

**Claude Desktop:**将以下内容添加到 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows)。

工具

工具描述
gsc_get_client_context根据配置映射,从工作目录检测 GSC 属性
gsc_list_sites列出已通过验证且已认证账号有权访问的所有 Search Console 属性
gsc_search_analytics查询搜索效果数据(点击次数、展示次数、点击率、排名),支持维度和筛选条件
gsc_inspection检查 URL 的索引状态、移动设备适用性和富媒体搜索结果
gsc_search_analytics

支持的维度:query、page、device、country、date。可使用 equals、contains、notContains 等运算符按任意维度筛选。日期范围默认为最近 28 天。

gsc_inspection

返回指定属性中某个 URL 的索引覆盖率、抓取状态、移动设备适用性判定和富媒体搜索结果详情。

架构

  • 弹性——使用 cockatiel 对所有 Google API 调用进行重试,并采用指数退避和断路器模式
  • 日志记录——通过 pino 实现结构化日志记录,并支持配置日志级别
  • 响应处理——将响应截断至 200KB,以符合 MCP 传输限制

许可证

MIT ——参见 LICENSE。


由 Mark Harnett / drak-marketing 构建

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。