mcpField
R
Rank by Ouroboros Apps

Rank by Ouroboros Apps

リモート
ouroborosapps.comビジネス・マーケティング02 週間前に更新
リポジトリ公式サイト

Rank by Ouroboros Apps について

Rank by Ouroboros Appsは、サイト運営者、ブロガー、中小企業、SEOフリーランサー向けに、Google Search Consoleの読み取り専用SEOデータをMCPクライアントで扱えるようにします。APIが返す指標をそのまま示し、流入数の推定や欠損日の補完は行いません。

主な機能

  1. 01確認済みのSearch Consoleプロパティを一覧表示
  2. 02期間を指定して上位クエリとページを取得
  3. 03クリック数、表示回数、CTR、平均掲載順位を追跡
  4. 04期間を比較しCTRの低いクエリを特定
  5. 05順位が下がったページの検索とURL検査

活用シーン

  1. 01検索クエリとランディングページの実績を確認
  2. 022つの期間のSearch Consoleデータを比較
  3. 03表示回数が多くCTRが低いクエリを発見
  4. 04URL 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

Ouroboros Apps の Rank は、接続した Google Search Console アカウントから SEO に関する質問に回答します。Search Console の数値を ChatGPT、Claude、Gemini、Grok、Cursor、または Streamable HTTP と OAuth に対応するその他の MCP クライアントで確認したい、サイト所有者、ブロガー、中小企業、SEO フリーランサー向けです。

アシスタントは、確認済みプロパティの一覧表示、上位のクエリとページの読み取り、クリック数、表示回数、CTR、平均掲載順位の推移の追跡、2 つの期間の比較、表示回数が多く CTR が低いクエリの検索、順位が下落したページの確認、URL 検査のステータス確認ができます。すべての指標は 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 — 2 つの期間の合計と、各合計から算出したと明記された差分
  • quick_wins — 表示回数が指定のしきい値以上で、CTR が指定のしきい値以下のクエリ
  • dropped_pages — 掲載順位が下落したページ、クリック数が減少したページ、または現在のレスポンスから消えたページ
  • inspect_url — URL Inspection API の結果
  • account_status — Google が接続されているか、トライアルまたは Pro サブスクリプションが有効かどうか

日付を省略すると、Rank は 3 UTC 日前を終了日とする 28 日間を使用し、その旨を結果に表示します。期間を指定するには、startDate と endDate(YYYY-MM-DD)を渡してください。

Google Cloud OAuth クライアント

ウェブアプリケーションタイプの OAuth クライアントを作成してください。Rank は次の値を読み取ります。

  • GOOGLE_CLIENT_ID
  • GOOGLE_CLIENT_SECRET

認証済みリダイレクト URI。末尾のスラッシュを付けず、次のとおり正確に指定してください。

${APP_BASE_URL}/google/callback

ローカル環境でデフォルトの APP_BASE_URL を使用する場合は、次のとおりです。

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)
);

2つ目のスキーマはありません。Vercel ではメモリおよびファイルストレージはリセットされるため、本番環境では Blob バックエンドを使用します。Blob ドキュメントはファイルストアと同じ構成で、JSON レコードのコレクションを格納します。OAuth 認可コードと保留中の Google サインイン状態もこのドキュメント内のレコードなので、コールバックが別のサーバーレスインスタンスに届いても処理できます。書き込みのたびに、期限切れの認証コード、保留中のサインインセッション、アクセストークン、リフレッシュトークンが削除されます。Vercel Blob ストアを接続すると、BLOB_READ_WRITE_TOKEN が注入されます。これをコミットしないでください。

課金

Lawrence がすでに使用している Stripe アカウントから、次の値を設定します。このリポジトリに商品を作成しないでください。価格 ID は金額ではありません。

  • STRIPE_SECRET_KEY
  • STRIPE_PRICE_MONTHLY
  • STRIPE_PRICE_YEARLY
  • STRIPE_WEBHOOK_SECRET

チェックアウトは { "plan": "monthly" } または { "plan": "yearly" } を指定する POST /billing/checkout です。Webhook は POST /billing/webhook です。GET /health の billingConfigured: true は、シークレットキーと両方の価格 ID が設定されている場合にのみ含まれます。

ローカルトライアルは、最初の 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。Copyright (c) 2026 Lawrence Hutchins.


Ouroboros のその他のサービス:https://ouroborosapps.com

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。