SEO数据服务器

Livewire MCP Server是一款私有SEO数据服务器,可在本地计算机上运行,为Claude提供直接访问Google Search Console、Google Analytics、PageSpeed Insights和排名跟踪数据的权限,无需编码经验即可实现与SEO数据的实时对话。

  • by richvoller
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 richvoller/livewire-mcp-server

使用说明

Livewire MCP服务器——克劳德的私有SEO数据服务器

让克劳德直接访问您的谷歌搜索控制台、谷歌分析、PageSpeed Insights、排名跟踪和(可选)SEMrush或Ahrefs数据——所有这些都在您自己的计算机上私下运行。

由...建造 Livewire 对于希望在Claude内部与自己的数据进行真实对话的SEO专业人士、代理商所有者和自由职业者来说。无需编码经验,只需按照以下步骤操作即可。 更深入的教程和视频演练可在以下网址获得:https://livewire.marketing/blog/mcp-server-seo-analysis


这有什么作用?

该软件在您的计算机上运行一个小型私人服务器,克劳德可以与之交谈。当您向克劳德提出以下问题时 “本月我在Search Console中的前10个页面是什么?”,Claude调用你的服务器,你的服务器从谷歌(或SEMrush、Ahrefs、SERPRobot等)获取数据,并将其交还给Claude,以便它能给你一个正确的答案。

除了对谷歌和其他搜索引擎优化工具的正常API调用外,没有任何东西离开你的机器。您的API密钥保留在您的计算机上。

包含的工具

工具 来源 状态
Google搜索控制台 点击次数、展示次数、点击率、页面位置和查询 核心(始终打开)
谷歌分析4 会话、用户、跳出率、转化率、每日趋势 核心(始终打开)
PageSpeed洞察 核心网络重要信息,Lighthouse评分(移动和桌面) 核心(始终打开)
排名跟踪器 SERPRobot(或您自己的提供商)的关键字位置 核心(始终打开)
SEMrush 域分析、有机关键字、反向链接概述 可选--添加要激活的API密钥
阿雷夫斯 域名评级、反向链接、有机关键字估计 可选--添加要激活的API密钥

你需要什么

在开始之前,请确保您已准备好以下内容:

  1. 一台计算机 (Mac或Windows)
  2. Claude桌面应用程序 --下载自 claude.ai/下载
  3. 文本编辑器 --我们推荐 VS Code (免费)但任何编辑器都可以工作
  4. Node.js v18或更高版本 --这将运行服务器。下载自 nodejs.org (选择LTS版本)
  5. Google Cloud帐户 --自由创作 console.cloud.google.com
  6. 访问谷歌搜索控制台和GA4 对于您要查询的网站

可选:

  • A. SEMrush 具有API访问权限的订阅
  • 一 阿雷夫斯 具有API访问权限的订阅
  • A. SERPRobot 帐户(现有项目可免费访问API)

逐步设置

第一步——安装Node.js

Node.js是运行服务器的东西。你只需要安装一次。

  1. 首选 nodejs.org
  2. 下载 长期支持 版本(绿色大按钮)
  3. 运行安装程序并接受所有默认设置
  4. 要检查它是否正常工作,请打开终端并键入:
node --version

你应该看看这样的东西 v18.x.x 或更高。如果您看到错误,请重新启动终端并重试。

什么是终端?

  • 雨衣: 打开名为“终端”的应用程序(使用Cmd+Space在Spotlight中搜索)
  • 窗户: 打开“命令提示符”或“PowerShell”(在“开始”菜单中搜索)

步骤2--下载此项目

选项A——以ZIP格式下载(最简单)

  1. 将此存储库下载为ZIP文件
  2. 将其解压缩到您可以轻松找到的文件夹中,例如:
    • 雨衣: /Users/yourname/livewire-mcp-server
    • 窗户: C:\Users\yourname\livewire-mcp-server

选项B——使用Git克隆(如果您安装了Git)

git clone <your-repo-url> livewire-mcp-server

步骤3——安装依赖项

打开终端并导航到项目文件夹,然后运行:

