Skip to content
SitePassport

Version 1.1 · Published 2026-09-04, updated 2026-09-18

The whole formula, in the open

A score you can't audit isn't a score, it's a claim. This page is the single source of truth for every check Site Passport runs — updated here first, before anywhere else.

CheckCategoryVerifiesWeightRequires
mcp_server_reachableCapability exposureDoes the site expose an MCP server that responds to a real request?HighA tool-exposure layer installed on the site
webmcp_tools_registeredCapability exposureHow many tools does the site successfully register for browser agents, confirmed live?HighA tool-exposure layer installed on the site
approval_gate_configuredSafety & trustDoes every exposed tool have a declared risk tier, with a real human-approval gate reachable?HighA tool-exposure layer installed on the site
llms_txt_presentDiscoverabilityDoes /llms.txt exist and is it well-formed?MediumNothing — checked directly
robots_ai_directivesBot access controlDoes robots.txt explicitly address AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended)? Silence scores lower than an explicit allow.MediumNothing — checked directly
schema_org_presentContentIs Organization/WebSite (and Product, where relevant) JSON-LD present?MediumNothing — checked directly
well_known_manifestDiscoverabilityDoes /.well-known/webmcp.json exist? An emerging, non-canonical discovery convention.LowNothing — checked directly
commerce_signals_presentCommerceDoes the site carry Product/Offer schema.org markup — i.e. does it sell anything at all?Informational · not scoredNothing — checked directly
woocommerce_mcp_exposedCommerceIs the site running WooCommerce on a WordPress Abilities API-capable core — infrastructure that could expose agent-facing commerce abilities? (Not proof a specific ability is registered — that listing requires authentication on a properly-secured site.)Informational · not scoredNothing — checked directly
payment_processors_detectedCommerceWhich payment processors (Stripe, PayPal, Square, Braintree, and others) does the site have wired in? Read from WooCommerce’s public Store API where available (a real gateway-plugin identity signal, not a guess), with a homepage SDK-script scan as a fallback.Informational · not scoredNothing — checked directly

Why two tiers of checks?

Discoverability, Bot Access, and Content are externally observable — anyone can check them for any site, which is exactly what the free scan on the homepage does. Capability Exposure and Safety & Trust can't be faked from outside: they require the site itself to actually expose tools and gate them behind approval — see tools that do this. That's not a marketing claim, it's a structural fact about what's checkable.

Rankings are score-based, full stop

Every listing is ordered strictly by its live-verified score — there's no editorial or promotional layer on top of it, and there never will be.

Verified, not self-submitted

A listed site's score is pulled directly from that site's own public manifest on a recurring schedule — not typed into a form once and trusted forever. Stop passing checks, and a listing goes stale, then delists.

This page changes with notice

If the check list or weights change, the version number and date at the top of this page change with them. Nothing here is silently retuned.

WordPress is a tag, not a score

Every scan also records whether the origin looks like WordPress from the outside — a working /wp-json/ REST index, a generator meta tag naming WordPress, a same-host wp-content/wp-includes asset, or a same-host api.w.org link. A shared CDN on another host does not count. The tag is informational: it never moves the grade, and a well-marked static site can still outrank a silent WordPress install. Claiming a listing (proving you operate the domain) is a separate, optional step and also never changes the score.

What's actually inside a webmcp.json manifest

well_known_manifest above only checks that /.well-known/webmcp.json exists and parses as JSON — a manifest with real, invokable tools scores the same as an empty one. Every scan now also reads what's actually declared: a tools[] list shaped like an MCP tools/list response (name, description, inputSchema) — the convention Site Passport's own manifest uses, and the one form-exposure plugins like WebMCPFY publish. A tool counts as form-shaped when its name or description mentions form/submit and it declares a non-empty inputSchema. There's no ratified WebMCP manifest schema yet, so this is a best-effort read of the field's current convention, not spec conformance — which is exactly why it's informational only, not scored, same treatment as Commerce below.

WebMCP is still being standardized

There's no ratified manifest schema yet because the spec itself is still in progress at the W3C Web Machine Learning Community Group. Tracks currently open: wide reviews with the TAG, Privacy, Security, accessibility, and internationalization groups (including an active collaboration applying the Threat Model for the Web to cross-origin tool exposure); a proposal for reporting progress on long-running tool calls; and open questions on how far tool discovery should extend beyond a single frame tree. An "E-commerce for Humans and AI Agents" workshop also just ran, with OpenAI, Shopify, and GS1 presenting on how commerce protocols interact with WebMCP — directly relevant to the Commerce checks below. We watch this because it's the ground truth behind well_known_manifest and the manifest read above; see the 17 September 2026 meeting minutes for what's currently in flight.

Why Commerce is informational, not scored (yet)

Most of the web sells something, and "can an agent safely complete a purchase here" is a real, distinct question from "can an agent read this page." But as of this version, almost nothing in agentic commerce has a genuine external discovery signal yet — the Agentic Commerce Protocol (OpenAI/Stripe) says outright it has no discovery mechanism yet, and the Visa/Mastercard agent-payment protocols are network-layer and silent by design. Even Cloudflare's own agent-readiness scoring keeps its Commerce check informational for the same reason. Site Passport does the same: these two checks run and display on every scan, but don't move the score, until there's a real population of sites they can meaningfully differentiate between. The one thing genuinely checkable today — WooCommerce's native MCP endpoint — deliberately says nothing about whether a purchase would require human confirmation first. That's the part that actually matters, and it isn't verifiable from outside a site at all.

Check your own site next

Free, instant, and it works whether or not you run WordPress — though that's where the fixes are one click away.

Scan your site