mcpField
R
Rank by Ouroboros Apps

Rank by Ouroboros Apps

远程服务
ouroborosapps.com商业与营销02 周前更新

关于 Rank by Ouroboros Apps

Rank by Ouroboros Apps 将只读的 Google Search Console SEO 数据接入 MCP 客户端,面向网站所有者、博主、小型企业和 SEO 自由职业者。它仅报告 API 返回的指标,不估算流量,也不补齐缺失日期。

主要功能

  1. 01列出已验证的 Search Console 资源
  2. 02按日期范围读取热门查询和网页
  3. 03跟踪点击、展示、CTR 和平均排名
  4. 04比较时段并查找低 CTR 查询
  5. 05查找排名下滑网页并检查 URL

适用场景

  1. 01查看搜索查询和落地页表现
  2. 02比较两个日期范围的 Search Console 数据
  3. 03查找展示量高但 CTR 低的查询
  4. 04检查 URL Inspection 状态或定位表现下滑的网页

MCP 相关

通过 OAuth 登录和连接账户,向支持 Streamable HTTP 的 MCP 客户端提供只读 Google Search Console 工具。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://rank.ouroborosapps.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

9

此工具无需参数。

详细介绍

Ouroboros Apps 的 Rank

Rank by Ouroboros Apps 可根据你连接的 Google Search Console 账号回答 SEO 问题。它适用于希望在 ChatGPT、Claude、Gemini、Grok、Cursor 或其他支持 Streamable HTTP 和 OAuth 的 MCP 客户端中查看这些数据的网站所有者、博主、小型企业和 SEO 自由职业者。

助手可以列出已验证的网站资源,读取热门查询和页面,查看点击次数、展示次数、CTR 和平均排名随时间的变化,比较两个时间段,查找展示次数高但 CTR 低的查询,查看排名下降的页面,并检查 URL Inspection 状态。每项指标均来自 Search Console API 响应。Rank 不会估算流量,也不会补全 API 未返回的日期。CTR 保持为 Search Console 返回的比例值(0.02 即 2%)。

连接 Google 后即可开始 14 天试用。之后,Pro 为 Stripe 订阅。具体金额会显示在 Stripe Checkout 中,不会显示在本 README 或产品中。

托管服务

  • MCP 服务 URL:https://rank.ouroborosapps.com/mcp(Streamable HTTP,OAuth 登录)
  • 文档:https://ouroborosapps.com/docs/rank
  • 状态:早期访问。将 URL 粘贴到 Claude、Cursor、Grok 或 ChatGPT 开发者模式中。
  • 注册表名称:io.github.LAHutchins91/rank

连接助手

部署后,MCP 地址为 https://YOUR_HOST/mcp;本地运行时为 http://127.0.0.1:44721/mcp。选择 OAuth,并将客户端 ID 和密钥留空。Rank 支持动态客户端注册和 PKCE。

Cursor,在 ~/.cursor/mcp.json 中:

{
  "mcpServers": {
    "rank": {
      "url": "http://127.0.0.1:44721/mcp"
    }
  }
}

Claude Code:

claude mcp add --transport http rank http://127.0.0.1:44721/mcp

ChatGPT、Claude、Gemini 和 Grok 使用相同的 URL。应用内的连接页面会针对 APP_BASE_URL 中的主机重复这些步骤。

工具

  • list_properties — 已验证的 Search Console 网站资源
  • top_queries — 指定日期范围内的查询
  • top_pages — 指定日期范围内的页面
  • performance_trends — 每日点击次数、展示次数、CTR 和排名
  • compare_periods — 两个时间范围的总计,以及标注为根据这些总计推导出的差异
  • quick_wins — 展示次数达到或超过阈值且 CTR 低于或等于阈值的查询
  • dropped_pages — 排名下降、点击次数减少,或未出现在当前响应中的页面
  • inspect_url — URL Inspection API 结果
  • account_status — Google 是否已连接,以及试用或 Pro 订阅是否有效

如果省略日期,Rank 会使用截至 3 天前的 28 天窗口,并在结果中说明这一点。传入 startDate 和 endDate(YYYY-MM-DD)以选择时间窗口。

Google Cloud OAuth 客户端

创建一个类型为 Web application 的 OAuth 客户端。Rank 会读取:

  • GOOGLE_CLIENT_ID
  • GOOGLE_CLIENT_SECRET

授权重定向 URI 必须完全如下所示,源地址末尾不能带斜杠:

${APP_BASE_URL}/google/callback

本地使用默认 APP_BASE_URL 时,URI 如下:

http://127.0.0.1:44721/google/callback

在 OAuth 同意屏幕中添加以下范围:

  • openid
  • https://www.googleapis.com/auth/userinfo.email
  • https://www.googleapis.com/auth/webmasters.readonly

webmasters.readonly 是 Search Console 的只读范围。Rank 会请求离线访问权限,以便 Google 返回刷新令牌。刷新令牌会先加密再存储。TOKEN_ENCRYPTION_KEY 是用于加密的密钥(一个较长的随机字符串)。如果密钥发生变化,现有令牌将无法读取,账号需要重新连接 Google。

