mcpField
R
Ranki.io Seo/aeo Consultant

Ranki.io Seo/aeo Consultant

远程服务
github.com/1fancy商业与营销021 周前更新
代码仓库

关于 Ranki.io Seo/aeo Consultant

Ranki.io Seo/aeo Consultant 是用于 SEO 与答案引擎审计、网站速度分析、图片优化指导和内容规划的 MCP 服务,面向网站运营者与编码 Agent。工具会返回可执行的修复建议,并可重新审计以检查评分变化。

主要功能

  1. 01审计 SEO 与答案引擎就绪度
  2. 02测量 Lighthouse 和 Core Web Vitals
  3. 03提供图片转换与标记建议
  4. 04生成站点地图和爬虫文件
  5. 05提供关键词、选题与标题研究
  6. 06连接 Ranki.io 账户数据

适用场景

  1. 01审计刚上线的网站
  2. 02改善速度和图片交付
  3. 03为 AI 搜索引用准备页面
  4. 04寻找内容主题和关键词差距

MCP 相关

它向 MCP 客户端提供 22 种工具,包括审计、生成、优化指导和 Ranki.io 账户数据工具。支持 stdio 与 HTTP 传输;付费账户数据工具需要 Ranki.io API 密钥。

配置

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

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

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

全部服务地址
Streamable HTTPhttps://mcp.ranki.io需要授权

工具

详细介绍

Ranki MCP — 面向 Cursor、Claude Code、Windsurf 和 ChatGPT 的免费 SEO、AEO、速度与图片优化 MCP

这个 MCP 不只是生成报告,还会让你的 Agent 修复问题。它会审计任意 URL 的 SEO 和答案引擎优化,通过 Google PageSpeed Insights 测量真实的 Core Web Vitals,并指示你的 Agent 将图片转换为 AVIF 和 WebP、把 <img> 标签改写为包含 srcset 和 alt 的响应式 <picture>、添加 JSON-LD schema、生成 sitemap.xml / llms.txt / robots.txt、对隐藏页面分类,然后重新运行审计,验证评分是否提升。所有操作都可以在 Claude Code、Claude Desktop、Cursor、Windsurf 和 ChatGPT Desktop 中完成。

MCP 2024-11-05 License: MIT npm @ranki.io/mcp live mcp.ranki.io Skill repo

一行安装

npx @ranki.io/cli install

CLI 会自动检测你安装的 AI 编辑器(Claude Code、Claude Desktop、Cursor、Windsurf、ChatGPT Desktop),在正确的位置写入对应的 MCP 配置,并从 ranki-seo-skills repo 下载配套的 Skill 文件。之后可重新运行 npx @ranki.io/cli update 来更新 Skill;npx @ranki.io/cli check 可验证设置是否正确。

更喜欢手动 JSON 代码片段?下方的 安装 部分提供了各编辑器的示例。

两种实现,相同的工具

此仓库提供 MCP 的两种功能对等的实现,你可以根据技术栈选择:

  • server/ — PHP 8.4 参考实现,为 mcp.ranki.io 提供生产环境服务。托管、经过加固、零依赖,在 Cloudflare 后运行。这是 mcp.ranki.io 的底层实现。
  • ts-server/ — Node / TypeScript 参考实现,以 @ranki.io/seo-aeo-mcp 的形式发布在 npm 上。适合偏好 JavaScript 工具链的开发者使用的原生 Node 替代方案,可通过 npx -y @ranki.io/seo-aeo-mcp(stdio)或 npx @ranki.io/seo-aeo-mcp --serve(HTTP)安装。

两种实现均提供相同的 22 个工具、相同的 JSON 输出、SSRF 防护、速率限制语义和安全机制。TS 实现会在 Node 中原生运行 15 个免费工具,并将 7 个付费桥接工具代理到与 PHP 服务相同的 app.ranki.io REST API。两者都不会打开数据库——付费工具通过 Laravel 的 ApiKeyAuth 中间件处理,并限定为调用用户自己的数据。

