Rankrat について
Rankratは、サイト分析、インデックス、監視、修正をまとめるセルフホスト型SEOサービスです。検索・分析・パフォーマンス各サービスの操作をRESTとMCPで提供し、読み取り専用モードにも切り替えられます。
主な機能
- 01GoogleとBingのデータ・操作を統合
- 02複数サービスを横断したサイト監査と分析
- 03問題の監視と履歴の記録
- 04URL送信、キャッシュ削除、リダイレクト管理
- 05読み取り専用モードで書き込み操作を除外
活用シーン
- 01検索、トラフィック、性能指標をまとめて確認
- 02インデックス状況やコンテンツ機会を調査
- 03SEO上の問題を監視し、制御された修正を実施
MCP 対応
RankratはstdioとStreamable HTTPでMCPを提供し、SEO、分析、監視、修正のツールを公開します。読み取り専用モードでは書き込みツールが実行時の一覧から除外されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
rankrat
SEO のシグナルはそれぞれ独自の閉じた環境にあり、専用のダッシュボード、API、面倒な認証手順があります。Search Console はあちら、GA4 はこちら、Bing Webmaster は別の場所にあり、さらに Cloudflare、Clarity、PageSpeed、CrUX、GTM、Bing の被リンクデータもあります。エージェントに検索順位を確認させると、8 つのコンソールを行き来するだけで手一杯になります。Rankrat はそれらすべてを単一のセルフホスト可能なサービスにまとめます。実現したいことをエージェントに伝えると、単一のインターフェースからプロバイダーのリソースを調査、作成、更新、削除できます。ダッシュボードは不要で、REST と MCP に対応しています。
泥棒ではなく、ネズミです。プロバイダーのアカウントを渡すと、その認証情報だけが権限になります。boundaries.json 内のリソース一覧は、インベントリと URL の包含データであり、安全を守るふりをした二重の権限システムではありません。Rankrat はデフォルトで書き込みを行います。RANKRAT_READ_ONLY=true を設定すると、変更を伴うすべてのルートとツールが検出対象からなくなります。切り替えるのはこれだけです。
stdio 経由の MCP、/mcp での Streamable HTTP 経由の MCP、および /v1/ 配下の FastAPI JSON API に対応しています。ラッパーが管理する HTTP ではベアラー認証が必要です。何をしているか理解している場合は、独自に作成したループバック専用の起動方法で認証を省略できます。
ステータス: アルファ版です。API とツールのインターフェースは 1.0 までに変更される可能性があります。マイナーリリースでも意図的に互換性を破る変更が行われることがあります(変更内容は文書化されます)。仕様を固定する必要がある場合は、正確なリリースバージョンを指定してください。
目次
機能
| 分野 | Rankrat が公開する機能 |
|---|---|
| Search Console の分析、検査、サイトマップ。GA4 のインベントリ、履歴・リアルタイムレポート、e コマース、ファネル、オーディエンス。Google Tag Manager のコンテナ、ワークスペース、タグ、トリガー、変数、バージョン、公開。プロパティ、サイトマップ、インデックス登録、所有権、オンボーディング、名前変更の書き込み | |
| Bing | 検索、クロール、インデックス登録、サイトマップ、被リンク、クォータ、キーワード、機会、カニバリゼーション、サイト/送信、および安全なコンテンツ送信の操作 |
| パフォーマンス | PageSpeed、Core Web Vitals、CrUX の履歴、Microsoft Clarity のインサイト、Cloudflare の分析、分離されたローカル Lighthouse 監査 |
| サイトインテリジェンス | サイト全体の監査、スキーマの適格性、内部リンクグラフ、孤立ページ、コンテンツの機会、プロバイダー間の比較 |
| 所有権とオンボーディング | Google/Bing の確認、Cloudflare を通じたプロバイダーに依存しない DNS 検証、冪等な GA4/Search Console/Bing のオンボーディング |
| 被リンク | 設定済みサイトに対する Bing Webmaster の被リンクインテリジェンス |
| モニタリングと修正 | 永続的なモニターと問題の履歴、サイトマップ/URL の再送信、IndexNow、Cloudflare の正確なキャッシュ消去、有限のキャッシュテンプレート、管理対象のエッジリダイレクト |
実行時に公開される機能が、そのまま実際に利用できる機能です。隠れたエンドポイントはありません。読み取り専用のデプロイではすべての書き込み機能が検出対象から除外され、書き込み可能なデプロイでは他の機能とともにオンボーディングも公開されます。全機能の一覧は、MCP ツールカタログと生成された OpenAPI ドキュメントをご覧ください。
クイックスタート
rankrat コマンドをインストールし、利用するプロバイダーの認証情報を作成してから起動します。実行時に必要なのは Docker だけです。
インストール
インストーラーをダウンロードして内容を確認し、実行します。ユーザー単位(root 権限不要)またはシステム全体にインストールできます。
curl -fsSL https://raw.githubusercontent.com/psyb0t/rankrat/main/install.sh -o rankrat-install.sh
less rankrat-install.sh
bash rankrat-install.sh # per-user -> ~/.local/bin/rankrat
sudo bash rankrat-install.sh --system # system-wide -> /usr/local/bin/rankrat
実行するユーザーに応じてモードが自動検出されます。--user / --system でモードを指定でき、--uninstall でコマンドを削除できます。これにより、公開済みの Docker イメージを操作する、読みやすいスクリプトである rankrat ラッパーが PATH に追加されます。ソースチェックアウトから作業する場合は、リポジトリをクローンして ./rankrat または make のターゲットを使用してください。使い始めるを参照してください。
セットアップ
セットアップを実行します。すべてのプロバイダーが一覧表示され、実際に使うものを選ぶと、各認証情報の作成手順が案内されます。Google OAuth のコンソール操作、Bing Webmaster キー、Cloudflare トークン、Clarity トークンなど、具体的なクリック手順が示され、貼り付けた値はすべて非表示になります。README からトークンの権限をコピーする必要はありません。
rankrat setup
Google を設定する場合、セットアップで非表示のプロンプトが表示されたら、1 行のデスクトップ OAuth クライアント JSON を貼り付けてください。他の認証情報と同じです。
セットアップではアカウントへのアクセスを検証しますが、URL の送信やプロパティの作成は行いません。プロファイルは ~/.config/rankrat に保存されます。別のアカウントやワークスペース用にプロファイルを分けるには、起動時に rankrat --data-dir /absolute/path または RANKRAT_DATA_DIR で上書きしてください。認証情報の設定手順を事前に確認したい場合や、各プロバイダーから実際に何が提供されるかを知りたい場合は、プロバイダーと認証情報を参照してください。ソースチェックアウトからセットアップを実行するには、make setup を使います。
実行
rankrat # MCP over stdio (default)
rankrat http -d # REST + Streamable-HTTP MCP + Lighthouse, detached with restarts
rankrat upgrade # re-pin to the latest release, pull it, drop the previous image
ソースチェックアウトからは、make run(stdio)および make run-http(Compose 経由の HTTP、フォアグラウンド実行)を使います。
rankrat setup は psyb0t/rankrat と psyb0t/rankrat-lighthouse の両方を最新のリリースタグに固定します。このタグは HTTP ポートおよび読み取り専用フラグとともに、プロファイルのルートにある .env に記録されます。変動する :latest は追跡しません。rankrat upgrade はイメージを最新のリリースに再固定して両方をプルし、実行中の HTTP スタックを再起動します(記録されたポートと読み取り専用フラグを再利用)。さらに、置き換えられたイメージを削除します。ポートと読み取り専用の行は変更しません。--rolling(または RANKRAT_ROLLING=1)を渡すと、記録された固定設定には触れず、1 回の実行で変動する :latest イメージを使います。RANKRAT_IMAGE、RANKRAT_LIGHTHOUSE_IMAGE、RANKRAT_HTTP_PORT、RANKRAT_READ_ONLY では、引き続き実行ごとに記録された値を上書きできます。
実行ごとではなくホスト設定を一度だけ指定するには、ホストの永続的な環境変数ファイル ~/.config/rankrat/.env に設定します(RANKRAT_ENV_FILE でパスを上書きできます)。ラッパーはプロファイルを選択する前にこのファイルを読み込むため、使用するプロファイルを指定する RANKRAT_DATA_DIR に加え、RANKRAT_READ_ONLY、RANKRAT_IMAGE、RANKRAT_LIGHTHOUSE_IMAGE、RANKRAT_HTTP_PORT、RANKRAT_OAUTH_CALLBACK_PORT、RANKRAT_ROLLING も設定できます。変数が未設定または空の場合にのみ値を設定するため、--data-dir フラグや実際の環境変数が優先されます。これは、最小限の環境で rankrat を実行し、シェルのエクスポート設定が反映されない MCP ランチャーで特に便利です。このファイルはプロファイルごとの .env とは別のものです。ホストファイルはプロファイルとホストの既定値を選択し、プロファイルの .env はそのプロファイルのイメージ、ポート、読み取り専用フラグを固定します。
HTTP では、MCP は http://127.0.0.1:8080/mcp、REST は /v1/ で利用できます。stdio ではポートもベアラートークンも不要です。HTTP ではデータディレクトリを Compose プロジェクトとして扱います。docker-compose.yml がなければそこに作成し、すでにある場合は変更しません。内部では、長時間稼働する 2 つのサービスと、1 回限りのボリューム初期化処理が動作します。ラッパー、通常の docker run、生の Compose、HTTP 認証、クライアントの接続設定については、トランスポートとデプロイを参照してください。
ブラウザー監査は、Unix ソケット経由で別の psyb0t/rankrat-lighthouse イメージ上で実行され、プロバイダーの認証情報を一切参照しません。rankrat の stdio はセッション用に一時的な Lighthouse サイドカーを起動します。HTTP と同じ機能を利用でき、終了時にサイドカーを停止します。ラッパーはホスト側で起動するため、アプリは Docker ソケットにアクセスせず、ソケット経由でのみ Lighthouse に接続します。Lighthouseを参照してください。
安全モデル
- Rankrat はデフォルトで書き込み可能です。設定されたアカウント認証情報により、サポートされているすべてのプロバイダー操作と、それらのアカウントがアクセスできるすべてのリソースが許可されます。
RANKRAT_READ_ONLY=trueに設定すると、書き込み用の REST ルートと MCP ツールが実行時の検出対象から除外されます。これは唯一の機能切り替えです。- 呼び出し元が慎重に人間の指示に従うエージェントか、完全自律型かは、運用担当者が判断します。リモート HTTP では、引き続き設定されたベアラートークンが使用されます。
- リソース配列は、キャッシュされたインベントリおよび包含データです。オンボーディングと検出によって更新されるため、再試行時に既存のリソースを再利用できます。
- シークレットは読み取り専用でマウントされます。OAuth レコードとモニターの状態には、それぞれ別の書き込み可能なマウントが用意されています。
書き込みを有効にしたり、HTTP をループバック以外に公開したりする前に、設定とセキュリティを確認してください。
ドキュメント
- はじめに — インストール、ファイルの場所、セットアップの確認
- 設定 — すべての境界フィールドと実行時スイッチ
- プロバイダーと認証情報 — 各認証情報の取得方法とその権限
- トランスポートとデプロイ — stdio MCP、Streamable HTTP MCP、REST、Compose、エージェント連携
- 機能別ワークフロー — SEO、分析、バックリンク、インデックス登録に関する一般的な質問への操作
- Lighthouse — ブラウザーワーカーとそのセキュリティ上の制限
- 所有権とオンボーディング — Google/Bing プロパティの作成と DNS 検証
- モニタリングと修復 — 永続的なモニターとプロバイダーへの書き込み動作
- セキュリティ — 信頼境界と本番環境でのルール
- MCP ツールリファレンス — 検出可能なすべての MCP ツール
- トラブルシューティング — 起動、OAuth、プロバイダー、サイトマップ、ブラウザー監査の失敗
- 開発 — ビルド、テスト、コントラクトの生成、依存関係の監査、コントリビューション
REST のソースは YAML を優先します。openapi.yaml、
seo-openapi.yaml、および
free-seo-openapi.yamlから
openapi.jsonが生成されます。エージェントクライアントは、リポジトリのスキル、
Claude Code と Codex のマニフェスト、または.agents内の OpenClaw 連携を使用できます。
エージェント連携
Rankrat スキルは、.agents/skills/を読み取る
エージェント(peenなど)で動作します。以下の連携では、MCP stdio と共有
Streamable HTTP サーバーの両方に対応しています。
Claude Code
claude plugin marketplace add psyb0t/agents
claude plugin install rankrat@psyb0t
Codex
codex plugin marketplace add psyb0t/agents
codex plugin add rankrat@psyb0t
カタログからインストールすると、スキルは$rankrat:rankratとして呼び出せます。Codex
は、Rankrat のチェックアウトから直接$rankratとしても検出します。
OpenClaw
openclaw skills install @psyb0t/rankrat
openclaw plugins install clawhub:@psyb0t/rankrat
このプラグインは、標準の
$HOME/.config/rankrat/レイアウトを使用し、公開済みイメージを MCP stdio 経由で起動します。すべての
クライアントで同じ絶対パスのRANKRAT_DATA_DIRを設定すると、任意のサイトリポジトリから同じプロバイダーアカウント、OAuth 認可、インベントリ、
およびモニター状態を再利用できます。すでに稼働している共有サーバーを使用する場合は、認証済みの
http://127.0.0.1:8080/mcp
Streamable HTTP エンドポイントを使用するよう OpenClaw を設定してください。トランスポートを参照してください。
開発
すべてコンテナー内で実行されるため、「自分のマシンでは動く」という事態にはなりません。
make help
make lint
make test
モックを使用するテストでは、認証情報は一切必要ありません。ライブテストはオプトイン方式で、プロファイルから単一の アカウントと安全な対象を取得するため、意図しないものに触れてしまう心配はありません。コントリビューター向けの詳しいガイドは 開発にあります。
プロジェクト情報
WTFPL ライセンス · リリース履歴 · 依存関係の 帰属表示 · イシュー
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。