Fetched public markup. JavaScript is not executed.
Evidence before verdicts
Presence is not readiness.
A page can register tools that agents misunderstand, call incorrectly, or use unsafely. isWebMCP separates source hints, contract quality, runtime behavior, journey success, and measured improvement.
Provenance
Five evidence sources
Every conclusion carries its origin and confidence. Missing evidence is shown as “Not observed,” never silently converted to failure.
Observed registration or execution in a supported browser.
Developer-provided tool inventory; sanitized but not independently verified.
Directly recorded task events, outcomes, timings, and state assertions.
A bounded conclusion from visible evidence, always labeled with confidence.
Scoring
Four questions. Four evidence boundaries.
No generic readiness composite hides an unknown runtime or substitutes hypothetical ROI for observed behavior.
Source actionability
Named task actions, semantic structure, accessible names, form clarity, state feedback, entities, and transport. Repeated markup is not rewarded. Every contribution is inspectable; a truncated page makes the complete-page range 0–100.
Contract lint
Available for sanitized imported definitions. It checks names, schema shape, over-parameterization, safety annotations, declared state, and recovery—but never calls imported evidence runtime quality.
Runtime readiness
Requires observed discovery and selection, schema rejection, authorization and confirmation, task success, postcondition verification, UI synchronization, recovery/idempotency, and lifecycle cleanup. A critical safety failure blocks “ready.”
WebMCP Lift
Only calculated for paired interactive runs of the same task and fixture. Success 40% · actions 20% · elapsed 15% · invalid attempts 10% · human intervention 10% · verification 5%. Authored replays receive no number.
Source Actionability v2.1 and Contract Lint are transparent diagnostic heuristics, not calibrated predictors of agent task success and not cross-site league-table scores. Runtime Readiness and Lift require observed trials.
Counting rule: one UI action is one committed semantic control operation; each registered-tool execution is one tool call. Run start is setup, while finish/verification is counted on both paths. Mixed UI/tool paths and unpaired fixtures are not comparable. Repeated trials and uncertainty are required before generalizing a single paired result.
Security boundary
What Quick Scan does
- — Normalizes a bare domain to HTTPS in the browser, then accepts only absolute HTTP(S) URLs without embedded credentials.
- — Rejects local, private, link-local, multicast, reserved, documentation, and metadata address ranges.
- — Verifies A and AAAA resolution before every bounded redirect and fails closed when resolution cannot be verified.
- — Uses a neutral scanner identity, short timeout, HTML/XHTML allowlist, per-caller/host rate limit, and no cookies or authorization headers.
- — Streams a bounded HTML prefix of at most 1 MB and labels the report partial when more bytes exist, so a large page does not become a false “unreachable” result.
- — Treats fetched text as untrusted data, strips executable content from displayed evidence, and keeps the bounded HTML analysis window only for the current request.
Honest limitations
What it cannot prove
- — It does not execute target JavaScript or inspect another origin’s live
document.modelContext. - — It cannot see authenticated states, dynamically rendered controls, shadow DOM, or tools registered after load.
- — DNS is rechecked before fetch, but ordinary Worker fetch resolves the hostname independently and cannot pin the connection to the preflight address. A rebinding or split-horizon race therefore remains possible.
- — Deployments that require an SSRF-grade guarantee need a separate address-pinned egress proxy or equivalent network policy; this hosted MVP does not claim that guarantee.
- — Report storage, rate limits, and concurrency counters are ephemeral and isolate-local. Durable reports and globally coordinated limits require a production data store or edge-rate-limit service.
- — Static code checks cannot prove authorization, side effects, UI synchronization, confirmation behavior, or agent selection accuracy.
- — Model evals and manual supported-browser verification remain required for production evidence.
Experimental API
Draft-aware, not draft-confident.
The current Web Machine Learning Community Group report is dated August 26, 2026. It is not a W3C Standard. The normative declarative section remains unfinished, input-schema semantics are not browser-enforced, and browser support is experimental.
This site’s action surface
16 top-level tools
scan_public_urlget_scan_summarylist_action_surfaceget_finding_detailssearch_webmcp_libraryget_webmcp_resourcelist_mcp_updatesget_challenge_pulseselect_demo_modestart_demo_runsearch_demo_productscompare_demo_productsadd_demo_product_to_cartfinish_demo_runcompare_demo_runsexport_current_reportCore tools remain available across the top-level page. The three structured catalog tools are registered only in WebMCP demo mode and unregistered through an AbortSignal when the mode changes.