实际功能 — 22 个工具

MCP 服务提供 22 个工具。你的 Agent 像调用其他 MCP 工具一样调用它们;工具会返回 Markdown 报告,由你的 Agent 在行内呈现并据此采取行动——转换文件、改写 HTML、生成新文件并提交结果。

审计
  • audit_seo(url) — 包含 10 项检查的页面 SEO 评分卡:标题长度、元描述、H1 唯一性、canonical、viewport、HTTPS、OpenGraph 完整度、图片 alt 覆盖率、内部链接数量、JSON-LD 是否存在。返回 0–100 的评分,并为每项失败提供修复方法。
  • audit_aeo(url) — 包含 8 项检查的答案引擎优化评分卡:FAQPage / Article JSON-LD、80 个词以内的定义性引言、作者署名、是否存在 llms.txt、robots.txt 是否允许 GPTBot / ClaudeBot / PerplexityBot、答案式 H2/H3 标题、对比表格。
  • audit_hidden_pages(urls, domain) — 根据说明将每个路径分类为 robots-disallow、noindex、keep 或 unsure。可识别管理路由、API 端点、草稿、登录页面、账户仪表盘、感谢页面、构建产物和搜索结果 URL。返回可直接粘贴的 robots.txt 代码块。
速度和图片——这是其他工具都做不到的部分
  • audit_speed(url, strategy) — 通过 Google PageSpeed Insights 获取真实的 Lighthouse 评分(性能、无障碍、SEO、最佳实践)和 Core Web Vitals(LCP、CLS、INP、FCP、TTFB)。返回图片优化机会及每个文件可节省的字节数、阻塞渲染的 JS / CSS,以及未通过的页面 SEO 审计项。默认策略为 mobile(Google 优先按移动版排名)。
  • audit_core_web_vitals(url) — 每项指标都附带一段说明和具体的修复方案。“LCP 元素是 2.4 MB 的 hero.png,转换为 WebP 可节省 1.8 MB → LCP 提升 1.1 秒。” 从 Lighthouse 中提取 LCP 元素 URL,让 Agent 确切知道要优化哪个文件。
  • optimize_images(images, max_width) — 为每张图片提供目标格式(AVIF + WebP)、响应式 1×/2× 宽度、替代文本建议、具体的 sharp-cli / cwebp / avifenc 命令,以及可直接粘贴的 <picture> 块和 srcset。你的 Agent 会在仓库本地执行转换并重写 <img> 标签。
生成
  • generate_sitemap_xml(urls) — 根据 URL 列表生成可直接部署的 sitemap.xml,并附上当前的 lastmod 时间戳。
  • generate_llms_txt(site_name, summary, key_pages) — 生成 llms.txt。这是一个新兴标准,用于告知 AI 爬虫你的网站内容及其应引用的页面。
  • generate_robots_txt(sitemap_url, allow_ai, disallow_paths) — 生成 robots.txt,明确允许或禁止 GPTBot、ChatGPT-User、ClaudeBot、anthropic-ai、PerplexityBot 和 Google-Extended 访问。
内容和策略
  • seo_starter_kit(domain) — 返回许多通过 vibe coding 构建的网站所缺少的四个基础文件(robots.txt、sitemap.xml、llms.txt、JSON-LD),可直接粘贴到仓库中。
  • find_topic_ideas(url) — 读取你的首页、推断你所在的细分领域,并返回一份结构化简报,涵盖 15 个文章主题,涉及信息型、商业型和交易型意图,并提供优先级评估标准。
  • find_keyword_gap(url, competitors) — 返回查找竞争对手排名关键词而你没有排名的关键词的分步方法。如果未提供竞争对手,会提示你的编辑先询问。
  • propose_titles_metas(urls, focus_keyword) — 提取每个 URL 的实际标题、h1 和首段(也可接受尚未部署页面的自由文本描述),然后返回一个 Markdown 表格,为每个页面提供 5 个标题和元描述候选项,涵盖 5 种角度(描述型、突出优势型、疑问句型、具体数字型、关键词优先型)。每个候选项都会标注长度是否合规。
  • explain_seo_terms(category) — 提供 40 多个 SEO 和 AEO 术语的参考词汇表:SEO、AEO、GEO、JSON-LD、FAQPage、canonical、llms.txt、Core Web Vitals、E-E-A-T、helpful content update、doorway pages 等。可按类别筛选:基础、AEO、技术、分析、处罚。
