スキャナーの判定基準
スキャナーの判定基準
判定は 3 つ、ルールは公開。おかしいと思ったら教えてください。そのフィードバックで良くなります。
- エージェント対応
- ページが WebMCP ツールを 1 つ以上登録し、リンターがエラーを見つけず、エージェント対応スコアが 70 以上の状態です。名前が長いといった警告は妨げになりません。
- あと少し
- ツールは登録されていますが、少なくとも 1 つにリンターエラーがある(
invalid-name,duplicate-name,missing-description,invalid-input-schema,invisible-unicode、またはサイズが上限を超えている)か、スコアが 70 未満です。 - 未対応
- WebMCP ツールが 1 つも登録されていません。代わりにページを読む場合、エージェントが使うトークン数を表示します。
スキャンの流れ
- 当社のサーバー上のヘッドレス Chrome で、Cookie もログインもなしにページを開きます。
- ページのスクリプトが動く前に WebMCP ホストを追加し、エージェントのブラウザーと同じようにツールを登録させます。古い navigator.modelContext と provideContext も受け付けるので、それらで作られたサイトのツールも表示されます。
- ページが読み込まれ、ツールが出そろったら、各ツールの名前・説明・入力スキーマ・アノテーションを読み取り、リンターにかけます。
- トークン数はページのテキストから見積もります:文字数を 4 で割った値です。
- スコアのために、同じブラウザーがサイトの robots.txt、llms.txt、サイトマップ、Markdown 版、Link ヘッダー、Agent Skills インデックス、API カタログを取得し(各 3 s、同一オリジン、Cookie なし)、それぞれが存在するかどうかだけを記録します。
- スコアは 100 点満点:WebMCP 50(ツール 25、lint エラーなし 15、全ツールに説明 5、全ツールにアノテーション 5)、エージェントのコスト 15(ツールがあれば満点、なければページのトークン数で決定)、読みやすさ 20、見つけやすさ 15(チェックごとに 5)。
- 結果は 10 分間再利用され、新しいスキャンは 1 人 1 分に 1 回までです。
判定がおかしいと思ったら:スキャンのリンクを添えて issue を作成