搜索引擎优化分析服务器

一个通过MCP协议提供Google Search Console数据访问的服务,用于SEO分析和性能监控。

  • by ksaitor
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 ksaitor/gsc-mcp

使用说明

谷歌搜索控制台MCP服务器

一个MCP(模型上下文协议)服务器,提供对谷歌搜索控制台数据的全面访问,用于SEO分析。与Claude Code、Claude Desktop或任何兼容MCP的客户端一起使用。

特性

  • 站点管理:列出并检查Search Console属性
  • 搜索分析:查询点击次数、展示次数、点击率和位置数据
  • 多重维度:按查询、页面、国家、设备或日期进行分析
  • URL检查:检查索引状态、爬网信息和移动可用性
  • 网站地图管理:列出并检查提交的现场地图
  • 期间比较:比较不同日期范围内的SEO报告性能
  • 内容差距分析:查找查询/页面组合以识别蚕食

可用工具

工具 说明
gsc_list_sites 列出所有可访问的Search Console属性
gsc_get_site 获取特定网站的详细信息
gsc_query_search_analytics 具有维度/过滤器的灵活分析查询
gsc_get_top_queries 点击次数最多的搜索查询
gsc_get_top_pages 点击次数最多的页面
gsc_get_performance_by_country 地理分布
gsc_get_performance_by_device 台式机/移动设备/平板电脑指标
gsc_inspect_url URL检查API-索引状态、爬网信息
gsc_list_sitemaps 列出所有提交状态的站点地图
gsc_get_sitemap 获取特定站点地图详细信息
gsc_compare_periods 比较两个日期范围之间的性能
gsc_get_query_page_combinations 内容差距分析的多维查询

先决条件

  • Node.js 18+
  • 可以访问Search Console属性的Google帐户

设置

1.克隆存储库

git clone https://github.com/ksaitor/gsc-mcp.git
cd gsc-mcp

2.安装依赖项

npm install

3.建设项目

npm run build

4.创建Google OAuth凭据

  1. 首选 谷歌云控制台-凭据

  2. 创建一个项目(如果你没有):

    • 单击顶部的项目下拉列表
    • 点击“新建项目”
    • 命名它(例如,“搜索控制台MCP”)
    • 点击“创建”
  3. 启用搜索控制台API:

  4. 配置OAuth同意屏幕:

    • 首选 OAuth同意屏幕
    • 选择“外部”(如果使用谷歌工作区,则选择“内部”)
    • 填写必填字段(应用程序名称、用户支持电子邮件、开发人员电子邮件)
    • 点击“保存并继续”
    • 在“范围”页面上,单击“添加或删除范围”
    • 搜索并添加: https://www.googleapis.com/auth/webmasters.readonly
    • 点击“保存并继续”
    • 将您的电子邮件添加为测试用户
    • 点击“保存并继续”
  5. 创建OAuth客户端ID:

    • 首选 凭证
    • 点击“创建凭据”→ “OAuth客户端ID”
    • 选择“桌面应用程序”作为应用程序类型
    • 命名它(例如,“搜索控制台MCP”)
    • 点击“创建”
    • 点击“下载JSON”
    • 将文件另存为 client_secret.json 在此目录中

5.身份验证

运行身份验证脚本:

npm run auth

这将:

  1. 打开浏览器窗口进行谷歌授权
  2. 要求您登录并授予对Search Console的访问权限
  3. 将凭据保存到 credentials.json

您应该看到如下输出:

Success! Found 3 Search Console properties:
  - https://example.com/ (siteOwner)
  - sc-domain:example.com (siteOwner)

6.配置MCP客户端

克劳德代码

添加到您的克劳德代码设置(~/.claude.json):

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

克劳德桌面

添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):

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

7.重新启动MCP客户端

重新启动Claude Code或Claude Desktop以加载新的MCP服务器。

使用示例

配置后,您可以询问Claude:

  • “列出我的搜索控制台属性”
  • “显示过去28天内对example.com的前10个查询”
  • “点击后我的主页是什么?”
  • “将我的网站上个月的性能与本月的性能进行比较”
  • “检查https://example.com/page已编入索引”
  • “按国家显示sc域的性能:example.com”

测试

使用MCP检查器测试服务器:

npx @modelcontextprotocol/inspector node dist/index.js

这将打开一个web UI,您可以在其中交互式地测试所有工具。

故障排除

“请求的身份验证范围不足”

您的凭据没有所需的Search Console范围。重新运行:

rm credentials.json
npm run auth

“访问被阻止:此应用程序的请求无效”

您的OAuth同意屏幕可能配置不正确:

  1. 首选 OAuth同意屏幕
  2. 确保您已添加 webmasters.readonly 范围
  3. 将您的电子邮件添加为测试用户(如果处于测试模式)

“找不到文件:client_secret.json”

下载您的OAuth凭据:

  1. 首选 凭证
  2. 查找您的OAuth 2.0客户端ID
  3. 点击下载按钮
  4. 另存为 client_secret.json 在此目录中

身份验证期间“无法访问此网站”

身份验证脚本使用端口8080。如果它正在使用中,您可能需要修改 src/auth.ts 使用不同的端口。

安全说明

  • 从不提交凭据:两者都有 client_secret.json 和 credentials.json 在里面 .gitignore
  • 只读访问:此服务器仅请求对Search Console数据的读取权限
  • 本地凭据:所有凭据都存储在本地计算机上

Python版本

您在寻找Python版本吗?看看 python分支.

致谢

该项目基于原始 谷歌搜索控制台MCP要点 通过 @拉瓦尼谢谢你的基金会!

许可证

麻省理工学院