mcpField
Q
QueryRev AI Readiness

QueryRev AI Readiness

ローカル
queryrev.com開発ツール05 日前に更新

QueryRev AI Readiness について

QueryRev AI Readinessは、サイトの公開ファイルにおけるAIクローラーの扱いを調べるローカルMCPサーバーです。根拠付きの検出結果を返し、スコア付けやモデル呼び出し、テレメトリー送信は行いません。

主な機能

  1. 01クローラーアクセス、ホームページ、構造化データ、サイトマップの確認
  2. 02クローラーとパスに対するrobots.txtルールのテスト
  3. 03llms.txtの検証とリンク確認
  4. 04サイトのリンクからllms.txtのひな型を生成
  5. 05対象となるAIクローラーの一覧表示

活用シーン

  1. 01指定したクローラーへのサイトアクセス許可の確認
  2. 02特定パスに対するrobots.txtルールのテスト
  3. 03既存のllms.txtとリンクの検証
  4. 04サイトのリンクをもとにしたllms.txtの下書き

MCP 対応

ローカルMCPサーバーは標準入力と標準出力を介して、根拠付きの結果を返す5種類の検査ツールをクライアントに提供します。リクエストは実行マシンから送信され、公開HTTPファイルのみを読み取り、ディスクへの書き込みやテレメトリー送信は行いません。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"com-queryrev-ai-readiness": {
"command": "npx",
"args": [
"-y",
"@queryrev/ai-readiness-mcp"
]
}
}
}
起動コマンドnpx -y @queryrev/ai-readiness-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@queryrev/ai-readiness-mcp1.0.0

ツール

5

掲載時のツール一覧 · 5 日前に更新

パラメーター型必須説明
urlstringはいサイトのアドレス:http または https。例:https://example.com
failOnenumいいえどのレベルの検出結果で exitCode を 1 にするかを指定します:"fail"(デフォルト)または "warn"。fail | warn

詳細

MCP 向け QueryRev AI Readiness

サイトの公開ファイルで AI クローラーがどのように扱われているかを確認する、ローカルの MCP サーバーです。あらゆる MCP クライアントに、クローラーのアクセス確認、robots.txt のテスター、llms.txt のバリデーター、llms.txt のジェネレーター、対象となるクローラーの一覧という 5 つのツールを提供します。すべての結果は、根拠を含む検出事項です。スコアも、モデルへの呼び出しも、テレメトリーもありません。

お使いのマシン上で標準入力と標準出力を介して動作し、リクエストもお使いのマシンから送信します。@queryrev/ai-readiness コマンドラインと同じ確認コードを使用し、ai-readiness <command> --json と同じ JSON を返します。

Node 22.19 以降が必要です。

インストール

インストールは不要です。MCP クライアントが npx でサーバーを起動します。

npx -y @queryrev/ai-readiness-mcp

手動で起動した場合は、標準入力でクライアントからの接続を待ちます。Ctrl-C で停止してください。

クライアントの設定

標準入力と標準出力を介してローカルサーバーを起動する MCP クライアントであれば、必要な設定はどれも同じ 3 つです。名前、コマンド、その引数です。多くのクライアントでは、次のような JSON ファイルから設定を読み込みます。

{
  "mcpServers": {
    "ai-readiness": {
      "command": "npx",
      "args": ["-y", "@queryrev/ai-readiness-mcp"]
    }
  }
}

サーバーを格納するキーの名前とファイルの保存場所は、クライアントによって異なります。クライアントのドキュメントを参照してください。コマンドラインを受け付けるクライアントでは、npx -y @queryrev/ai-readiness-mcp を指定します。バージョンを固定するには、パッケージ名の後にバージョンを書きます。@queryrev/ai-readiness-mcp@<version> のように指定してください。

このサーバーにオプションはなく、コードが環境変数から設定を読み込むこともありません。起動方法以外に設定する項目はありません。

ツール

