本文へスキップ

スキャナーの判定基準

スキャナーの判定基準

判定は 3 つ、ルールは公開。おかしいと思ったら教えてください。そのフィードバックで良くなります。

エージェント対応
ページが WebMCP ツールを 1 つ以上登録し、リンターがエラーを見つけず、エージェント対応スコアが 70 以上の状態です。名前が長いといった警告は妨げになりません。
あと少し
ツールは登録されていますが、少なくとも 1 つにリンターエラーがある(invalid-name, duplicate-name, missing-description, invalid-input-schema, invisible-unicode、またはサイズが上限を超えている)か、スコアが 70 未満です。
未対応
WebMCP ツールが 1 つも登録されていません。代わりにページを読む場合、エージェントが使うトークン数を表示します。

スキャンの流れ

  1. 当社のサーバー上のヘッドレス Chrome で、Cookie もログインもなしにページを開きます。
  2. ページのスクリプトが動く前に WebMCP ホストを追加し、エージェントのブラウザーと同じようにツールを登録させます。古い navigator.modelContext と provideContext も受け付けるので、それらで作られたサイトのツールも表示されます。
  3. ページが読み込まれ、ツールが出そろったら、各ツールの名前・説明・入力スキーマ・アノテーションを読み取り、リンターにかけます。
  4. トークン数はページのテキストから見積もります:文字数を 4 で割った値です。
  5. スコアのために、同じブラウザーがサイトの robots.txt、llms.txt、サイトマップ、Markdown 版、Link ヘッダー、Agent Skills インデックス、API カタログを取得し(各 3 s、同一オリジン、Cookie なし)、それぞれが存在するかどうかだけを記録します。
  6. スコアは 100 点満点:WebMCP 50(ツール 25、lint エラーなし 15、全ツールに説明 5、全ツールにアノテーション 5)、エージェントのコスト 15(ツールがあれば満点、なければページのトークン数で決定)、読みやすさ 20、見つけやすさ 15(チェックごとに 5)。
  7. 結果は 10 分間再利用され、新しいスキャンは 1 人 1 分に 1 回までです。

リンターの全ルールと理由

判定がおかしいと思ったら:スキャンのリンクを添えて issue を作成