安装
  • install_skill(agent) — 返回在 Claude Code、Claude Desktop、Cursor、Windsurf、Claude.ai web Projects 和通用 AGENTS.md Agent 中安装 ranki-seo-skills Skill 的命令。
你的 Ranki.io 账户 — 在 IDE 中查看真实排名数据(付费 API 密钥)
  • get_account() — 查询 API 密钥对应的账户信息:姓名、电子邮箱、套餐、每日和每月限额、当前用量。
  • list_projects() — 列出你 Ranki.io 账户中的项目。
  • list_articles(project_id) — 按页列出项目中的文章:nano_id、标题、状态、语言、focus_keyword[]、目录大纲、字数、SEO 评分。可选按状态筛选。
  • get_article(article_id) — 按文章的 nano_id 获取单篇文章:标题、HTML、重点关键词、目录、嵌入的图片 URL、SEO 评分。
  • list_rank_tracking(project_id) — 项目的 Google Search Console 摘要:28 天总计、按点击次数排名前 20 的关键词、排名机会关键词前 20(排名 > 10 且有展示次数——容易取得成效的关键词)。
  • list_gsc_keywords(project_id) — 完整的分页 GSC 关键词列表,可按点击次数 / 展示次数 / 排名 / CTR 排序。
  • ai_visibility(project_id) — 记录的 AI 引用快照:在抓取时,你跟踪的哪些主题出现在 ChatGPT、Claude、Perplexity 和 Google AI Overview 的 SERP 中。

一次典型会话的流程

You:    audit my site speed and fix the slow images

Claude: → Calling ranki.audit_speed(url="https://myapp.dev")
        ← Lighthouse: 42 perf · LCP 4.8s · 3 images blocking the paint.
        → Calling ranki.optimize_images([hero.png, banner.jpg, card.png])…
        ← 3 files, recipes returned.
        → Running sharp-cli to convert hero.png → hero.avif + hero.webp + [email protected]…
        → Editing app/page.tsx — rewriting <img> as <picture srcset>, adding alt text…
        → Calling ranki.audit_speed again to verify…
        ← Lighthouse: 96 perf · LCP 1.4s.

You:    now find pages that shouldn't be in Google

Claude: → Calling ranki.audit_hidden_pages(domain="https://myapp.dev")
        ← 8 robots-disallow, 12 noindex, 118 keep, 4 unsure.
        → Editing public/robots.txt to disallow /admin /dashboard /checkout /account…
        → Adding <meta name="robots" content="noindex"> to app/search/page.tsx…
        Done. Submit URL-removal requests in Search Console for the 8 admin pages.

Skill 文件(位于 ranki-seo-skills)会告知你的 Agent 何时调用哪个工具、按什么顺序调用,以及在代码仓库的什么位置应用每项修复。

速率限制

层级每日上限范围可用工具
无密钥5 次调用每个 IP15 个免费工具(审计、生成器、速度、图片优化、内容策略、安装)
Ranki.io API 密钥500 次调用每个密钥全部 22 个工具,包括 7 个桥接工具,可从你的 Ranki.io 账户读取真实的 GSC 关键词、排名跟踪、AI 引用、项目列表和文章库

前往 app.ranki.io/developer 获取密钥。每次响应都会返回 X-RateLimit-Limit、X-RateLimit-Remaining 和 X-RateLimit-Reset。调度器的错误消息会包含重置倒计时和升级方式。