cd /Users/yourname/livewire-mcp-server
npm install

替换 /Users/yourname/livewire-mcp-server 带有文件夹放置位置的实际路径。

这将下载服务器所需的少量软件包。你应该看到一个 node_modules 文件夹出现——这意味着它工作正常。


第4步——创建你的谷歌云项目和API证书

这是最长的一步,但你只做一次。这些凭据由谷歌搜索控制台、GA4和PageSpeed Insights使用。

4a——创建谷歌云项目

  1. 首选 console.cloud.google.com
  2. 使用有权访问您的搜索控制台和GA4的Google帐户登录
  3. 点击页面顶部的项目下拉列表(可能显示“选择项目”)
  4. 点击 新项目
  5. 给它起个名字 Livewire MCP Server
  6. 点击 创建
  7. 确保在下拉列表中选择了新项目

4b——启用API

您需要在Google Cloud项目中打开三个API:

  1. 首选 API和服务>库 (使用左侧菜单或搜索栏)
  2. 搜索并启用每个选项(单击每个选项,然后单击 启用):
    • 谷歌搜索控制台API
    • 谷歌分析数据API (这是GA4——确保上面写的是“数据API”,而不是“分析API”)
    • PageSpeed洞察API

4c——创建OAuth 2.0凭据(用于搜索控制台和GA4)

  1. 首选 API和服务>凭据
  2. 点击 +创建凭据>OAuth客户端ID
  3. 如果出现提示,请配置 OAuth同意屏幕 第一:
    • 选择 外部 (如果您有谷歌工作区,则为内部)
    • 填写应用程序名称(例如。, Livewire MCP)以及您的电子邮件
    • 您可以跳过可选字段——只需点击即可保存
    • 将您自己的电子邮件添加为 测试用户
  4. 回去 凭据>+创建凭据>OAuth客户端ID
  5. 应用程序类型: Web应用程序
  6. 姓名: Livewire MCP
  7. 在...之下 授权重定向URI,添加: https://developers.google.com/oauthplayground
  8. 点击 创建
  9. 弹出窗口将显示您的 客户端ID 和 客户端密钥 --把这些复制到安全的地方(你很快就会需要它们)

4d——生成刷新令牌

Google使用每小时过期一次的OAuth令牌。A. 刷新令牌 让服务器自动获取一个新的,而无需每次登录。

  1. 首选 developers.google.com/oauthplayground
  2. 点击 齿轮图标 在右上角
  3. 检查 “使用您自己的OAuth凭据”
  4. 粘贴到您的 客户端ID 和 客户端密钥 从上一步开始
  5. 关闭设置面板
  6. 在左侧边栏中,找到并选择这些范围(勾选框):
    • https://www.googleapis.com/auth/webmasters.readonly (搜索控制台)
    • https://www.googleapis.com/auth/analytics.readonly (GA4)
  7. 点击 授权API
  8. 使用您的Google帐户登录并授予权限
  9. 点击 代币的交换授权码
  10. 复制 刷新令牌 从响应中--这是您需要的长字符串

重要提示: 保持您的客户端ID、客户端密码和刷新令牌私有。永远不要公开分享或提交到Git。

4e——创建PageSpeed Insights API密钥

  1. 回去 console.cloud.google.com (确保您的项目已被选中)
  2. 首选 API和服务>凭据
  3. 点击 +创建凭据>API密钥
  4. 复制出现的API密钥
  5. (可选但推荐)单击 限制密钥,然后在 API限制,选择 PageSpeed洞察API 只是——这限制了钥匙一旦泄漏时能做什么

步骤5--查找您的GA4房产ID

  1. 首选 analytics.google.com
  2. 点击 齿轮图标 左下角的(管理员)
  3. 在 财产 列,单击 属性设置
  4. 你的 属性ID 是顶部显示的数字(例如。, 123456789)

步骤6——创建.env文件

