CertScore.ai MCP Light について
CertScore.ai MCP Lightは、MCPクライアントを使うエージェント向けの、認証不要な公開サイトのプライバシースキャナーです。Cookieやトラッカー、同意機能、プライバシーポリシー、HTTPS/TLSの観察結果と証拠を、カバレッジ上の制限とともに返します。
主な機能
- 01Cookieとストレージのスキャン
- 02トラッカーとベンダーの確認
- 03同意機能とプライバシーポリシーの調査
- 04HTTPS/TLSの観察結果の提示
- 05スキャン状態、結果、証拠ページの取得
活用シーン
- 01リリース前のサイトのプライバシー確認
- 02公開ベンダードメインのレビュー
- 03ランディングページのトラッカー調査
- 04人によるプライバシーレビュー用の証拠収集
MCP 対応
認証不要のStreamable HTTP MCPエンドポイントhttps://mcp.certscore.ai/mcp/lightで4つのツールを公開します。スキャン開始、状態・結果の取得、レポート証拠の参照ができます。自動観察は法律上の助言やコンプライアンス判定ではありません。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.certscore.ai/mcp/lightclaude mcp add --transport http ai-certscore-mcp-light https://mcp.certscore.ai/mcp/light{"mcpServers":{"ai-certscore-mcp-light":{"type":"http","url":"https://mcp.certscore.ai/mcp/light"}}}Cursor で開く{"servers":{"ai-certscore-mcp-light":{"type":"http","url":"https://mcp.certscore.ai/mcp/light"}}}VS Code で開く{"mcpServers":{"ai-certscore-mcp-light":{"type":"http","url":"https://mcp.certscore.ai/mcp/light"}}}{"mcpServers":{"ai-certscore-mcp-light":{"serverUrl":"https://mcp.certscore.ai/mcp/light"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
4| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | スキャンする公開 URL またはドメイン。 |
| scanFrom | enum | いいえ | 新たにキューに追加するスキャンの任意の実行リージョン:eu_de、eu_ie、california。省略時はサービスのデフォルトが使用されます。eu_de | eu_ie | california |
| freshness | enum | いいえ | スキャンの鮮度ポリシーです。latest は利用可能な場合に条件を満たす最近の完了結果を再利用し、refresh は新しいスキャンを要求します。デフォルトは latest です。latest | refresh |
| taskContext | object | いいえ | 利用状況の調査に使用する、任意の呼び出し元宣言の目的と統合 ID/バージョンです。ユーザーが明示的に同意し、製品改善のために機密情報を含まない簡潔な質問を共有する場合に限り、questionSummary を含め、user_wording または agent_paraphrase とラベル付けします。チャット履歴、個人情報/アカウント情報、秘密情報、URL は決して含めないでください。省略してもスキャンには影響しません。 |
| taskContext.purpose | enum | いいえ | prelaunch_review | vendor_review | tracking_check | consent_gpc_check | policy_review | recheck | other | unknown |
| taskContext.skillVersion | any | いいえ | |
| taskContext.integrationId | string | いいえ | |
| taskContext.questionSource | enum | いいえ | user_wording | agent_paraphrase |
| taskContext.questionSummary | string | いいえ | |
| taskContext.integrationVersion | any | いいえ | |
| taskContext.shareForImprovement | boolean | いいえ |
詳細
翻訳後に原文が更新されています。最新の内容は原文をご確認ください。
CertScore.ai MCP Light
推奨される発見方法:認証不要の Streamable HTTP による、MCP クライアント向けウェブサイトプライバシースキャンです。 エージェントに公開 URL を渡すと、Cookie とストレージ、トラッカーとベンダー、同意コントロール、プライバシーポリシーの表示箇所、HTTPS/TLS のシグナルに関する、根拠に基づく観察結果を取得できます。
CertScore.ai MCP Light は、GitHub MCP Registry(GitHub MCP Registry)に ai.certscore/mcp-light として登録され、公開されています。4 つのツールを提供し、サインアップ、API キー、ベアラートークン、ブラウザーでのログイン、OAuth は不要です。
| エンドポイント | https://mcp.certscore.ai/mcp/light |
| トランスポート | Streamable HTTP |
| 認証 | なし |
| ツール | certscore_scan_site、certscore_get_scan_status、certscore_get_scan_bundle、certscore_get_report_evidence_page |
| 現在のホストバージョン | 0.2.30 |
MCP Light を始める · Cursor にインストール · インストール手順を読む
約 1 分で試す
Codex に公開エンドポイントを追加します。
codex mcp add certscore --url https://mcp.certscore.ai/mcp/light
次に、次のように依頼します。
https://ergoveritas.com/.well-known/certscore-canary/sentinels/broad-baseline.html のウェブサイトプライバシーリスクを確認してください。主な検出結果、裏付けとなる証拠、カバレッジの制限、次に確認すべき内容を説明してください。
ErgoVeritas は、意図的なテストシグナルを備えた、安定した自社所有のカナリアです。通常の確認では、評価する権限のある公開 HTTP または HTTPS の URL に置き換えてください。
Light MCP — 認証不要:まずはこちら
Light は、初めて利用する場合や、エージェントの低頻度ワークフローに適した、匿名で利用できる Streamable HTTP エンドポイントです。
Light:
https://mcp.certscore.ai/mcp/light
Authentication: None
Tools: certscore_scan_site, certscore_get_scan_status, certscore_get_scan_bundle, certscore_get_report_evidence_page
Light では、セッション、リクエスト元 IP、共有作成数に上限が設けられています。最新のポリシーについては、https://certscore.ai/developers/mcp#light-usage-limits をご覧ください。再利用可能な既存の結果は、利用枠を消費しません。
Light は、公開ウェブサイト向けの無料ウェブサイトプライバシースキャナー兼 Cookie チェッカーです。事前同意時の Cookie とストレージ、トラッカーとベンダー、Cookie バナー、CMP と同意コントロール、管轄区域に依存しない GPC の比較、アクション後の「Accept」と「Reject」の経路に関する観察結果または明示的な制限、プライバシーポリシーと透明性に関する表示箇所、GDPR/ePrivacy と CCPA/CPRA のレビュー用シグナル、HTTPS/TLS の通信に関する観察結果について、標準化された証拠と検出結果を返すことができます。一般的な用途には、リリース前のプライバシー確認、公開ベンダードメインのレビュー、ランディングページのトラッカー調査、監査のトリアージ、人によるプライバシーレビュー前の証拠収集などがあります。
初回実行時のプロンプト:
https://ergoveritas.com/.well-known/certscore-canary/sentinels/broad-baseline.html のウェブサイトプライバシーリスクを確認してください。主な検出結果、裏付けとなる証拠、カバレッジの制限、次に確認すべき内容を説明してください。
Light の標準ワークフロー:
- 公開 URL を指定して
certscore_scan_siteを呼び出します。 - 再試行可能なエラーに
scanIdがない場合は、retryAfterSeconds待ってからcertscore_scan_siteを再試行します。 preConsentPreviewがある場合、これはチェックポイントでの受動的な観察結果を部分的にプレビューしたものです。カウントは部分的なもので、スキャン全体の集計ではありません。最終的な合計として報告しないでください。正規の検出結果やスコアは含まれておらず、完了済みのバンドルに代わるものではありません。- 結果がキュー待ち、実行中、または最終処理中の場合は、
scanIdを保持します。 scanIdのみを使用してcertscore_get_scan_statusをポーリングします。scanIdが存在するまでポーリングしないでください。- 終端ステータスになった時点でポーリングを停止します。
completedまたはcompleted_limitedの場合は、スキャン結果全体を報告する前にcertscore_get_scan_bundleを呼び出し、最終的に返された集計、正規の検出結果、制限事項を使用します。それ以外の終端状態では、返されたエラーの案内に従ってください。 - コンパクトな検出結果の確認には
detail=findingsを使用します。 - 検出結果のダイジェスト、範囲を限定した外部リクエストの例、ポリシー対象候補、参照情報には、検出結果が投影されていない場合も含め、
detail=evidenceを使用します。外部スクリプトへのリクエストだけでは、トラッキングが行われているとは判断できません。保持されたレポート証拠を詳しく確認するにはcertscore_get_report_evidence_pageを使用します。 - 結果が切り詰められている場合は、
recommendedNextActionに従うか、maxBytesを増やしてください。 - 検出結果を、カバレッジの制限事項およびレポート URL とあわせて要約します。
推奨されるバンドルのサイズ上限は、summary が maxBytes=5000、findings が maxBytes=8000、evidence が maxBytes=8000、full が maxBytes=12000~25000 です。MCP Light は、結果が実用的なクライアントの上限内に収まるよう、応答サイズの上限を 25,000 バイトにしています。これより大きいサイズ上限が要求された場合も報告されますが、実際には上限値で制限されます。下限の 5,000 バイトでは、任意のインベントリ情報や重複するエンベロープフィールドよりも、コアとなる検出結果の簡潔な行が優先されます。検出結果ごとに繰り返される URL が省略された場合は、evidenceUrlTemplate と返された検出結果 ID を使って contentUrls.findings を参照し、同じ正規の証拠エンドポイントを導出できます。canonicalFindingsComplete、requestedMaxBytes、effectiveMaxBytes、responseCeilingBytes、actualBytes、fullPayloadBytes、truncated、omittedSections、nextRecommendedMaxBytes、および返されたレポートまたは証拠のコンテンツ URL を確認してください。canonicalFindingsComplete が true の場合、省略されたエンベロープの詳細が必要な場合にのみ再試行してください。
検証プロンプト:
利用可能な CertScore ツールを一覧表示してください。リソースがサポートされている場合は certscore://example-report を読み取ってください。サポートされていない場合は、scanId=9ba99a8c-b1ad-44c1-985f-92cef760ab40 を指定して certscore_get_scan_bundle を呼び出してください。保持されているサンプルの元の日付とカバレッジを報告してください。利用できない場合は、その旨を報告してください。接続をテストするために新しいスキャンを作成しないでください。
接続の検証は、認証ページを表示せずに 4 つの Light ツールが一覧表示され、保持されているサンプルを元の日付とカバレッジ付きで取得できた場合に成功します。過去のサンプルが利用できなくても、代わりのスキャンを作成することは認められません。最初の Web サイトの確認では、スキャンの作成時に安定したスキャン ID と、新規作成か再利用かの判断が別途返されます。再利用の条件を満たす場合、新規スキャンのクォータは消費されません。
CertScore の結果は、公開 Web サイトをスキャンして得た自動観察結果です。No-go、未観測、カバレッジ制限ありという結果は、コンプライアンス違反がないこと、リスクが存在しないこと、または法的地位の証明にはなりません。検出結果を根拠として扱う前に、保持された証拠と該当する状況を確認してください。
スキャンは、ある時点で観察可能な動作を示します。公開サイトは、後日のアクセス時や別の実行コンテキストでは、異なる動作をすることがあります。CertScore の検出結果とスコアは、人間およびエージェントによるレビューを支援するものであり、法的助言、認証、またはコンプライアンスの判定ではありません。
どの MCP ルートを使えばよいですか?
| ルート | アクセス | 最適な用途 |
|---|---|---|
| Light MCP — 認証不要 | アカウント、API キー、ベアラートークン、ブラウザーログイン、OAuth は不要です。4 つのツールを利用できます。現在のセッション、リクエスターの IP、共有制限が適用されます:https://certscore.ai/developers/mcp#light-usage-limits。条件を満たす再利用は無料です | 初めての利用、テスト、機能の確認 |
| Hosted MCP — OAuth | OAuth スコープ、高い利用上限、履歴、承認済みの高度なツールを利用できる、ホスト型の Streamable HTTP | 本番環境、チーム、管理対象のリモートクライアント |
| Local MCP — スコープ付き API キー | スコープで許可されたキーとツールを使用する、ローカルの stdio | バックエンド、ローカル環境、制御された自動化ワークフロー |
完全版/認証済みの Streamable HTTP エンドポイントは https://mcp.certscore.ai/mcp です。認証、高い利用上限、履歴、高度なツールがワークフローで必要になったら、Light からこちらに切り替えてください。Light から認証済みアクセスに切り替えても、主要な識別子と標準的なレスポンスフィールドには互換性があります。
重み付き読み取り制限
MCP のスキャンリソースの読み取りには、CertScore API への直接アクセスと同じ、重み付けされたローリング方式のポリシーが適用されます。Hosted MCP は、複合呼び出しが上限を超える場合、内部への呼び出しを行う前に拒否します。Local MCP も、基盤となる API によって同じ保護を受けます。有効なステータスリソースのみをポーリングし、終端ステータスに達したら停止してください。終端状態のスキャンリソースを繰り返し取得せず、再試行する前に Retry-After を尊重してください。現在の制限と重み付けは、https://certscore.ai/developers/reference#read-rate-limits、および公開 OpenAPI ドキュメントの x-certscore-read-rate-policy 拡張に記載されています。
認証済みおよびローカル MCP のツールリファレンス
以下のセクションでは、より広範な認証済みおよびローカルパッケージのインターフェースについて説明します。Light の契約で公開されるのは、certscore_scan_site、certscore_get_scan_status、certscore_get_scan_bundle、certscore_get_report_evidence_page です。
-
certscore_scan_site- ユーザーから依頼されたウェブサイトの公開前レビュー、ベンダー評価、Cookie/トラッカーの一覧作成、同意/GPC の調査、プライバシーポリシーのレビューに使用します。公開 URL またはドメインがあれば利用できます。プライバシースキャンを作成するか、条件を満たす最近完了したスキャンを再利用します。デフォルトの freshness=latest を使うと、新規スキャンのクォータを節約できます。refresh は、明示的に新しいスキャンを依頼された場合、または修正後に再確認する場合にのみ使用してください。scanId を保持し、スキャンが有効な間だけ retryAfterSeconds に従って certscore_get_scan_status をポーリングしてから、certscore_get_scan_bundle を読み取ります。予備的な preConsentPreview は、最終的な検出結果や合計値ではありません。対象範囲には、同意前のストレージ、トラッカー、同意および CMP のシグナル、プライバシーポリシーの開示内容、通信セキュリティ、GDPR/ePrivacy または CCPA/CPRA のレビュー用シグナルが含まれます。結果は自動化された観測結果であり、法的助言、認証、またはコンプライアンスの判定ではありません。https://certscore.ai/developers/mcp. ワークフローに関する注意:ランタイムレーンが完了したとき、または6秒のチェックポイントに達したとき、新しいスキャンにはpreConsentPreviewが含まれる場合があります。このプレビューでは、取得した合計数と、返却対象が制限された識別情報を分けて示します。trackingVendorCountには、インフラストラクチャ、セキュリティ、同意管理のベンダーは含まれず、これらはoperationalVendorsに表示されます。互換性プレビューのカウントは、より広範なtrackerCountを含む完了済みインベントリと比較できません。certscore_get_scan_statusで処理を続け、並行してポーリングしないでください。また、スキャンがアクティブな間はcertscore_scan_siteを再送信しないでください。続いて、completedまたはcompleted_limitedでcertscore_get_scan_bundleを呼び出してください。 -
certscore_get_scan- API v2の公開安全なスキャンリソースを取得します。利用可能な場合、制限付き完了の不承認判定、理由別のガイダンス、タイミング情報が含まれます。 -
certscore_get_scan_status- 安定したCertScoreのscanIdに対するライフサイクルステータスを返します。アクティブなレスポンスには、フェーズ、ハートビート、推定進捗、retryAfterSeconds、場合によっては制限付きの暫定的なpreConsentPreviewが含まれます。ターミナル状態のレスポンスには、完了ステータス、利用可能な場合はCertScoreスコアとリスクメタデータ、カバレッジ、保存された実行リージョンとタイムスタンプ、レポートURL、次のアクションを示すフィールドが含まれます。暫定的な観測結果は、完了済みの検出結果とは別に扱われます。 -
certscore_get_report- 対象を絞った追加取得:高シグナルのTextContentと型付きのstructuredContentを含む、制限付きのPulseレポートを取得します。顧客向けに安全な不承認メッセージも含まれます。プライバシー全般に関する質問には、重複した呼び出しを避けるため、主要な検出結果、制限事項、同意前の行をまとめて取得できるcertscore_get_scan_bundleを最初に使用してください。 -
certscore_get_evidence- 対象を絞った追加取得:簡潔なTextContentのダイジェストと型付きのstructuredContentを含む、制限付きの公開安全なエビデンスパケットを取得します。プライバシー全般に関する質問には、certscore_get_scan_bundleを最初に使用してください。生のCookie値、生の本文、機密ペイロード、DOM全体、未編集のクエリ値は含まれません。 -
certscore_get_scan_bundle- 完了済み、または制限付き完了のスキャンに対する主要な回答です。主要な検出結果、次のステップ、裏付けとなるエビデンス、スコア、日付/リージョン、カバレッジ、レポートURLが含まれます。既存のscanIdがあれば十分で、新しいスキャンは作成されません。エビデンスインデックスが示すのはレスポンスの配信状況であり、エビデンスが存在しないことではありません。任意の次のアクションから、レポートの詳細な表、トラッキング作業資料、JSON/CSVエクスポートを取得できます。検出結果がないスキャンも含め、リクエスト例やポリシー候補を取得するにはdetail=evidenceを使用してください。detail=fullでは、保持されているコンテキストを制限付きで追加します。返却数/合計数と省略メタデータを保持してください。Accept/Rejectの実行が成功したという状態は、クリックと制限付き観測が完了したことを意味します。succeeded_with_confirmationでは、同意の決定も追加で検証されます。クリック後に保持された事実は、登録された決定とは別に扱われます。取得が行われなかった場合や失敗した場合は、明示的に制限ありとして扱われます。スコアへの影響には主要な検出結果を使用してください。後続のスキャンで検出結果が見つからなくても、修正されたことの証明にはなりません。結果は公開ウェブの自動観測であり、法的助言、認証、またはコンプライアンス判定ではありません。実行成功のステータスはどちらもカウントしてください。登録済みの成功パスではafterActionが省略される場合があり、過去の実行記録がない場合は利用不可として扱います。 拒否後の観察は、条件を満たす最初の非必須アクティビティ、または保持された同意シグナルとの矛盾を検出した時点で意図的に終了する場合があります。
termination.kind=evidence_satisfiedを伴う観察の確認結果は、返された観察に対する肯定的な証拠であり、Reject Path の結果が不確定であることを意味しません。coverageLimitationsは、測定されなかった追加の動作または永続性のみを示します。 -
certscore_export_findings- 構造化された所見に加え、完了済み・制限付きの実施不可判定と、後続のレビューまたはチケット管理ワークフロー向けのガイダンスを返します。 -
certscore_list_findings- 対象を絞った追加確認:正規パイプラインによってすでに投影された、範囲が限定された API v2 の公開安全な所見を、一致する高シグナルの TextContent および型付きの structuredContent とともに一覧表示します。プライバシーに関する広範な質問には、まず certscore_get_scan_bundle を使用してください。 -
certscore_get_pre_consent_cookies_trackers- 対象を絞った追加確認:範囲が限定された行レベルの公開安全な同意前の Cookie/トラッカーの証拠を、一致する TextContent および型付きの structuredContent とともに取得します。サイトで同意前トラッキングを確認するなど、新たな広範なリクエストには、まず certscore_scan_site、次に certscore_get_scan_bundle を使用してください。 -
certscore_explain_finding- 投影された所見を1件、公開されている証拠、注意事項、レビュアーが次に行うべき手順、および該当する場合は理由固有の実施不可の背景とともに説明します。 -
certscore_get_latest_domain_scan- ドメインの最新の適格な API v2 公開安全スキャンを取得します。
ステータスの来歴フィールドは、それぞれ異なる情報を示します。provenance.retrievalMode は現在の読み取り方法を示し、provenance.creationDecision は保持されている元の新規作成/再利用の判定、または unknown を報告し、provenance.scanAgeSeconds は取得可能な場合に数値でスキャンの経過時間を報告します。スキャン ID の参照だけでは、再利用されたことを証明できません。
バンドルの予算が厳しい場合、短い正規の nextStep アクションは、所見を押し出さずに収まる場合に限り残ります。長いアクションや証拠の詳細は、返される正規 URL またはより大きな完全版のティアから確認できます。
certscore_get_latest_domain_pre_consent_cookies_trackers- 対象を絞った追加確認:ドメインの最新の適格なスキャンから、範囲が限定された行レベルの公開安全な同意前の Cookie/トラッカーの証拠を、一致する TextContent および型付きの structuredContent とともに取得します。現在のサイトを広範にレビューする場合は、まず certscore_scan_site、次に certscore_get_scan_bundle を使用してください。
初期の MCP サーフェスには、アカウントのスキャン閲覧ツールやスキャン比較ツールは意図的に含まれていません。
スキャンのタイミングフィールド
API v2 のスキャンリソースを利用する MCP ツールは、CertScore に十分なタイミングの証拠がある場合、スキャンのタイミング情報を返します。
startedAtcompletedAtscanTimeSeconds
これは、API v2 のスキャンリソースまたはジョブを返す certscore_scan_site、certscore_get_scan、および scanId を指定して呼び出した certscore_get_scan_status に適用されます。scanTimeSeconds: null はタイミング情報が利用できないか不完全であることを意味し、0 として表示してはいけません。
完了した Light の結果が正規の結果です。certscore_scan_site、終端状態の certscore_get_scan_status、および certscore_get_scan_bundle は、同じスコア、リスクレベル、カバレッジ、タイミングフィールドを返します。スコアには scoreStatus、scoreVersion、scoreUpdatedAt が含まれます。永続化された正規レポートのプロジェクションが準備できるまで、スキャンは finalizing のままです。そのため、完了レスポンスには常に scoreStatus: "final" が含まれます。
no-go の結果では、MCP のテキストで、保持されたアクセスブロッカー、「スコア未評価」、証拠の抜粋、次のアクション、再試行の案内を先頭に示します。構造化レスポンスには resultDisposition、noGo、null のスコア/リスク、および空の検出結果が保持されます。バンドルの予算が厳しい場合は、任意のレーン診断より先に、そのブロッカーと対処方法を優先して残します。省略された診断は mcpMetadata.omittedSections に記載されます。no-go の full リクエストで、完全なレポートを捏造することはありません。
この値のラベルは「CertScore スコア」であり、コンプライアンススコアではありません。対象は、公開ウェブのスキャンで観測できるシグナルのみです。クライアントは、返された証拠にない技術を推測したり、仮定上の準拠ベースラインとこの値を比較したり、法令遵守の状況を推測したりしてはいけません。
すべての failed、expired、または rate_limited 状態には、code、message、retryable、retryAfterSeconds、recommendedNextAction を含む、範囲が限定された error オブジェクトが含まれます。
Light レビューのフォローアップ
完了したバンドルには、証拠インデックスと、タスクに関連するレポートの証拠および追跡用 JSON/CSV エクスポートに関する任意の次のアクションが含まれます。提供状況のラベルはレスポンスを説明するものであり、証拠の有無を示すものではありません。結果が新規か再利用かを要約してください。後日、明示的にリクエストされた新しい再チェックに備えて、ベースラインのスキャン ID、日付、実行リージョンを保持してください。検出結果がないことは、修正が確認されたことを意味しません。有用な場合に限り、修正方法、またはユーザーが選択した別のサイトに対する同じレビューを提示してください。Light は、任意の certscore_launch_review、certscore_compare_scans、certscore_remediation_checklist プロンプトと、certscore://project-instructions リソースを提供します。certscore://example-report は、スキャンを作成せずに取得をテストします。
軽量バンドルの詳細度とバイト数の上限
各バンドルでは、選択した detail モードを宣言します。summary では、概要、正式な結果、最大5件の簡潔な投影済み検出項目、簡潔な行単位の同意前の Cookie/トラッカーの証拠、カバレッジ、制限事項、件数、レポート URL を返します。これにより、会話型 MCP クライアントは、2つ目のツールを使わずに、投影された同意制御、CMP コンテキスト、通信、GDPR/ePrivacy の透明性、ソーシャル/メディアの埋め込み、アクセシビリティ、開示、その他返されたレビューシグナルを列挙できます。返されるのは、正式な投影に実際に含まれるカテゴリのみです。検出項目とインベントリの各セクションでは、それぞれ total、returned、truncated を宣言します。各簡潔な検出項目には、公開 API v2 の証拠アンカーが保持されます。各インベントリ行には、Cookie/トラッカーの識別情報、存在する場合は Cookie 名、ベンダー、目的、カテゴリ、初回観測時刻、ドメイン、証拠の分類、信頼度が含まれます。findings では、検出項目のデフォルト上限が20件に引き上げられます。evidence では、上限付きの証拠ダイジェストと参照情報が追加されます。full では、有効なバイト数の上限内で、重複しない利用可能なすべてのセクションが追加されます。検出項目、上位の検出項目、通信セキュリティは、正式な最上位バンドルセクションで一度だけ返されます。fullPayloadBytes が Light の応答上限を超える場合は、上限を超えて再試行せず、正式なコンテンツ URL を使用してください。
TextContent は8,000文字に制限されており、大きな表やネストされた JSON の代わりに、短いプレーンテキストの行を使用します。概要の正式な事実と投影された検出項目を行インベントリより先に提示するため、証拠の種類のひとつがほかの情報を圧迫することはありません。完全なプロファイルの構造化バンドルは、デフォルトで50,000バイトに設定されており、呼び出し側は5,000~200,000バイトの範囲で上限を指定できます。Light ではデフォルトで25,000バイトの応答上限が適用されます。いずれかの形式で返却項目を省略する必要がある場合は、その旨を明示し、合計数と切り捨てのメタデータを保持します。
mcpMetadata には、常に requestedMaxBytes、effectiveMaxBytes、responseCeilingBytes、responseBudgetClamped、actualBytes、fullPayloadBytes、truncated、canonicalFindingsComplete、truncationReason、omittedSections、deduplicatedSections、nextRecommendedMaxBytes、omittedContentAvailableViaUrl、contentUrls が含まれます。バイト数が逼迫した場合は、簡潔なコア検出項目の行より先に、任意の詳細情報とインベントリ行が削減されます。canonicalFindingsComplete によって、投影された検出項目が完全か、あるいはそれを含む応答全体の一部が省略されているかを区別できます。nextRecommendedMaxBytes は、段階的な再試行に必要な増分ではなく、要求された階層全体を返すために必要なサイズを丸めた値です。階層全体が MCP の上限を超える場合、応答では利用可能なレポート/証拠 URL をエージェントに案内します。
入力検証エラーは引き続き MCP の -32602 エラーとなり、影響を受けたフィールドと安全な次のアクションを示す構造化された invalid_arguments 詳細も含まれます。エラー結果には、簡潔なテキストと機械可読な詳細が含まれます。成功した結果では、型付きの結果を structuredContent に格納します。スキャンバンドルでは、クライアントとの互換性を保つため、行単位の証拠の要約も上限付きで TextContent に表示します。
Light のワークフローは次のとおりです。
- 公開 URL を指定して
certscore_scan_siteを呼び出します。 - 再試行可能なエラーに
scanIdがない場合は、retryAfterSeconds待ってからcertscore_scan_siteを再試行します。ポーリングはしないでください。 - 結果がキュー待ち、実行中、または最終処理中の場合は、
scanIdを保持し、その ID のみを指定してcertscore_get_scan_statusをポーリングします。 - 終端ステータスになったら、ポーリングを停止します。
completedまたはcompleted_limitedの場合は、certscore_get_scan_bundleを呼び出します。 - バンドルが切り捨てられている場合は、
recommendedNextActionに従い、maxBytesを増やすか、一覧に記載されたコンテンツ URL を開きます。 - CertScore のスコア、リスク、同意前の行、検出項目、カバレッジ、制限事項、レポート URL を要約します。ただし、no-go、未観測、または限定的なカバレッジを、コンプライアンスの証明として扱わないでください。
完了済みの限定的な不可判定結果
不可判定スキャンは、トランスポート障害ではなく、利用可能な端末結果です。該当するツールでは、status: "completed_limited"、resultDisposition: "no_go"、安定した理由コード、顧客向けの安全なタイトルと説明、limitationKind の帰属、再試行の案内、および保持されている場合は範囲を限定した evidenceExcerpt が維持されます。将来追加される未知の理由には、reasonCode: "unknown" として構造化された状態を保ちながら、汎用の顧客向け文言が使用されます。
ホスト型 MCP — OAuth
OAuth 対応の MCP クライアントは、以下に接続できます。
https://mcp.certscore.ai/mcp
ディスカバリーエンドポイント:
https://mcp.certscore.ai/.well-known/oauth-protected-resource/mcp
https://certscore.ai/.well-known/oauth-authorization-server
ホスト型サービス全体では、PKCE を使用した OAuth 認可コードフローを使用します。有効なワークスペースのメンバーは、各プランで登録済みの OAuth クライアントを通じて、scan:read、scan:create、mcp を使用して接続できます。既存の制限が適用されます。利用資格、認可、再接続の正式な動作については、https://certscore.ai/developers/mcp#hosted-oauth-start を参照してください。ローカルのスコープ付き API キーポリシーは別途適用されます。
アカウントや OAuth の設定を行わずに、少量のエージェントディスカバリーを行う場合は、認証不要のエンドポイントを使用してください。
https://mcp.certscore.ai/mcp/anonymous
アカウント不要の最も簡単なワークフローには、このドキュメントの先頭にある Light クイックスタートを使用してください。OAuth メタデータは https://mcp.certscore.ai/mcp にのみ適用されます。
ローカル MCP — スコープ付き API キーの設定
macOS では Homebrew を使ってインストールします。
brew tap ergoveritas1-alt/certscore https://github.com/ergoveritas1-alt/certscore.ai
brew install --cask certscore-mcp
この cask は、永続的なローカルバイナリを使用したいユーザー向けに、ビルド済みの MCP コマンドをインストールします。
インストール済みのコマンドを MCP クライアントから使用します。
{
"mcpServers": {
"certscore": {
"command": "certscore-mcp",
"env": {
"CERTSCORE_API_KEY": "YOUR_TOKEN",
"CERTSCORE_BASE_URL": "https://certscore.ai"
}
}
}
}
ローカル開発では、このモノレポから実行します。
CERTSCORE_API_KEY=... pnpm mcp:certscore
DB マイグレーションの適用後、スコープ付きのプレビューキーを生成します。
pnpm db:migrate
pnpm mcp:certscore:generate-key -- --name "CertScore MCP preview"
ローカルビルド後、ビルド済みパッケージを直接実行します。
CERTSCORE_API_KEY=... certscore-mcp
任意:
CERTSCORE_BASE_URL=https://certscore.ai
CERTSCORE_REQUEST_TIMEOUT_MS=300000
CERTSCORE_API_KEY は、ワークスペースまたはプレビューユーザー用のスコープ付き CertScore API トークンである必要があります。MCP サーバーはこれをベアラートークンとして Pulse に渡し、永続化しません。
ローカル MCP — スコープ付き API キーのアクセス
Stdio API キーには pulse:read と mcp が必要です。スキャンの作成には、さらに pulse:scan が必要です。ホスト型 OAuth では、登録済みクライアントの有効なワークスペースポリシーに基づき、scan:read scan:create mcp を使用します。現在の利用資格と検証済みクライアントの提供状況については、https://certscore.ai/developers/mcp#hosted-oauth-start を参照してください。
インストールの確認
certscore-mcp --version
certscore-mcp --help
CERTSCORE_API_KEY=... certscore-mcp doctor
CERTSCORE_API_KEY=... certscore-mcp doctor --check-auth
doctor コマンドは、バイナリの起動、バージョン出力、Node.js ランタイムとの互換性、設定済みの CertScore ベース URL、API v2 の稼働状況、API キーの有無を確認します。--check-auth を追加すると、スキャンを作成せずに /api/v2/auth/check に対して認証情報を検証できます。シークレットを出力したり、生のスキャナー成果物を調べたりすることはありません。
アカウント不要のエージェントスキャン経路
アカウントを作成できない、または OAuth を設定できないエージェントは、Authorization ヘッダーなしでパブリック API v2 のスキャン経路を使用できます。
curl -X POST https://certscore.ai/api/v2/scans \
-H "Content-Type: application/json" \
-d '{"url":"https://ergoveritas.com/.well-known/certscore-canary/sentinels/broad-baseline.html","freshness":"latest","scanFrom":"eu_ie"}'
新しい匿名スキャンは、リクエスト元 IP ごとに UTC の1日あたり20件までに制限されます。条件を満たす最近の結果を再利用する場合、クォータは消費されません。返されたステータスリソースをポーリングした後、検出結果またはエビデンスを取得してください。再利用によって現在のリクエストに対応できる場合も含め、より多くの利用枠が必要な場合は [email protected] にお問い合わせください。
MCP クライアントの設定例
Claude Desktop 形式の設定:
{
"mcpServers": {
"certscore": {
"command": "certscore-mcp",
"env": {
"CERTSCORE_API_KEY": "YOUR_TOKEN",
"CERTSCORE_BASE_URL": "https://certscore.ai"
}
}
}
}
Cursor の設定:
{
"mcpServers": {
"certscore": {
"command": "certscore-mcp",
"env": {
"CERTSCORE_API_KEY": "YOUR_TOKEN",
"CERTSCORE_BASE_URL": "https://certscore.ai"
}
}
}
}
Windsurf または汎用 stdio MCP クライアントの設定:
{
"mcpServers": {
"certscore": {
"command": "certscore-mcp",
"env": {
"CERTSCORE_API_KEY": "YOUR_TOKEN",
"CERTSCORE_BASE_URL": "https://certscore.ai"
}
}
}
}
コントリビューター向けのローカルリポジトリ設定:
{
"mcpServers": {
"certscore": {
"command": "pnpm",
"args": ["mcp:certscore"],
"cwd": "/path/to/WC01",
"env": {
"CERTSCORE_API_KEY": "YOUR_TOKEN",
"CERTSCORE_BASE_URL": "https://certscore.ai"
}
}
}
}
エージェントのワークフロー
- 公開 URL を指定して
certscore_scan_siteを呼び出します。再利用可能な適格結果があれば、そのまま完了扱いにできます。新しいスキャンでは安定したscanIdが返され、ランタイムの処理レーンが完了した場合、または 6 秒のチェックポイントに達した場合は、部分的なプレビューが返されることがあります。 preConsentPreviewがある場合は、取得された合計数と、返された範囲限定の識別情報を区別します。非運用のトラッキングベンダーにはtrackingVendorCountを使用し、operationalVendorsは分けて扱います。互換性プレビューのtrackerCountを、完了済みインベントリのより広範なtrackerCountと比較しないでください。これは検出結果、スコア、または最終結果ではありません。- ステータスが
queued、running、またはfinalizingの場合は、返されたscanIdを保持し、その ID のみを使用してcertscore_get_scan_statusをポーリングします。completed、completed_limited、failed、expired、またはrate_limitedでポーリングを停止します。 completedまたはcompleted_limitedの場合、スキャン結果全体を報告する前に、既定のdetail: "summary"を指定してcertscore_get_scan_bundleを呼び出します。最終的に返された集計、標準の検出結果、制限事項を使用します。さらに詳細な範囲限定コンテキストが必要な場合にのみ、findings、evidence、またはfullを使用します。- 標準スコア、リスク、検出結果、カバレッジ、制限事項、レポート URL、次のアクションを要約します。プレビュー、no-go、未観測、または限定的なカバレッジを、コンプライアンスの証明として扱わないでください。
標準の初回実行プロンプト:
これらの公開 URL をスキャンしてください。それぞれについて、certscore_scan_site を呼び出してください。preConsentPreview がある場合は、件数がチェックポイント時点の部分的なプレビューであり、スキャン全体の集計ではないことを明示して扱ってください。最終的な合計数として報告せず、ワークフローを続行してください。ステータスが queued、running、または finalizing の場合は、scanId を保持し、scanId のみを使用して certscore_get_scan_status をポーリングしてください。completed、completed_limited、failed、expired、または rate_limited でポーリングを停止してください。completed または completed_limited のスキャンでは、スキャン結果全体を報告する前に detail=findings を指定して certscore_get_scan_bundle を呼び出してください。最終的に返された集計、標準の検出結果、制限事項にはバンドルを使用してください。切り詰められている場合は、recommendedNextAction に従うか、maxBytes を増やしてください。標準スコア、リスクレベル、カバレッジ、検出結果、制限事項、レポート URL、次のアクションを報告してください。preConsentPreview、no-go、未観測、または限定的なカバレッジを、コンプライアンスの証明として扱わないでください。
- 個別の表示が必要な場合にのみ、
certscore_get_report、certscore_get_evidence、certscore_list_findings、またはcertscore_get_pre_consent_cookies_trackersを呼び出します。 - 特定の検出結果について、レビュー担当者が証拠と注意事項を必要とする場合は、
certscore_explain_findingを呼び出します。 - ユーザーがドメインの最新の適格な公開データを求めている場合は、
certscore_get_latest_domain_scanまたはcertscore_get_latest_domain_pre_consent_cookies_trackersを呼び出します。
certscore_scan_site は、結果が再利用されたか、鮮度の判断理由、匿名利用枠が消費されたか、1 日あたりの残り利用可能回数、UTC でのリセット時刻、推奨される次のツールを報告します。
freshness: "latest" を指定すると、CertScore は同じ正規化済みターゲットとスキャンリージョンについて、過去 24 時間以内に完了した適格なスキャンを再利用します。再利用可能な結果は、利用可能なページカバレッジを伴って完了しており、早期終了、ページなし、またはその他の再利用できない限定結果であってはなりません。再利用では匿名利用枠を消費しません。freshnessDecision は、最近の結果が再利用されたか、新しいスキャンがキューに追加されたかを示します。reusedScanAgeSeconds は、再利用された結果の経過秒数を報告します。
来歴情報では、現在の取得と、作成時の判断を分けて保持します。retrievalMode=creation_response は、結果が certscore_scan_site から取得されたことを意味します。retrievalMode=scan_id_lookup は、後続のツールが保持されたスキャンを ID で取得したことを意味します。creationDecision は、応答にその事実が保持されている場合に限り new_scan または reused_scan となり、それ以外の場合は unknown です。scan_id_lookup を、スキャンが再利用されたという主張に読み替えないでください。保持された経過時間または完了タイムスタンプが利用可能な場合、scanAgeSeconds は 0 以上の経過秒数を報告します。
{
"tool": "certscore_get_pre_consent_cookies_trackers",
"arguments": {
"scanId": "00000000-0000-4000-8000-000000000123"
}
}
{
"tool": "certscore_get_latest_domain_pre_consent_cookies_trackers",
"arguments": {
"domain": "ergoveritas.com",
"scanFrom": "eu_ie"
}
}
テーブルデータを要約する際は、ユーザーが行単位の JSON を求めている場合を除き、vendor、purpose、host で行をグループ化してください。
MCP の出力は、人間およびエージェントによるレビューを目的とした、自動化された公開ウェブ上の観測結果として扱ってください。法的助言、認証、またはコンプライアンスの判定ではありません。MCP ツールは、生のラベル、生のネットワークイベント、データの欠落、または表示のみのコンテキストから所見を推測してはなりません。
ライブスモーク
CERTSCORE_API_KEY=... pnpm mcp:certscore:smoke
任意:
CERTSCORE_MCP_SMOKE_URL=https://ergoveritas.com/.well-known/certscore-canary/sentinels/broad-baseline.html
CERTSCORE_API_KEY がない場合、スモークスクリプトはスキップメッセージを表示して正常終了します。
本番環境での完全なオペレータースモークを実行するには、WC01 リポジトリから次を実行してください。
CERTSCORE_ALLOW_PAID_ECS_SMOKE=1 pnpm ops:smoke:mcp-cli-production
このコマンドは、Homebrew でインストールされた certscore-mcp コマンドが、稼働中の https://certscore.ai に接続できることを検証します。まず、インストール済み CLI のバージョンがワークスペースのバージョンと一致することを確認します。次に、有効期間の短いプレビューキーを作成し、承認済みの ECS/Fargate 経路を通じて本番環境にハッシュのみを保存して、必須ツールを確認します。また、所見と同意前の Cookie/トラッカー行が空でないことを必須とし、その後、一時キーを失効させます。この独立した CLI チェックでは単発の Fargate タスクが起動されるため、明示的な費用発生への同意が必要です。ホスト型の保持スキャン対応読み取り専用カナリアには、pnpm ops:smoke:mcp-production を使用してください。
トラブルシューティング
- Codex で予期しない OAuth が発生する場合:サーバーを削除し、正確な Light URL
https://mcp.certscore.ai/mcp/lightを指定して追加し直してください。ベアラートークンは設定しないでください。 - Light への接続に成功した場合:Streamable HTTP の初期化が完了し、認証ページが開かず、
tools/listがcertscore_scan_site、certscore_get_scan_status、certscore_get_scan_bundleのみを返します。 - スキャン ID がない場合:エラーが再試行可能な場合に限り、
certscore_scan_siteを再試行してください。scanIdが存在するまで、certscore_get_scan_statusは呼び出さないでください。 - レート制限された場合:
retryAfterSecondsとrecommendedNextActionに従い、返された UTC リセット時刻まで待つか、利用可能な結果を再利用してください。 - 結果が再利用された場合:利用可能な以前のスキャンが再利用され、クォータは消費されなかったことを報告してください。
- バンドルが切り詰められている場合:まず
canonicalFindingsCompleteを確認してください。値が true の場合は、省略されたエンベロープの詳細のみを再試行してください。それ以外の場合は、nextRecommendedMaxBytesに従い、maxBytesを増やすか、返されたレポートまたは証拠コンテンツの URL を開いてください。 - URL が無効な場合:構造化された
invalid_arguments応答で指定されたフィールドを修正し、公開 HTTP または HTTPS の URL で再試行してください。 - 制限付き結果と失敗の違い:
completed_limited、no-go、未観測、および限定的なカバレッジは観測結果にすぎず、コンプライアンスの証明にはなりません。failed、expired、および接続エラーは、再試行の案内を伴う失敗です。 - コマンドが見つからない場合:Homebrew のインストールを再実行し、Homebrew の bin ディレクトリが
PATHに含まれていることを確認してください。 - API キーがない場合:MCP クライアントの環境に
CERTSCORE_API_KEYを設定し、certscore-mcp doctorを再実行してください。 - トークンが無効な場合:キーをローテーションするか、
[email protected]にスコープ付き API/MCP キーを申請してください。 - API に到達できない場合:
CERTSCORE_BASE_URLを確認し、https://certscore.ai/api/v2/healthが利用可能であることを確認してください。 - Homebrew tap が古い場合:
brew updateを実行してから、certscore-mcpを再インストールしてください。 - 古いリリースがキャッシュされている場合:tap を更新した後、
brew reinstall --cask certscore-mcpを実行してください。
Runbook
Homebrew のリリース手順については docs/certscore-mcp-homebrew-release.md を、キーの発行、スモークテスト、デプロイの検証、およびスキャンからレポートへのガードレールについては docs/certscore-mcp-preview-runbook.md を参照してください。
ホスト型リクエストの診断情報
ホスト型 MCP は、運用診断のため、明示的に送信されたツール引数とクライアントのメタデータについて、上限を設けた秘匿化済みのプレビューを保持します。管理者向けの「呼び出し元が送信した内容」ポップアップでは、現在の引数、リクエストごとのメタデータ、初期化メタデータを区別して表示します。機密フィールド、機密コンテンツ、深さ、テキスト、フィールド数、バイト数の上限によって情報が除外された理由を記録します。これらの呼び出し元が申告した値は、検証済みの主張ではなく、周囲の会話の複製でもありません。
リクエスト詳細レコード全体は、既存の90日間のイベント保持期間内で引き続き4 KB以内に制限されます。プレビューには最大24個のフィールドが含まれ、文字列はそれぞれ最大300文字です。認証ヘッダー、Cookie、既知の認証情報フィールド、チャット履歴/メッセージのコレクションは除外されます。URLのプレビューにはオリジンのみが保持されます。タスクコンテキストの質問要約は、明示された共有要件とソース要件を保持し、汎用プレビューの経路から取得することはできません。汎用プレビューには、reason、notes、promptなど、別の引数として明示的に送信された短いテキストが表示される場合があります。ユーザーのチャットを取得することはありません。
以前のリクエストからの質問コンテキストは、保持された呼び出し元、セッション、スキャン、プロバイダー、エントリポイントが一致し、ソースが現在の呼び出しより前かつ24時間以内の場合に限り、ソースへのリンクとともに別途表示されます。IDが欠落している場合、フィルタリングされたトラフィックの場合、コンテキストが無効な場合は、すべてフェイルクローズします。継承されたコンテキストが現在のイベントに書き戻されることはなく、スキャン、検出結果、スコアリングの動作も変更されません。
2026年9月に観測されたリクエスト量に基づく追加費用の見積もりは、月額0.10ドル未満です。既存のストレージとレコード上限を使用します。モデル呼び出し、インフラストラクチャ容量の変更、保持期間の延長はありません。
レポート証拠 JSON の完全な取得(OAuth および Light)
簡潔な要約には certscore_get_scan_bundle を使用してください。表示中の単一ページまたはサイト全体レポートの全フィールドを取得するには、certscore_get_report_evidence_page({scanId}) を使用してください。pagination.complete が true になるまで、{scanId, cursor: pagination.nextCursor} で取得を続けてください。これにより4つ目の Light ツールが追加されます。3つのツールを使うスキャン → ステータス → バンドルのワークフローが引き続きデフォルトです。
各ページには、RFC 6901 JSON Pointer の path と JSON の value を含む entries があります。親コンテナを子より先に作成しながら、順番に適用してください。空のパスはルートを置き換えます。大きすぎる文字列の場合は、0始まりの stringPart に従い、stringParts の数だけ value を連結してから割り当ててください。パスはデータとして扱い、オブジェクトの再構築時にはプロトタイプ汚染を防ぐために自身のプロパティを使用してください。すべてのページで snapshot が同一である必要があります。HTTP 409 が返された場合は、カーソルなしで再開し、以前の部分エクスポートを破棄してください。
エクスポートには、レポートの投影に含まれる標準の検出結果、証拠テーブル、ポリシーの抜粋、インベントリ、同意/アクション/GPC の証拠と網羅状況が保持されます。エクスポートが完全であることは、スキャンの観測が完全であることを意味しません。保持されたサンプル、利用できない証拠、レポートの制限が引き続き優先されます。レポート外のスキャナーの生のアーティファクトと、インライン画像のバイナリデータは除外されます。サイト全体のデータは fullSiteReport 以下に表示され、すべてのページ/リソースの行、サービス、フォーム、保持されたフィールドが含まれます。利用可能なフォームスナップショットのダウンロード URL は fullSiteReport.collectionSurfaces.rows[].snapshot.url にあります。ワークスペース内の画像には OAuth ベアラー認証情報を、対象となる匿名の公開スキャンには認証情報なしでアクセスしてください。これらのダウンロードにも既存の来歴と画像安全性のチェックが適用されます。非公開または利用不可のスナップショットが公開されることはありません。OAuth では自身のワークスペースのレポートと対象となる公開スキャンを読み取れます。Light では対象となる匿名の公開スキャンのみ読み取れます。このツールによってスキャンが作成されることはありません。既存の読み取りスロットリングが適用されるため、Retry-After に従ってください。
直接 JSON エンドポイント:GET /api/v2/scans/{scanId}/report-evidence?cursor={nextCursor}。TypeScript SDK:client.getReportEvidencePage(scanId, {cursor})。
CMP/CMS の同等性:section=cmp は、比較情報を保持したまま13項目すべての評価結果を返します。section=cms は、検証済みのプラットフォーム/バージョンの証拠と既存の勧告を返します。detailedEvidence には、レポート共通の表現、表示ラベル、件数、修正手順、相互リンクが含まれます。監査行は、正規の所見を追加するものではありません。ソースのステータスと証拠の制限を維持してください。これらのセクションはリクエストされた場合にのみ取得されます。コンパクトスキャンバンドルでは、バイト数の上限に余裕がある場合、これらのセクションへのリンクが含まれます。フルエクスポートとsection=policyには、保持されたカリフォルニア州のプライバシー選択に関する証拠と通知も含まれます。カリフォルニア州に焦点を当てたレポートでは、表示セクションprivacyも含まれます。検証済みの制御と未検証のリンク候補は区別されたままです。選択機能はテストされていません。フルバンドルでは、型付きのPulse証拠をそのまま保持し、既存のバイト数上限を超えるレポートセクションは明示的に省略します。
-
certscore_get_connection_status- 現在の認証済み接続モード、許可されたスコープ、ワークスペースへのアクセス、ローリングスキャンのクォータ、復旧アクションを読み取ります。スキャンIDは不要で、スキャンも作成されません。読み取り専用アクセスやクォータの制限を診断する場合に使用してください。再接続が必要なのは、アクセスの有効期限切れ、取り消し、またはアクセス範囲の拡大が必要な場合のみです。 -
certscore_get_report_evidence_page- 特定の内容を確認する場合は、section=cmp、cms、consent、gpc、policy、tracking、transport、forms、accessibilityのいずれかを使用してください。選択した保持済みレポートセクションに加え、スキャン、スコア、所見、網羅範囲に関する共通の情報が返されます。CMPには、評価結果と保持された比較情報を含む13項目すべてが含まれます。CMSには、プラットフォーム/バージョンの証拠と既存の勧告が含まれます。Policyには、保持されたプライバシー選択に関する制御、未検証のリンク候補、通知の抜粋も含まれます。カリフォルニア州に焦点を当てたレポートには、共通のprivacyセクションが含まれます。detailedEvidenceには、共通の表示文言、件数、相互リンクが含まれます。これらの監査行は、所見を追加するものではありません。カーソルによる続きを取得する場合はsectionを維持してください。選択されていないフィールドや返されなかったフィールドは、証拠が存在しないことを示すものではありません。開始ページのトラッキングインベントリ、プライバシー選択/通知、GPCの証拠を取得するには、workpaper=trackingを別途使用してください。JSONおよびCSVのダウンロードも利用できます。sectionとworkpaperを組み合わせないでください。workpaperの選択は、すべての続きのリクエストにも適用されます。それ以外の場合は、内部診断用JSONダウンロードを使用せず、ページ分割されたJSONとしてスキャンレポートの表示内容を取得してください。レスポンスには、単一ファイルのフルJSONダウンロードも用意されています。プライベートJSONのダウンロードリンクは5分後に期限切れとなり、OAuthヘッダーは不要です。ホストがファイルのダウンロードをブロックする場合は、ページネーションを使用してください。繰り返し表示されるレコードでは、reportContentRefのJSONポインターを使用します。証拠テーブル、サイト全体のページとリソースのインベントリ、保持された追加ページのすべてのフォームフィールド、フォームスナップショットのダウンロード参照、保持された制限事項が含まれます。スナップショット画像は、返されたURLから別途ダウンロードします。ワークスペースのスキャンではOAuthベアラー認証が必要です。OAuthとLightで利用できます。scanIdから開始してください。完了するまでpagination.nextCursorを順にたどってください。各ページは同じスナップショットを共有します。スナップショットが変わった場合は、最初からやり直してください。各エントリにはJSONポインターパスと値が含まれます。大きすぎる文字列は番号付きのパーツに分割されます。エクスポートの完了は、観測範囲の網羅を意味しません。要約には簡潔なスキャンバンドルを使用してください。レポートの証拠を網羅的に確認する場合は、このツールを使用してください。新しいスキャンは作成されません。
レポート証拠のエクスポートページには最大64 KBのJSONエントリが含まれ、ホスト型MCPとAPIの両方で、読み取り1回につき1ユニットを消費します。既存の120ユニット/10分および日次の上限は、カーソルを繰り返し使用する場合も引き続き適用されます。フル証拠レポート、所見のエクスポート、バンドルは引き続き4ユニットです。大きなエクスポートが上限に達した場合は、最後のnextCursorを保持し、Retry-Afterの時間だけ待ってから再開してください。最初からやり直さないでください。
全レポートの JSON ダウンロード
簡潔な概要には、引き続き certscore_get_scan_bundle をデフォルトとして使用してください。レポート全体をエクスポートするには、certscore_get_report_evidence_page を一度呼び出します。download.url は、バイトサイズとともに、レポート全体の表示用 JSON を 1 つの HTTP レスポンスで返します。ワークスペースのダウンロード URL には、5 分後に期限切れとなるレポート専用の機能が含まれます。返された URL には OAuth ヘッダーを付けずに直接アクセスしてください。非公開リンクは機密情報として扱い、公開しないでください。期限切れ後に新しいリンクが必要な場合は、新しいページをリクエストしてください。対象となる公開レポートは、引き続き匿名でダウンロードできます。
ホストが認証済みファイルを取得できない場合は、代わりに MCP を通じて pagination.nextCursor をたどってください。コネクターを追加する必要はありません。
エクスポートには、診断用 JSON のダウンロードと内部ランタイムグラフは含まれません。繰り返し出現するレコードでは、エクスポートされたドキュメント内の RFC 6901 ポインターを reportContentRef で参照します。読み込み後にこれらを解決してください。フォーム項目、インベントリー行、カバレッジの制限、利用可能なスナップショットリンクは引き続き含まれます。画像データは別途ダウンロードします。ダウンロードには既存のレポート読み取りクォータが適用され、新たなスキャンや保存済みエクスポート成果物は作成されません。実際にホストがダウンロードをサポートするかは別途テストする必要があります。URL が返されたからといって、Cursor や Claude が取得できるとは限りません。
プライバシーおよびトラッキングの作業用資料(0.2.24)
certscore_get_scan_bundle は、検証済みの保持済みエビデンスを利用できる場合、privacyAuditSummary を含みます。これには、観察されたプライバシー選択コントロール、通知トピック、ソースハッシュ、保持件数が含まれます。detail=full には privacyAuditEvidence も含まれます。バイト数の上限により省略された項目は mcpMetadata.omittedSections に記載されます。セクションが存在しないことは、コントロールや通知が存在しなかった証拠にはなりません。
開始ページのインベントリーと作業用資料には、既存のリーダーを使用してください。
{"scanId":"00000000-0000-4000-8000-000000000123","workpaper":"tracking"}
これらの引数を certscore_get_report_evidence_page に渡してください。ページ分割された JSON エントリー、JSON 作業用資料の download.url、インベントリー CSV の download.csvUrl が返されます。カーソルを継続するたびに workpaper を保持してください。これは、既存のワークスペース/公開アクセス境界と読み取りクォータの範囲内で、OAuth と Light の両方で機能します。スキャンは作成されません。5 分で期限切れになる非公開のダウンロードリンクは機密情報として扱ってください。
GPC の概要では、返された観察事実と、存在する場合は gpcResponse.activityComparison のリクエスト件数を先に示してください。件数には対応する期間を併記してください。Do Not Sell/Share コントロールの有無と、保持された通知の文面は観察事項として報告してください。オプトアウトの有効性、通知の妥当性、販売/共有の有無、GPC の尊重について推測しないでください。過去の記録は変更されず、スコアには既存の CertScore スコアが使用されます。
レポートの特定セクション(0.2.26)
特定の質問に対しては、既存の scanId と次のいずれかの section を指定して certscore_get_report_evidence_page を呼び出してください。consent、gpc、policy、tracking、transport、forms。返されたカーソルごとに、そのセレクターを保持してください。スキャンの共通 ID、スコア、検出結果、カバレッジは変更されません。選択は重複排除の前に行われるため、参照先は選択したドキュメント内にとどまります。selection.notReturnedFields は配信されなかった項目を示すものであり、検証済みの不在を示すものではありません。JSON のダウンロードリンクには、選択したセクションが保持されます。開始ページの作業用資料と CSV には、別途 workpaper="tracking" を使用してください。section と workpaper を組み合わせないでください。追加のスキャン、モデル呼び出し、エビデンスの取得は行われません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。