プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

AltoRank

作者:AltoRankバージョン 0.3.0i★ –iクラウドで動く
レジストリ名co.altorank/altorank

インストール

概要

作者による説明(英語の原文)

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

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: クラウドで動く
  • トランスポート: Streamable HTTP
  • カテゴリ: 検索・AIの記憶

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • 作者のサーバーで動きます。あなたが頼んだ内容は、作者のサーバーを通ります。
  • レジストリには、入力が必要なキーは載っていません。

必要なもの

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

ウェブ、デスクトップ、モバイルのClaudeで使えます:

  1. Settings → Connectors を開く
  2. Add custom connector を押す
  3. 下のアドレスを貼り付けて Add を押す
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Add2https://…3
https://app.altorank.co/api/mcp

ターミナルでこれを実行します

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

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

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

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

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

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

ChatGPTがつなげるのは、インターネット上のサーバーだけです:

  1. ウェブ版のChatGPTを開き → Settings → Connectors (Apps)
  2. Create または Add を押す(プランによっては、先に Advanced で Developer mode をオンにする必要があります)
  3. 下のアドレスを貼り付け、名前を付けて保存する
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Create2https://…3
https://app.altorank.co/api/mcp

メニューの名前は、プランや時期によって少し違うことがあります。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

このサーバーのツール一覧はまだ読み取っていません。エンドポイントは順番にチェックしています。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名はドメイン altorank.co で確認済みです(レジストリがドメインの所有を確認しています)

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    エンドポイントが応答する

    まだチェックしていません。エンドポイントは順番にチェックしています

  • … 未チェック

    OAuthでサインイン

    まだチェックしていません。エンドポイントは順番にチェックしています

  • … 未チェック

    ツールの説明に隠れた指示がない

    まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります

検索・AIの記憶のほかのサーバーとの比較i

  • このカテゴリのほかの7226件のうち0%よりスターが多い
  • このカテゴリのほかの7226件のうち39%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの7226件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

AltoRankは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

作者のクラウドで動きます。インストール不要でインターネット経由でつながりますが、送った内容は作者のサーバーを通ります。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.3.0)がレジストリに届いたのは2 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。

代わりに使えるものは?

同じカテゴリには:Context7, Codebase Memory, Exa

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Context7

作者:upstash

Up-to-date docs for AI agents

パソコンでもクラウドでも★ 64,224MIT3 日前更新
インストール

Codebase Memory

作者:DeusData

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

パソコンで動く★ 48,148MIT20 日前更新
インストール

Exa

作者:exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

クラウドで動く★ 5,213MIT44 日前更新
インストール

作者の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.

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く