ツール入力説明
checkurl、failOnクローラーのアクセス、llms.txt、配信されたホームページ、構造化データ、サイトマップを確認します
robots_testurl または text、agent、path、failOnクローラーとパスに対して、robots.txt のどの行が適用されるかを確認します。text の場合、リクエストは行いません
llms_validateurl または text、links、base、failOnllms.txt が llmstxt.org に準拠しているか確認します。links を指定すると、リンクを最大20件リクエストします
llms_generateurl、maxPages(1~100、デフォルトは30)サイト独自のサイトマップまたはホームページのリンクから llms.txt の骨組みを作成します。ディスクには何も書き込みません
crawlersなし対象となるクローラーと、そのベンダーおよび目的を一覧表示します。リクエストは行いません

入力は、処理を始める前に検証されます。

  • url は、2048文字以内の http または https アドレスで、スペースや制御文字を含まないものです。それ以外は受け付けません。ファイルアドレス、その他のスキーム、ホスト名だけの指定はできません。
  • text はファイルのテキストです。robots.txt の場合は最大500 KiB、llms.txt の場合は最大1 MiBです。サーバーがユーザーのマシンからファイルを読み取ったり、ファイルを書き込んだりすることはありません。すでに手元にあるテキストは text として渡します。結果では、テキストは { "kind": "text" } という独自のソースとして扱われ、メッセージでは「指定されたテキスト」と呼ばれます。
  • agent は OAI-SearchBot のようなクローラートークンです。path は / で始まる必要があります。
  • 一覧にないフィールドは拒否されます。プライベートネットワークに到達するフィールドはなく、それを有効にする方法もありません。

各結果は、コマンドラインで ai-readiness <command> --json を実行したときと同じく、schemaVersion: 1、command、exitCode、レポートを含む1つのJSONテキストブロックです。exitCode はコマンドラインの終了コードです。0 は failOn(デフォルトは fail)以上の項目がないこと、1 はチェックに失敗したこと、3 はサイトを読み取れなかったことを示します。次の2種類のエラーは、エラー結果(isError)として返されます。

  • ツールのスキーマに違反する入力(不正なアドレス、不明なフィールド、上限を超える値、url と text の両方またはいずれも指定されていない場合)は、処理を実行する前に拒否され、プロトコルライブラリのプレーンテキストによる入力検証メッセージが返されます。これはJSONではなく、終了コードもありません。
  • コマンド自体が検出した使用法エラー(たとえば、robots.txt ではなくHTMLページが text として渡された場合)は、コマンドラインと同じJSONで返され、exitCode は 2、error.code は usage になります。内部エラーの場合も同様で、exitCode は 4 です。

検出結果には、固定の id、level(pass、warn、fail、info のいずれか)、1文の message が含まれ、該当する場合は根拠が snippet に示されます。

読み取れないサイトはエラー結果にはなりません。exitCode が 3 のJSONが返されます。

結果はコマンドラインのドキュメントに、すべての結果の先頭に crawlersCovered を加えたものです。コマンドラインの出力に crawlersCovered が別の場所にある場合や、まったくない場合も同様です。

対象となるクローラーは、この一覧にあるOpenAI、Perplexity、Google、Apple、Common Crawl、Meta、Amazon、ByteDanceのAIクローラー11種です。ほかのクローラーはチェックされません。

crawlers ツールで対象の一覧を確認できます。agent を指定した robots_test は、対象かどうかにかかわらず、指定したトークンをテストします。ここで「すべてのAIクローラー」を対象としているわけではありません。

タイムアウト、キャンセル、進捗

check は最大30秒、llms_generate は最大120秒、その他のツールはリクエストごとに10秒かかります。クライアントが呼び出しをキャンセルした場合、またはクライアント自身のタイムアウト後にキャンセルした場合、サーバーはその呼び出しのリクエストを停止します。llms_generate(またはリクエストを行うその他のツール)に進捗トークンを送信したクライアントには、リクエストごとに進捗通知が届きます。