安装

Claude Desktop / Claude Code(推荐给大多数氛围编程者)

添加到 ~/.claude/claude_desktop_config.json:

{
  "mcpServers": {
    "ranki": {
      "command": "npx",
      "args": ["-y", "@ranki.io/mcp"],
      "env": { "RANKI_API_KEY": "rk_live_..." }
    }
  }
}

重启 Claude Desktop。MCP 指示器应显示 ranki,并包含 22 个工具。

Cursor(HTTP 传输,无需 npx)

项目中的 .cursor/mcp.json:

{
  "mcpServers": {
    "ranki": {
      "url": "https://mcp.ranki.io",
      "headers": { "X-API-Key": "rk_live_..." }
    }
  }
}
ChatGPT Desktop、Continue.dev、Zed 及其他支持 MCP 的客户端

如果客户端支持 stdio MCP,请使用 Claude Desktop 片段。如果支持 HTTP MCP,请使用 Cursor 片段。

获取免费 API 密钥

前往 app.ranki.io/developer,然后点击 Reveal。你的密钥已经存在——每个 Ranki.io 账户都会自动创建一个。免费顾问工具无需密钥即可使用(每个 IP 每天 5 次调用);list_projects 和 get_article 桥接工具则需要密钥。


氛围编程者如何使用

场景 1:“我刚发布了一个网站,接下来该做什么?”
You: I just shipped my Next.js app at https://myapp.com. What SEO do I need?

Claude (via Ranki MCP):
  → Calling seo_starter_kit(domain="myapp.com")
  ← [Returns robots.txt + sitemap.xml + llms.txt + JSON-LD templates]
  → Writing public/robots.txt
  → Writing public/sitemap.xml (enumerating pages from app/ directory…)
  → Writing public/llms.txt
  → Adding JSON-LD <script> to app/layout.tsx
  → Calling audit_seo to verify…
  ← Score: 92/100. 🎉
场景 2:“为什么 ChatGPT 没有引用我的文档?”
You: Why doesn't ChatGPT cite my docs site?

Claude (via Ranki MCP):
  → Calling audit_aeo(url="https://docs.myproduct.com")
  ← Score 38/100. Failing: no FAQPage schema, no llms.txt, robots.txt blocks ClaudeBot.
  → Fixing each failure in your repo…
  ← Score 88/100. Re-deploy and ChatGPT should pick it up within 7-14 days.
场景 3:“我不知道该写什么博客文章”
You: I have a Stripe alternative landing page but the blog is empty. Help.

Claude (via Ranki MCP):
  → Calling find_topic_ideas(url="https://mystripe-alt.com")
  ← [Returns brief with topic generation methodology + 15-topic structure]
  → [Generates 15 topics organized by intent, picks top 3]
  ← Recommended first 3 articles:
     1. "How to switch payment processors without losing customers" (transactional)
     2. "Stripe vs us: side-by-side fee comparison for $10K/mo MRR" (commercial)
     3. "What is interchange-plus pricing and why most SaaSes overpay" (informational)
场景 4:“我还缺少哪些关键词机会?”
You: My competitors are stripe.com and lemonsqueezy.com. What am I missing?

Claude (via Ranki MCP):
  → Calling find_keyword_gap(url="https://mystripe-alt.com",
                              competitors=["stripe.com","lemonsqueezy.com"])
  ← [Returns methodology + per-competitor analysis steps]
  → Crawling /blog on both competitors…
  → Cross-referencing against your sitemap…
  ← 5 high-value gaps found:
     - "PCI compliance for small SaaS" (covered by Stripe, not you)
     - "How to handle subscription dunning" (covered by both, not you)
     - … 3 more

架构

