原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。使用 Google 登录即可撰写评价。原型 · 每 30 分钟更新
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

AltoRank

作者:AltoRank版本 0.3.0i★ 6i在云端运行
注册名称co.altorank/altorank

安装方法

What it does

Readiness audits, Search Console, keyword research, and SEO drafts into a review queue.

  • Connects 在云端运行
  • Account or key Sign in to the service when you connect (OAuth)
  • Category 搜索与 AI 记忆

安装

选择你使用的 AI 应用,然后复制设置。

通过 4/4 项检查 · 你的提问会经过开发者的服务器(app.altorank.co) · ✓ 命令已检查 2026年11月13日

第一步:你用哪个 AI?

选择你用的应用,步骤会显示在下方。

可连接 Claude · 约 2 分钟

不需要密钥,不用安装程序 · 在 claude.ai 或桌面应用设置一次,即可在聊天中使用 · 免费账户可添加 1 个 · Team/Enterprise 方案由所有者(Owner)添加

  1. 打开 Claude 的 Connectors 页面

    CustomizeConnectors

    CustomizeConnectors1Add2https://…3Add4
  2. 点击“Add” → “Custom” → “Web”,填写这 2 项

    把这里的内容复制到 Claude 中同名的输入框,然后点击 Continue

    Name · 名称AltoRank
    Remote MCP server URL · 地址https://app.altorank.co/api/mcp

    在 Claude 检测到的登录设置页点击 Continue · Authentication 按作者说明选择(Sign in now、Sign in when needed 或 No sign in),然后点击 Add

  3. 在聊天中开启

    +ConnectorsAltoRank

  4. 试一试

    用 AltoRank 告诉我你能帮我做什么,然后做一件给我看

    ✓ 如果 Claude 说正在使用 AltoRank,或回答中出现 AltoRank 的工具名称,就表示连接成功

菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同

能否连接 ChatGPT 取决于方案

完整 MCP:网页版 ChatGPT Business、Enterprise 或 Edu · Pro:以读取/获取权限连接,修改数据的工具可能用不了 · Plus:官方文档尚未确认,如果在插件页看到添加自定义 MCP 的选项可以试试 · 仅限网页

  1. 在网页版 ChatGPT 打开添加 MCP 的页面

    Plugins+Add custom MCP server

    ChatGPTPlugins1+2https://…3Create4
  2. 填写名称和地址

    输入名称,在 Connection 下粘贴地址,勾选风险提示,然后点击 Create as a plugin

    Name · 名称AltoRank
    Connection · 地址https://app.altorank.co/api/mcp
  3. 在聊天中选择 AltoRank

    开启新聊天,输入前先从插件列表中选择 AltoRank

  4. 试一试

    用 AltoRank 告诉我你能帮我做什么,然后做一件给我看

    ✓ 如果 ChatGPT 说正在使用 AltoRank,或回答中出现 AltoRank 的工具名称,就表示连接成功

菜单名称已于 2026年11月11日 对照 OpenAI 帮助页面核实 · 你的界面可能因版本略有不同

可连接 Claude Code · 约 2 分钟

不需要密钥,不用安装程序

  1. 打开终端

    Mac:按 Command+空格,输入 Terminal · Windows:打开 PowerShell

  2. 粘贴这条命令并按 Enter

    claude mcp add --transport http --scope user altorank https://app.altorank.co/api/mcp
  3. 在 Claude Code 中输入 /mcp

    应能看到 AltoRank 在列表中并显示已连接

  4. 试一试

    用 AltoRank 告诉我你能帮我做什么,然后做一件给我看

    ✓ 如果 Claude Code 说正在使用 AltoRank,或回答中出现 AltoRank 的工具名称,就表示连接成功

菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同

可连接 Cursor · 约 2 分钟

不需要密钥,不用安装程序

  1. 点击这个按钮打开 Cursor

    在 Cursor 中打开

    Cursor 会请你确认安装,点击 Install

  2. 在 Cursor 中以 Agent 模式打开 AI 聊天

  3. 试一试

    用 AltoRank 告诉我你能帮我做什么,然后做一件给我看

    ✓ 如果 Cursor 说正在使用 AltoRank,或回答中出现 AltoRank 的工具名称,就表示连接成功

菜单名称已于 2026年11月11日 对照 Cursor 帮助页面核实 · 你的界面可能因版本略有不同

可连接 VS Code · 约 2 分钟

不需要密钥,不用安装程序

  1. 点击这个按钮打开 VS Code

    在 VS Code 中打开

    VS Code 会请你确认安装,点击 Install

  2. 在 VS Code 中以 Agent 模式打开 AI 聊天

  3. 试一试

    用 AltoRank 告诉我你能帮我做什么,然后做一件给我看

    ✓ 如果 VS Code 说正在使用 AltoRank,或回答中出现 AltoRank 的工具名称,就表示连接成功

