mcpField
U
Unrendered: AI Crawler Checker

Unrendered: AI Crawler Checker

ローカル
missiongrowth.ioビジネス・マーケティング01 週間前に更新

Unrendered: AI Crawler Checker について

Unrendered: AI Crawler Checkerは、AIクローラーから見たウェブサイトを調べるMCPサーバーです。ローカルのGoogle Chromeで拡張機能の分析コードを実行し、生HTMLとブラウザー描画後のページを比較して、クローラーのアクセス状況や差異を報告します。

主な機能

  1. 01生HTMLと描画後の内容を比較
  2. 02生HTML内のコンテンツ範囲を測定
  3. 03メタデータとJavaScript後のテキストを確認
  4. 04ボットのrobots.txtルールと応答を確認
  5. 05ローカルのChromeで分析を実行

活用シーン

  1. 01JavaScriptなしのクローラーに見えない内容を特定
  2. 02AIボットのアクセスとrobots.txtルールを確認
  3. 03ソースと描画後のページの違いを調査

MCP 対応

このMCPサーバーは、ページと生HTMLを比較する`analyze_page`と、robots.txtの判定やボットのリクエスト結果を調べる`check_ai_bots`を提供します。MCPクライアントはこれらのツールでURLを検査できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"missiongrowth-unrendered-ai-crawler-checker": {
"command": "npx",
"args": [
"-y",
"unrendered-mcp"
]
}
}
}
起動コマンドnpx -y unrendered-mcp

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

パッケージ
npmunrendered-mcp0.1.4

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

unrendered-mcp:AI クローラーチェッカー MCP サーバー

AI アシスタントに、Unrendered Chrome 拡張機能による分析結果を提供する MCP サーバーです。JavaScript を実行しないクローラーが受け取る内容(生の HTML)と、ブラウザーがページをレンダリングした結果を比較します。

分析を再実装するものではありません。拡張機能独自のスナップショットコード(src/content/snapshot.ts)、analyze、robots.txt パーサー、ボット分類器をバンドルし、インストール済みの Google Chrome 内で変更せずに実行します。

インストール

Node 20 以降と Google Chrome が必要です。ブラウザーはダウンロードされません。

npx -y unrendered-mcp
Claude Code
claude mcp add unrendered -- npx -y unrendered-mcp
Claude Desktop

claude_desktop_config.json に追加します。

{
  "mcpServers": {
    "unrendered": {
      "command": "npx",
      "args": ["-y", "unrendered-mcp"]
    }
  }
}

Chrome が見つからない場合、ツールはその旨を示すエラーを返します。UNRENDERED_CHROME_CHANNEL で別の Chromium チャンネルを指定できます(既定値は chrome です)。

既定では、URL のホストがループバック、プライベート、リンクローカル、マルチキャストのアドレスである場合、またはそれらのアドレスに解決される場合、ツールはその URL を拒否します。これは、URL が悪意のあるページを読んだ可能性のあるモデルから渡されるためです。ローカルの開発サーバーを分析するには、UNRENDERED_ALLOW_PRIVATE_HOSTS=1 を設定してください。Chrome はサンドボックスを有効にした状態で実行されます。

ツール

analyze_page({ url })

URL をヘッドレス Chrome で読み込み、ページの分離されたワールドで拡張機能のスナップショットを取得し(コンテンツスクリプトと同様に実行します)、analyze を実行して、コンパクトな JSON オブジェクトを返します。

  • coverage:メインコンテンツと、表示されているすべてのテキストのうち、生の HTML に単語が含まれている割合。単語数と使用した基準(main-landmark または outside-landmarks)も含まれます
  • main_content_words:生の HTML で見つかった単語、JSON-LD またはハイドレーションデータ内でのみ見つかった単語、JavaScript の実行後にのみ存在する単語
  • missing_from_raw_html:JavaScript の実行後にのみ存在する最大のテキストブロック(切り捨てられ、最大 15 件)
  • fields:タイトル、メタディスクリプション、canonical、hreflang、html lang、robots メタ、JSON-LD の差分(最大 30 行)
  • links_only_after_javascript、text_in_raw_html_removed_by_javascript
  • gate:生のリクエストがチャレンジページ(Cloudflare、AWS WAF、DataDome)、HTTP エラー、別の URL、またはフェッチ失敗の場合、カバレッジは計算されず、その理由が gate に示されます
  • not_checked:今回の実行で検証されなかった項目
check_ai_bots({ url })

拡張機能のリストにある各ボットについて、URL に対する robots.txt の判定(該当するルールと行を含む)と、そのボットの公開ユーザーエージェントでリクエストしたときにサーバーが返す結果(same、different、blocked、challenged、rate-limited、redirected-elsewhere、error)を返します。noindex も含まれます。検証済みのユーザーエージェント文字列がないボット、Googlebot と Applebot(拡張機能では模倣しません)、Google-Extended などの制御用トークンについては、robots.txt の判定のみを返します(http: "not_probed")。

どこで何が実行されるか

  • すべての処理はお使いのマシン上で実行されます。呼び出しごとに Chrome がヘッドレスで起動し、処理後に終了します。
  • analyze_page はその Chrome でページを読み込みます。ページは独自のリソースをリクエストし、生の HTML は拡張機能と同様にページ自体から 3 回リクエストされます。
  • check_ai_bots は Node から /robots.txt と URL を約 20 回、順番にリクエストします。Chrome のユーザーエージェントと各ボットのユーザーエージェントを使用します。
  • 分析コードは、ブラウザーの DOM パーサーを必要とするため、空白の Chrome ページで実行されます。

プライバシー

分析対象サイト(および、そこからリダイレクトされる先やリソースを読み込むアドレス)へのリクエストを除き、データが外部に送信されることはありません。分析、テレメトリー、アカウント、保存データは一切ありません。呼び出しごとに新しい一時的な Chrome プロファイルを使用し、終了時に破棄します。

拡張機能との既知の違い

  • 拡張機能 API を使わないとクローズドシャドウルートにはアクセスできないため、そのテキストはレンダリング済み側には存在しないものとして扱われます。
  • ブラウザーはヘッドレスで、1280x720、en-US に設定されており、ログイン情報や Cookie はありません。ユーザーエージェントは Headless マーカーを含まない Chrome のものです。
  • check_ai_bots はブラウザーではなく Node からリクエストを送信するため、TLS フィンガープリントと一部のヘッダーが Chrome と異なり、Cookie も送信されません(ボットのプローブでは拡張機能も Cookie を送信しません)。レンダリング済みのページが読み込まれず、document.characterSet を読み取れないため、文字セットのフォールバックは utf-8 です。

開発

pnpm install
pnpm build       # bundles the page scripts and the server into dist/
pnpm typecheck
pnpm parity      # compares this server with the extension's panel on 20 URLs (build the extension in the repo root first)

ライセンス

AGPL-3.0-only。

コメント

MCP は初めてですか?

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

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