┌────────────────────────┐         ┌──────────────────────────┐
│  Claude / Cursor / etc │         │  mcp.ranki.io (PHP)      │
│                        │         │                          │
│  1. Sees 22 tools      │ JSON-RPC│  - 22 tool definitions   │
│  2. Decides to use one ├────────►│  - HTTP + stdio (npx)    │
│  3. Receives advice    │         │  - 5/IP or 500/key per   │
│  4. Acts on the repo   │         │    UTC day rate limit    │
│                        │         │  - REST API bridge       │
└────────────────────────┘         └────────────┬─────────────┘
                                                │ (only for keyed tools)
                                                ▼
                                   ┌──────────────────────────┐
                                   │  app.ranki.io REST API   │
                                   │  /api/v1/projects        │
                                   │  /api/v1/articles/...    │
                                   └──────────────────────────┘
两种传输方式
  • stdio(Claude Desktop、Claude Code、大多数 MCP 客户端)——安装 @ranki.io/mcp npm 包。它是一个 50 行的 Node.js 垫片,可将 stdio JSON-RPC 代理到 https://mcp.ranki.io。
  • HTTP(Cursor、自定义客户端)——直接指向 https://mcp.ranki.io。无需安装 Node。
仓库布局
ranki-mcp/
├── server/                     # PHP MCP server (deployed to mcp.ranki.io)
│   ├── public/index.php        #   GET → marketing landing page (HTML)
│   ├── index.php               #   POST → JSON-RPC 2.0 dispatcher
│   ├── lib/
│   │   ├── jsonrpc.php         #   JSON-RPC reply helpers
│   │   ├── registry.php        #   Tool registry + REST API bridge
│   │   └── ratelimit.php       #   Per-IP rate limit (5/day for free tier)
│   └── tools/
│       ├── seo_starter_kit.php
│       ├── find_topic_ideas.php
│       ├── find_keyword_gap.php
│       ├── audit_aeo.php
│       ├── audit_seo.php
│       ├── generate_sitemap_xml.php
│       ├── generate_llms_txt.php
│       ├── generate_robots_txt.php
│       ├── list_projects.php
│       └── get_article.php
└── npx/                        # Node.js stdio shim (published as @ranki.io/mcp)
    ├── package.json
    ├── index.js                #   ~50 lines: stdin→POST→stdout
    └── README.md

SEO 与 AEO——有什么区别?

**SEO(搜索引擎优化)**是让你的网站在 Google 传统的 10 个蓝色链接中获得较高排名。相关信号包括:标题标签、元描述、H1、规范链接、站点地图、内链、页面速度、移动设备适配和 HTTPS。Ahrefs / SEMrush / SurferSEO 等工具会为这些指标评分。

AEO(答案引擎优化)是让 ChatGPT、Claude、Perplexity 或 Google AI Overviews 在回答用户问题时引用你的网站。相关信号有所不同:

  • FAQPage JSON-LD——最重要的引用信号。
  • 定义式开篇——第一段用简洁的“X 是……”给出答案。
  • 作者署名 + E-E-A-T——大模型更倾向于引用注明作者姓名的来源。
  • llms.txt——明确邀请大模型使用你的内容。
  • robots.txt 允许 AI 机器人抓取——不得屏蔽 GPTBot / ClaudeBot / PerplexityBot。
  • 答案式标题——将 H2/H3 写成问题(“什么是 X?”、“X 如何运作?”)。
  • 对比表格——AI Overviews 中引用率最高的 HTML 元素。

audit_aeo 会检查上述全部 8 项,并告诉你的 AI 具体需要修复哪些问题。截至 2026 年,AEO 流量是增长最快的 SEO 渠道,而大多数网站对此毫无准备。


llms.txt——新兴的 AI 搜索标准

灵感来自 robots.txt,但面向大模型。位于 /llms.txt 的 Markdown 文件会告诉 AI 爬虫:

  • 你的网站是关于什么的(使用通俗易懂的英文,而不是元数据)。
  • 哪些页面最重要。
  • 应如何引用你。
# Acme Corp

> Acme makes the SDK for shipping React Native apps faster.

## Key pages