菜单名称已于 2026年11月11日 对照 VS Code 帮助页面核实 · 你的界面可能因版本略有不同

其他支持 MCP 的应用(如 Windsurf、Zed、Gemini CLI)添加方式各不相同,请在应用列表中查看

查看所有支持 MCP 的应用 →

通过网页连接的应用使用的地址

地址https://app.altorank.co/api/mcp

JSON 设置在下方“开发者专用”中

卡住了?问问正在用 AltoRank 的人💬 讨论 →
开发者专用:终端命令和 JSON 设置

通过网页连接

Claude Code

claude mcp add --transport http --scope user altorank https://app.altorank.co/api/mcp

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "altorank": {
      "url": "https://app.altorank.co/api/mcp"
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "altorank": {
      "type": "http",
      "url": "https://app.altorank.co/api/mcp"
    }
  }
}

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

一览

每周下载量i
不在 npm/PyPI 上
已验证域名
✓ altorank.co
许可证i
AGPL-3.0
连接方式
在云端运行
传输方式
streamable-http
最新版本i
0.3.0
发布到注册中心i
2026年9月8日
代码最后更新i
2026年11月8日
作者
AltoRank
注册状态
活跃

哪些应用可以使用它

依据这个服务器的连接方式和各应用自己的文档,检查于 2026年11月10日。

通过互联网连接,适用于

ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast

全部应用及其优缺点 →

它能做什么

服务器要求先登录,才会列出它的工具。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月13日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过域名 altorank.co 验证(注册中心会核实域名所有权)

  • ✓ 通过

    仍在维护

    代码最后更新于5天前

  • – 不适用

    有许可证

    不适用:由 altorank.co 的所有者自己运行的云端服务器,你不会运行仓库里的代码

  • ✓ 通过

    端点有响应

    在 459 毫秒内响应(HTTP 401)

  • ✓ 通过

    使用 OAuth 登录

    声明支持 OAuth 登录,你的 AI 应用可以带你去登录

  • … 尚未检查

    工具描述中没有隐藏指令

    尚未检查;我们会在检查端点时读取工具列表

讨论

提问、分享技巧或报告无法使用。按“有帮助”数量排序。

还没有帖子,欢迎第一个提问或分享。

此处内容由用户撰写,不代表 PopNx 团队。

使用 Google 登录后发帖

用户评价

还没有评价

用 Google 登录后写评价

与“搜索与 AI 记忆”中的其他服务器比较i

  • 星标数多于此分类中其他 6034 个服务器的 89%
  • 发布到注册中心的时间比此分类中其他 6034 个服务器的 37% 更新
  • 基础检查结果等于或优于此分类中其他 6034 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

AltoRank 安全吗?

它在 4 项适用的基础检查中通过了 4 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。

它还在维护吗?

GitHub 仓库最后更新于5天前,最新版本(0.3.0)于2个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,因此也能用于接受远程 MCP 的应用,例如网页版 ChatGPT(Business 及以上为完整 MCP;Pro 为只读)。

有什么可以替代它?

同一分类中有:Context7, Codebase Memory, Ruflo

同类别的其他选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Context7

Up-to-date docs for AI agents

作者:upstash广泛使用↓ 125万/周★ 6.5万昨天更新

电脑或云端

Codebase Memory

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

作者:DeusData广泛使用↓ 1.7万/周★ 4.9万27天前更新

在你的电脑上运行

Ruflo

Agent teams, swarms, memory and hooks for Claude Code and Codex, served over MCP.

作者:ruvnet广泛使用↓ 7.4万/周★ 8.2万 整个仓库的星标今天更新

在你的电脑上运行

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

AltoRank: open-source, self-hosted AI SEO content writer (Outrank alternative)

An open-source alternative to Outrank and Jasper. AltoRank researches a keyword, writes the article, scores it and fact-checks it: a figure that cites a page is looked for on that page, and one with no source is flagged for the reviewer. Every draft can be copied as Markdown (front matter included) or HTML, or downloaded as a .md file, for you to paste wherever you publish. Approve it, paste it, then Mark as published records the live URL, and the article is tracked from there: indexing and rank.

AltoRank never publishes to your site without an approval recorded under a named person. Approve each draft by hand, or set a rule that approves drafts after a hold unless you hold them (the rule publishes through a CMS connection, which is built but not yet verified end to end; see Status). Agents can research and draft through the MCP server and the agent API. Neither can approve, and neither can publish anything a person has not already approved (the one publish-side call retries a failed publish of an approved article).