这 .env 文件是所有API密钥所在的位置。这是一个纯文本文件——没什么特别的。

  1. 在VS Code(或您的文本编辑器)中打开项目文件夹

  2. 查找所调用的文件 .env.example

  3. 制作一份副本,并将副本重命名为 .env

    从终端:

    cp .env.example .env
    

    或者在VS代码中: 右击 .env.example,选择“复制”,然后粘贴并重命名到 .env

  4. 打开你的新 .env 文件并将占位符值替换为您的真实凭据:

# CORE -- fill all of these in
GSC_CLIENT_ID=your_actual_client_id_here
GSC_CLIENT_SECRET=your_actual_client_secret_here
GSC_REFRESH_TOKEN=your_actual_refresh_token_here
GA4_PROPERTY_ID=your_actual_property_id_here
PAGESPEED_API_KEY=your_actual_pagespeed_api_key_here

# RANK TRACKER -- fill in your SERPRobot API key (leave the URL as-is)
RANK_TRACKER_API_KEY=your_serprobot_api_key_here
RANK_TRACKER_API_BASE_URL=https://www.serprobot.com/api

# OPTIONAL -- remove the # at the start of the line to activate
# SEMRUSH_API_KEY=your_semrush_api_key_here
# AHREFS_API_KEY=your_ahrefs_api_key_here

激活SEMrush或Ahrefs: 只需删除 # 在行的开头,用您真正的API键替换占位符。服务器会自动检测到这些,不需要其他更改。

保存文件。


步骤7——连接到克劳德桌面

Claude Desktop需要知道你的服务器在哪里。你可以通过编辑一个小配置文件来做到这一点。

查找Claude配置文件

  • 雨衣: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json

Mac提示: 这 Library 默认情况下,文件夹是隐藏的。在Finder中,单击 走 在菜单栏中,按住 选项 键,您将看到“库”出现。导航至 Application Support > Claude.

Windows提示: 按 Win + R,类型 %APPDATA%\Claude 然后按Enter键直接前往那里。

如果文件尚不存在,请创建它。

编辑配置文件

打开 claude_desktop_config.json 在VS Code(或任何文本编辑器)中,将其内容设置为:

{
  "mcpServers": {
    "livewire-seo": {
      "command": "node",
      "args": [
        "/FULL/PATH/TO/livewire-mcp-server/src/server.js"
      ]
    }
  }
}

替换 /FULL/PATH/TO/livewire-mcp-server/src/server.js 真正通往 server.js 您计算机上的文件。例如:

  • 雨衣: "/Users/sarah/livewire-mcp-server/src/server.js"
  • 窗户: "C:\\Users\\sarah\\livewire-mcp-server\\src\\server.js"

Windows用户: 使用双反睫毛(\\)在路径中,或使用正斜杠(/)相反。

如何找到完整路径: 在VS Code中,右键单击该文件 src/server.js 在侧边栏中,选择 复制路径。将其粘贴到配置中。

保存文件。


步骤8--重新启动克劳德桌面并测试

  1. 完全退出 Claude Desktop(不要只是关闭窗口——右键单击dock/任务栏图标并退出)
  2. 重新打开克劳德桌面
  3. 寻找一个小 锤图标 在聊天输入区域中,这意味着Claude已经找到了您的工具
  4. 点击锤子图标查看可用SEO工具列表

尝试以下示例提示:

  • “过去30天里,sc域名example.com在谷歌搜索控制台中排名前10位的页面是什么?”
  • “在上运行PageSpeed测试https://example.com移动”
  • “显示我过去7天内123456789号物业的GA4流量数据”
  • “从SERPRobot项目12345获取我的关键字排名”

如果您激活了SEMrush或Ahrefs,也可以尝试:

  • “获取SEMrush有机关键字报告,例如.com”
  • “Ahrefs域名(例如.com)的评级是多少?”

项目结构