- [Homepage](https://acme.dev/)
- [Documentation](https://acme.dev/docs)
- [Pricing](https://acme.dev/pricing)
- [Blog](https://acme.dev/blog)

## About

- Founded 2024, based in Berlin.
- Used by 12,000+ teams including Linear and Notion.
- Open source SDK on github.com/acme/sdk.

使用 generate_llms_txt,5 秒即可生成一个文件。


自托管

MCP 服务采用纯 PHP 8.4 编写——无需框架、数据库或 Composer 依赖。将 server/ 目录放到用于提供 public/index.php 的 Nginx 虚拟主机后面即可。

server {
  server_name mcp.yourdomain.com;
  root /var/www/ranki-mcp/server/public;
  index index.php;
  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }
  location ~ \.php$ {
    include fastcgi_params;
    fastcgi_pass unix:/run/php/php8.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
  }
}

lib/ratelimit.php 使用 /tmp/ 中的文件进行 IP 速率限制——开箱即用。若要大规模使用 Redis 实现速率限制,可替换其实现。


贡献

欢迎提交 PR,添加新的顾问工具。添加工具的步骤:

  1. 创建 server/tools/your_tool.php,返回一个可调用的 function (array $args, string $apiKey): array。
  2. 返回 rk_mcp_text_content("...your structured advice...")。
  3. 在 server/lib/registry.php 的 rk_mcp_tool_definitions() 下注册该工具。

工具命名:使用 <verb>_<noun> 形式的 snake_case(例如 audit_aeo、find_topic_ideas)。

工具设计理念:返回数据 + 给调用 AI 的指示,绝不自行调用大模型。


常见问题

这需要付费吗?

顾问工具(除 list_projects / get_article 外的所有工具)均为免费——每天(UTC)每个 IP 可调用 5 次。要取消此限制,请在 app.ranki.io/developer 免费获取 API 密钥。桥接工具需要密钥,因为它们会读取你的 Ranki.io 私有数据。

Ranki MCP 会消耗我的 Claude 额度吗?

**会,而且只消耗你自己的额度。**我们绝不会调用大模型。MCP 服务会返回结构化建议;你的 Claude / Cursor 会使用你自己的额度评估并执行这些建议。

数据会流向哪里?
  • 顾问工具(audit_*、generate_*、seo_starter_kit、find_*)会获取你传入的 URL(不会进行其他网络调用)。
  • 桥接工具(list_projects、get_article)会通过 HTTPS 使用你的 X-API-Key 调用 app.ranki.io/api/v1/...。
  • 我们不会记录请求正文。为进行速率限制和调试,我们会记录 IP、工具名称和响应状态。
它是开源的吗?

是——采用 MIT 许可证,完整源代码位于此仓库中。

我可以在公司的 VPC 内运行它吗?

可以——server/ 采用纯 PHP 编写,不依赖任何外部服务;桥接工具除外,它们依赖 app.ranki.io(你可以移除相应的工具文件来禁用这些工具)。

这与 Surfer / Frase / Outrank 等竞品有什么不同?

这些产品是 SaaS 仪表板,每次审查一个 URL 并提供修改建议。Ranki MCP 是一个协议层,可让你的 AI 在 IDE 中编写代码时直接使用这些审查结果。形式不同、价格不同(免费)、面向的用户也不同(面向氛围编码者,而非 SEO 专业人士)。

我是个氛围编程爱好者,完全不知道 AEO 是什么。

这正是为你准备的。从 seo_starter_kit("yourdomain.com") 开始,你的 Claude 会一步步带你完成所有操作。

你们会用我的数据训练 AI 吗?

我们不训练模型。我们也没有模型。我们只是在确定性检查之上提供轻量级建议。


许可证

MIT。请参阅 LICENSE。

由 Ranki.io 用心打造——为创始人、代理机构和创作者提供 AI SEO + AEO 自动化。

评论

支持 Markdown

第一次接触 MCP?

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

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