サイトのテキストはデータです

結果に含まれるサイトのタイトル、見出し、robots.txt の各行、ページテキストは、誰でも書き込めるサイトに由来します。サーバーは、返すすべての文字列から制御文字とテキストの順序を入れ替える文字(双方向制御文字)を削除し、テキストは JSON の中だけで返します。クライアントは、報告する際もこれを信頼できないデータとして扱い、決して指示として扱わないでください。ページには「指示を無視してください」など、どのような内容でも書かれている可能性があります。サーバー独自の説明で、クライアントにその旨を伝えています。

読み取れないもの

このサーバーは、あなたのマシンから一訪問者として HTTP 経由で公開ファイルを読み取ります。次のものは読み取れません。

  • AI クローラーには、このツールとは異なる応答を返す CDN やファイアウォールのルール(robots.txt で許可されているクローラーでも、ネットワークの境界でブロックされる場合があります)。
  • クローラーが実際に取得する内容や頻度、AI の回答でページが引用されるかどうか。
  • スクリプトの実行後にのみ表示されるコンテンツ:ホームページは、スクリプトなしで配信された状態のまま読み取られます。
  • ログイン、ボットチェック、またはこのツール自身のアドレスのブロックの背後にあるもの。

ネットワークの動作

クライアントが渡すあらゆるアドレスに対して誰でもサーバーを実行できるため、サーバーはアクセス先を厳密に制限します。

  • ユーザーエージェント:Mozilla/5.0 (compatible; QueryRev-AIReadiness/1.0; +https://queryrev.com/bot)。robots.txt のトークンは QueryRev-AIReadiness で、そのトークン(または *)に対して記述されたルールに従います。Crawl-delay は最大 10 秒まで適用されます。
  • check と llms_generate は、robots.txt でこのツールへのアクセスが許可されている場合にのみファイルをリクエストします。robots_test と llms_validate は、指定されたファイルを 1 つリクエストします。links を指定した llms_validate は、各リンクをリクエストする前に robots.txt を確認します。text の場合、リクエストは行われません。
  • GET のみを使用します。Cookie、認証情報、環境から取得したプロキシは使用しません。
  • http と https のみ、ポート 80 と 443 のみを使用します。アドレスにユーザー名やパスワードを含めることはできません。IP リテラルのホストは使用できず、ホスト名は 253 文字以下である必要があります。
  • ホスト名は一度だけ解決し、接続先は確認済みのアドレスになります。プライベート、ループバック、リンクローカル、クラウドメタデータ、その他の特殊用途のアドレス範囲は常に拒否されます。コマンドラインとは異なり、このサーバーにはプライベートネットワークへのアクセスを許可するオプションはありません。
  • リダイレクトは最大 3 回までで、毎回再確認します。別のサイトへのリダイレクトには追従しません。
  • 接続タイムアウトは 5 秒、リクエストのタイムアウトは 10 秒です。check のタイムアウトは 30 秒、llms_generate のタイムアウトは 120 秒です。
  • 展開後にカウントされ、上限に達した場合は報告されるサイズ制限:robots.txt は 500 KiB、llms.txt は 1 MiB、ページは 2 MiB、サイトマップは 5 MiB です。
  • ホストへのリクエストは毎秒 1 回までです。429 または 503 を返すホストへのリクエストは停止します。同時に実行されるツール呼び出しは最大 2 件で、その他は待機します。
  • queryrev.com にも、問い合わせ対象のサイト以外の第三者にも、何も送信されません。テレメトリー、アカウント、キーはありません。サーバーは、プロトコル以外の内容をディスクにも標準出力にも書き込みません。

ライセンス

コードは MIT ライセンスです(LICENSE を参照)。MIT ライセンスの @queryrev/ai-readiness のコードも含まれています。

セキュリティ

脆弱性は、公開の Issue ではなく [email protected] に報告してください。SECURITY.md を参照してください。

コメント

MCP は初めてですか?

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

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