Self-host it free under AGPL-3.0, or use the hosted app at app.altorank.co. Open source, the whole product. No feature-gated tier, no ee/ directory.


Status

The hosted app at app.altorank.co is this repository, deployed from main (docs/deploy.md). A self-hosted install runs the same code against your own Supabase and your own API keys. Research, drafting, scoring, fact-checking, audits, rank tracking and Search Console / Bing sync run today; the table below has the detail. What is not finished yet:

  • No paying customers, no case studies. Nothing here has a growth figure attached to it, and that is on purpose.
  • CMS publishing is built but not yet verified end to end. The thirteen adapters are in apps/web/lib/cms/ and the connection form covers all of them, but none has been watched publishing to a live site yet, so the platform tiles on /connect ask you to request an integration instead of offering Connect. Every draft can be copied as Markdown or HTML today. Details under What works today.
  • AI visibility tracking is built but not switched on. The probe, the daily cron and the /geo page exist, but nothing in the app turns tracking on for a workspace or adds the prompts it measures, so the sidebar marks it "soon" (apps/web/lib/constants.ts).
  • The CLI is publishable, not yet on npm. packages/altorank-cli bundles apps/web/scripts/cli.ts into an altorank binary (npx altorank auth whoami once it is published); until then, npm run cli from apps/web drives the same agent API from a checkout. skills/altorank/SKILL.md is the skill file a coding agent reads, and it does install with npx; see below.

Whether you want to read how it works, run it yourself or send a patch, everything is here.

The publishing decision

One gate, two ways through it. lib/publishing/core.ts refuses any article that is not approved or scheduled with approved_by set. Only the server writes those columns: a signed-in user's own database client cannot make an article approved, scheduled or live (migration 109), and an edit to approved text sends it back to review. What can write an approval:

  • A person, from the editor (approveArticle), recorded as approved_by. The button checks for an active plan and refuses a bare, unsourced figure.
  • A rule a named member of the account set (auto_approve, migration 079): the publish cron runs stricter checks than the Approve button - active plan, somewhere to publish, no unsourced figure, no named reviewer still to sign off, no failing audit item, SEO score at or above the floor - after a hold window (default 24h) during which the drafted email carries a Hold link. approved_by is whoever turned the rule on; approval_kind says auto. Held drafts carry the reason on their own row. See lib/publishing/auto-approve.ts.

live is written after an approved publish, by Mark as published on an approved article, and by one thing that is not a publish: the nightly found-on-site check (lib/found-on-site/detect.ts) marks a draft live when its text is already on the customer's own site. That records something done outside AltoRank, sends nothing to a CMS, carries no approval, and can be undone from the editor.

What cannot write an approval: an agent. No MCP tool or agent API call approves an article or publishes a draft - not disabled, absent. The one publish-side call, altorank_retry_publish (POST /articles/{id}/retry-publish), re-runs a failed publish of an article a person already approved, and is refused for anything else. The MCP tools are all registered in apps/web/lib/mcp/server.ts, and its server instructions say so to the agent.

Competing tools ship the words "you stay in control" as copy. The difference is checkable here: every live row is an approved article (by click or by rule) or one found already published on the customer's own site.

What works today

Keyword research + SERP analysisDataForSEO
Domain audit9 readiness checks, crawl, PageSpeed
Article generationresearch → draft → score → fact-check
Brand voiceper-workspace voice profiles
PublishingMarkdown and HTML export of every draft; 13 adapters (below), built but not yet verified end to end
Locales35 (apps/web/lib/seo/locales.ts)
Rank trackingscheduled SERP checks
Search analyticsGoogle Search Console; Bing Webmaster Tools (clicks and impressions per day)
AI visibilitynot switched on yet: built (lib/geo/, the /api/cron/geo sweeps, the /geo page) to sample whether AI answers name you and who they name instead, but nothing in the app turns it on for a workspace yet

Publishing destinations (apps/web/lib/cms/adapter.ts) — thirteen adapters covering ten CMS platforms; WordPress is reachable two ways, and git and webhook are publishing targets rather than CMSs. Framer, Ghost, git, HubSpot, Magento, Notion, Shopify, Webflow, webhook, Wix, WooCommerce, WordPress, and the WordPress plugin — a second, recommended route to WordPress that installs a plugin and takes a per-site token instead of an application password (apps/web/lib/cms/wordpress-plugin.ts), which is why WordPress appears twice.