如果 Google 控制台要求填写已授权的 JavaScript 源,请使用 APP_BASE_URL 的源地址(本地为 http://127.0.0.1:44721)。上述重定向 URI 必须与实际值完全匹配。

存储

试用状态、Stripe 客户 ID、MCP OAuth 客户端和令牌、待处理的 Google 登录,以及加密后的 Google 刷新令牌共用一个存储接口。设置 STORAGE_BACKEND:

后端适用场景使用内容
memory本地实验和测试进程停止后数据会消失
file单个长期运行的服务器或 Docker 卷STORAGE_FILE(默认值 ./data/rank-store.json)
blobVercelSTORAGE_BLOB_PATH 中的一个私有 Blob(默认值 rank/store.json)
postgres已运行的 Postgres 数据库DATABASE_URL

Postgres 使用一个表;如果该表不存在,会在首次使用时创建:

CREATE TABLE IF NOT EXISTS rank_kv (
  collection text NOT NULL,
  id text NOT NULL,
  document jsonb NOT NULL,
  PRIMARY KEY (collection, id)
);

没有第二套架构。在 Vercel 上,内存和文件存储会重置,因此生产环境使用 Blob 后端。Blob 文档使用与文件存储相同的布局:JSON 记录集合。OAuth 授权码和待处理的 Google 登录状态都是该文档中的记录,因此回调可以由不同的无服务器实例处理。每次写入时,都会删除过期的授权码、待处理的登录会话、访问令牌和刷新令牌。连接 Vercel Blob 存储后,Vercel 会注入 BLOB_READ_WRITE_TOKEN。不要将其提交到代码库。

计费

请使用 Lawrence 已在使用的 Stripe 账户设置这些变量。不要在此代码库中创建产品。价格 ID 并非美元金额。

  • STRIPE_SECRET_KEY
  • STRIPE_PRICE_MONTHLY
  • STRIPE_PRICE_YEARLY
  • STRIPE_WEBHOOK_SECRET

结账接口为 POST /billing/checkout,请求内容为 { "plan": "monthly" } 或 { "plan": "yearly" }。Webhook 接口为 POST /billing/webhook。只有在设置了密钥和两个价格 ID 时,GET /health 才会包含 billingConfigured: true。

本地试用期为首次连接 Google 起的 14 天。如果试用期仍有剩余天数,结账会将全部剩余天数发送给 Stripe,因此首次扣款会等到试用期结束后进行。

本地运行

npm install
cp .env.example .env
# fill Google, encryption, and Stripe values in .env
npm run dev

服务器在 PORT 端口上监听(默认值为 44721)。

npm test
npm run typecheck
npm start

npm start 会运行编译后的服务器。Docker 会构建并运行同一命令(node dist/src/server.js),并要求镜像根目录中存在 logo.jpg。

部署

Vercel:将 APP_BASE_URL 设为 https://rank.ouroborosapps.com,将 STORAGE_BACKEND=blob,并连接 Blob 存储,以便 Vercel 注入 BLOB_READ_WRITE_TOKEN。vercel.json 会将所有路径发送到 Node 函数,并将 logo.jpg 打包进该函数。/logo.jpg 和应用路由由该函数提供。/package.json 不是静态文件。server.json 中的远程服务地址为 https://rank.ouroborosapps.com/mcp。

注册表名称为 io.github.LAHutchins91/rank。图标地址为 https://rank.ouroborosapps.com/logo.jpg。

环境变量

变量用途
APP_BASE_URL公共源;用于确定 Google 重定向 URI
PORT监听端口,默认值为 44721
GOOGLE_CLIENT_IDGoogle 登录和 Search Console
GOOGLE_CLIENT_SECRETGoogle 令牌交换
TOKEN_ENCRYPTION_KEY加密刷新令牌并为浏览器会话签名
STORAGE_BACKENDmemory、file、blob 或 postgres
STORAGE_FILE文件后端路径
STORAGE_BLOB_PATHBlob 路径名,默认值为 rank/store.json
BLOB_READ_WRITE_TOKENVercel Blob 读写令牌,在 Vercel 上注入
DATABASE_URLpostgres 后端
STRIPE_SECRET_KEY结账和计费门户
STRIPE_PRICE_MONTHLY月度结账价格 ID
STRIPE_PRICE_YEARLY年度结账价格 ID
STRIPE_WEBHOOK_SECRETStripe webhook 签名
SUPPORT_EMAIL网站上的公开联系邮箱;默认值为 [email protected]

RANK_TEST_HOOKS=1 允许测试在不使用 Google 的情况下完成 MCP 登录。如果同时设置了该变量和 NODE_ENV=production,进程将拒绝启动。

支持

有关隐私的问题、账号删除以及获取账号记录副本,请发送邮件至 [email protected]。请勿发送密码、OAuth 令牌、API 密钥或支付卡信息。隐私页面和支持页面上也列有同一邮箱地址。要断开 Google 连接,请前往 https://myaccount.google.com/permissions 撤销 Rank 的访问权限。

许可证

MIT。版权所有 (c) 2026 Lawrence Hutchins。


了解更多 Ouroboros 产品:https://ouroborosapps.com

评论

支持 Markdown

第一次接触 MCP?

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

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