livewire-mcp-server/
├── package.json               # Dependencies and scripts
├── .env.example               # Template -- copy this to .env
├── .env                       # YOUR credentials (never share this file)
├── .gitignore                 # Keeps .env out of version control
├── claude_desktop_config.json # Sample Claude Desktop config
├── README.md                  # You are here
└── src/
    ├── server.js              # Core MCP server (entry point)
    ├── tools/
    │   ├── index.js           # Tool registry (loads core + optional tools)
    │   ├── gsc.js             # Google Search Console connector
    │   ├── ga4.js             # Google Analytics 4 connector
    │   ├── pagespeed.js       # PageSpeed Insights connector
    │   ├── ranktracker.js     # Rank Tracker -- pre-configured for SERPRobot
    │   ├── semrush.js         # SEMrush connector (optional)
    │   └── ahrefs.js          # Ahrefs connector (optional)
    └── utils/
        └── rateLimiter.js     # Rate limiting to protect API quotas

激活可选工具(SEMrush和Ahrefs)

SEMrush和Ahrefs是 默认情况下禁用。服务器会检查您的 .env 启动时的文件——如果它找到任一服务的API密钥,它会自动启用该工具。无需更改代码。

激活SEMrush

  1. 打开你的 .env 文件
  2. 找到那条线 # SEMRUSH_API_KEY=your_semrush_api_key_here
  3. 移除 # 开头写着: SEMRUSH_API_KEY=your_actual_key
  4. 替换 your_actual_key 使用真正的SEMrush API密钥
  5. 保存文件并重新启动Claude Desktop

激活Ahrefs

  1. 打开你的 .env 文件
  2. 找到那条线 # AHREFS_API_KEY=your_ahrefs_api_key_here
  3. 移除 # 开头写着: AHREFS_API_KEY=your_actual_key
  4. 替换 your_actual_key 使用您的真实Ahrefs API密钥(Bearer代币)
  5. 保存文件并重新启动Claude Desktop

从何处获取API密钥:

  • SEMrush: 登录SEMrush,转到 semrush.com/api/,您的API密钥显示在页面上(需要具有API访问权限的付费计划)
  • 地址 : 登录Ahrefs,转到 Ahrefs.com/api,创建或复制您的API令牌

排名跟踪器设置

使用SERPRobot(默认--免费API访问)

排名跟踪器已预先配置 SERPRobot.SERPRobot允许您检查关键字排名,他们的API可以免费从您已经设置的项目中提取数据。

  1. 在以下网址创建免费帐户 serprobot.com
  2. 使用您的域名和关键字设置项目
  3. 在SERPRobot帐户设置中查找您的API密钥
  4. 将其添加到您的 .env 文件:
RANK_TRACKER_API_KEY=your_serprobot_api_key_here
RANK_TRACKER_API_BASE_URL=[https://www.serprobot.com/api](https://api.serprobot.com/v1/api.php)
  1. 重新启动克劳德桌面

交换你的排名跟踪器

如果您使用不同的排名跟踪工具(例如AccuRanker、Wincher、SERPWatcher、Nightwatch或任何其他提供商),您可以调整 src/tools/ranktracker.js 文件来使用它们的API。

你不需要成为一名开发人员。 具体操作如下:

  1. 查找您的排名跟踪提供商 API文档 (通常在他们的网站“API”或“开发人员”下)
  2. 打开文件 src/tools/ranktracker.js VS代码
  3. 选择 全部 文件中的文本并复制
  4. 打开 ChatGPT (或任何AI助手)并粘贴以下提示:
I have this Node.js file that connects to a rank tracking API.
It is currently configured for SERPRobot. I want to change it
to work with [YOUR PROVIDER NAME] instead.

Here is their API documentation:
[PASTE THE RELEVANT API DOCS OR A LINK]

Here is my current file:
[PASTE THE CONTENTS OF ranktracker.js]

Please rewrite the file to work with [YOUR PROVIDER NAME] while
keeping the same overall structure (toolDefinition and handler
exports). Keep all the comments in the same style.
  1. 从ChatGPT复制重写的代码
  2. 将其粘贴回 src/tools/ranktracker.js 在VS Code中(替换所有内容)
  3. 更新 RANK_TRACKER_API_KEY 和 RANK_TRACKER_API_BASE_URL 你的价值观 .env 文件以匹配您的提供商
  4. 保存两个文件并重新启动Claude Desktop

测试您的更改: 您可以通过运行以下命令手动测试服务器 node src/server.js 在你的终端。如果您的代码中有错误,它们将在此处打印出来——您可以将这些错误消息粘贴回ChatGPT以获得修复它们的帮助。


添加您自己的自定义工具

想让克劳德访问另一个数据源吗?您可以通过创建新文件来添加新工具。流程如下:

  1. 复制一个现有的工具文件(例如,复制 src/tools/pagespeed.js 并将其重命名为 src/tools/myTool.js)
  2. 编辑 toolDefinition 对象来描述您的新工具(名称、描述、输入)
  3. 编辑 handler 函数调用API
  4. 打开 src/tools/index.js 并将您的新工具添加到列表中(按照您看到的现有工具的模式)
  5. 重新启动克劳德桌面

如果您不适合编写代码,请使用排名跟踪器部分中描述的相同ChatGPT方法——粘贴现有工具文件和API文档,并要求ChatGPT为您创建新工具。


速率限制

该服务器包括一个内置的速率限制器,以防止意外的API过度使用(这可能会让你在付费API上花钱)。您可以在您的 .env 文件:

RATE_LIMIT_MAX_REQUESTS=30    # Max requests per 60-second window
RATE_LIMIT_WINDOW_MS=60000    # Window duration in milliseconds (60000 = 60 seconds)

如果克劳德告诉你 “超出费率限制”,只需等待一分钟,然后重试,或增加 RATE_LIMIT_MAX_REQUESTS 号码。


故障排除

Claude中未显示工具(无锤子图标)

  • 确保路径正确 claude_desktop_config.json 是 完全绝对路径 到 src/server.js --不是相对路径
  • 仔细检查您是否保存了配置文件
  • 完全退出 Claude Desktop并重新打开它(仅仅关闭窗口是不够的)
  • 在Windows上,确保您使用了 \\ 或 / 在路上,不是单身 \

“未配置凭据”错误

  • 打开你的 .env 文件,并确保占位符值已被您的真实凭据替换
  • 确保文件命名准确 .env (不是 .env.txt 或 .env.example)
  • 这 .env 文件必须位于项目文件夹的根目录中(与相同级别 package.json)

Google API错误(401或403)

  • 您的刷新令牌可能已过期--请返回 OAuth游乐场 并生成一个新的
  • 确保所有三个Google API 启用 在您的Google Cloud项目中
  • 检查您的Google帐户是否可以访问您正在查询的Search Console属性和GA4属性

速率限制错误

  • 等待60秒,然后重试
  • 或增加 RATE_LIMIT_MAX_REQUESTS 在你的 .env 文件

服务器未启动或出现一般错误

在终端中手动运行服务器,看看有什么问题:

node /Users/yourname/livewire-mcp-server/src/server.js

错误消息将告诉您缺少或损坏的内容。常见问题:

  • “找不到模块” --你忘了跑 npm install 在步骤3中
  • “足够的.env” --the .env 文件不存在--返回步骤6

还在卡住吗?

复制错误消息并将其粘贴到带有问题的ChatGPT或Claude中 “我在运行我的Node.js MCP服务器时遇到了这个错误——这是什么意思,我该如何修复它?” --十有八九,你会得到一个明确的答案。


更新服务器

如果我们发布Livewire MCP服务器的更新:

  1. 下载或拉取最新版本
  2. 跑 npm install 再次(以防依赖关系发生变化)
  3. 检查是否 .env.example 有任何新变量——如果有,请将它们添加到您的 .env 文件
  4. 重新启动克劳德桌面

你的 .env 文件不会被覆盖,因为它列在 .gitignore.


安全说明

  • 你的 .env 文件包含敏感的API密钥-- 永远不要分享 永远不要将其提交到Git
  • 这 .gitignore 文件已设置为排除 .env 从版本控制
  • 所有数据都直接在您的计算机和API(谷歌、SEMrush等)之间流动,没有任何数据通过任何第三方服务器
  • 服务器仅在您的计算机上本地运行,无法从互联网访问

许可证

麻省理工学院