None of the thirteen has yet been verified end to end against a live site, so CONNECTABLE_CMS in apps/web/lib/cms/connectable.ts is empty on purpose and every CMS tile on /connect offers "Request integration" instead of Connect; adding an id to that set brings that tile's Connect button back. The connection form itself is unchanged and still covers all thirteen: the page's "New connection" button, a draft's publish panel and /connect?connect= all open it. Without a connection, the editor copies any draft as Markdown (front matter included) or HTML, or downloads it as a .md file.

Install the plugin

Claude Code. From a terminal:

claude plugin marketplace add AltoRank/altorank

claude plugin install altorank@altorank

Or inside a Claude Code session: /plugin marketplace add AltoRank/altorank, then /plugin install altorank@altorank.

plugins/altorank/ bundles the hosted MCP server (https://app.altorank.co/api/mcp, OAuth, no API key to copy) with a skill written for those tools. The same folder carries the portable plugin.json + mcp.json that ChatGPT and Codex read, and .agents/plugins/marketplace.json lists it for them.

Install the skill

npx skills add AltoRank/altorank

That puts skills/altorank/SKILL.md where Claude Code, Cursor, Codex, Copilot, Windsurf, Gemini CLI, Cline and the other agents the skills CLI supports will read it. The skill teaches an agent to drive the agent API (/api/agent/v1): preflight the key, check a site's readiness, list or suggest keywords, generate a draft into a human's review queue, edit a draft by find-and-replace, move the content plan. It never approves, deletes or publishes a draft; the API has no such calls. Its one publish-side call retries a failed publish of an article a person already approved.

It needs an API key, created at /settings/api-keys in the dashboard and exported as ALTORANK_API_KEY. Self-hosted installs also set ALTORANK_BASE_URL. skills/altorank/commands/ holds five thin slash commands for the common calls; the skills CLI does not register slash commands, so copy them into .claude/commands/ (Claude Code) or your agent's equivalent if you want them.

Running it

Requires Node 22+, and a Supabase project (local via Docker, or hosted). The full deployment story, hosted and self-hosted, is in docs/deploy.md; the Cloudflare assessment is in docs/deploy-cloudflare.md.

npm install

cp docker/.env.example apps/web/.env.local # every variable, with what each one enables npm run dev

Required before a self-hosted install works end to end:

  • your Supabase URL, its anon key and its SUPABASE_SERVICE_ROLE_KEY
  • NEXT_PUBLIC_APP_URL, the address people open the app at. Every emailed link (signup confirmation, invites, password reset) is built from it, and the Docker build bakes it into the image, so set it before docker compose up --build; compose refuses to build without it.
  • ANTHROPIC_API_KEY
  • ENCRYPTION_KEY and CRON_SECRET (openssl rand -hex 32 for each). docker compose refuses to start without CRON_SECRET, and without it no scheduled job runs.
  • RESEND_API_KEY and RESEND_FROM_EMAIL (a sender on a domain verified in your Resend account). Signup confirms by email, so without them nobody can create an account and nobody can reset a password.

Add DATAFORSEO_LOGIN / DATAFORSEO_PASSWORD for keyword volume and rank tracking; without them those steps skip rather than fail. Everything else in the example file is optional and each one disables exactly one feature. The file says which. Product analytics (the two NEXT_PUBLIC_POSTHOG_* variables, project token and host) are optional too: without them the browser console says analytics are off and nothing else changes.

Other entry points:

npm run test     # vitest, unit tier: mocks only, needs no services

npm run test:db # vitest, db tier: *.db.test.ts against the local Supabase only npm run smoke # research → prompt → model → fact check, against real APIs

and from apps/web:

npm run mcp                  # MCP server over stdio, for driving the engine from an AI assistant

npm run cli -- --help # the agent API from a shell; auth with ALTORANK_API_KEY npm run readiness -- # the agent-readiness checks on their own

Hosted MCP endpoint

The same tools are served at /api/mcp (Streamable HTTP) by the running app, so an MCP client adds one URL as a connector instead of running the stdio server: https://app.altorank.co/api/mcp on the hosted install, or your own origin when you self-host. Authentication is a bearer token, either an API key from /settings/api-keys or the token the built-in OAuth flow issues:

  • discovery at /.well-known/oauth-authorization-server and /.well-known/oauth-protected-resource/api/mcp
  • dynamic client registration at /api/oauth/register (public clients, PKCE S256 only)
  • consent at /oauth/authorize, owner or admin only, write scope opt-in
  • token at /api/oauth/token, authorization-code grant, no refresh token

The token a connector receives is an api_keys row (migration 080), so it is listed, expires and is revoked on /settings/api-keys like any other key. Claude Code registers it with claude mcp add --transport http altorank https://app.altorank.co/api/mcp; ChatGPT and Claude.ai take the same URL as a custom connector.

只显示了开头部分;其余内容请在仓库中阅读