UCP Score leaderboard
The stores we check, ranked by UCP Score: a number from 0 to 100 for how well a store's UCP profile follows the spec and what it lets a UCP agent do, made of Discovery, Conformance and Capabilities.
How the stores we check score
Of the stores we check whose UCP profile we could read, valid or not; not found, blocked and unreachable stores have no score. Shares and averages only.
Grades
Of the stores we check that we could score
Average UCP Score by store platform
Average score out of 100, of the stores we check on each platform that we could score
Where grade A stores get their points
Average part score out of 100, of the grade A stores we check
Where every other store gets its points
Average part score out of 100, of the other stores we check that we could score
Most common fixes
Share of the stores we check that we could score failing each spec check every status page shows; each store's own fixes are on its status page
Send an ETag or Last-Modified header with /.well-known/ucp so agents can revalidate their cached copy cheaply.
Serve /.well-known/ucp with "Cache-Control: public, max-age=300" (public, at least 60 seconds, never private, no-store or no-cache).
Make supported_versions an object: each key a protocol version date, each value the https URL of the profile for that version.
Give each capability entry a "schema" URL on the capability's own authority (for dev.ucp.* that is ucp.dev). From 2026-08-25 the spec says a capability MUST declare one.
Remove the trailing slash from each service endpoint: the spec says endpoint SHOULD NOT have one, because paths are appended to it directly.
Declare the capability an extension extends, or drop the extension: agents remove an extension whose parent isn't in the profile.
The UCP Score weighs Discovery 30%, Conformance 40% and Capabilities 30%. How the score is made › · Citing and reuse: quote any figure with credit to UCP Checker and a link to the page and month; anything more needs our permission.
| Where it stands | Store | Score ↑ | Discovery | Conformance | Capabilities | Store platform |
|---|---|---|---|---|---|---|
| Bottom halfBottom half on Tray | 76 B | 95 | 91 | 38 | Tray | |
| Bottom halfBottom half on Tray | 76 B | 95 | 91 | 38 | Tray | |
| Bottom halfBottom half on Tray | 77 B | 95 | 81 | 53 | Tray | |
| Bottom halfTop half on Tray | 78 B | 95 | 88 | 48 | Tray | |
| Bottom halfTop half on Tray | 78 B | 95 | 88 | 48 | Tray | |
| Bottom halfTop half on Tray | 78 B | 95 | 88 | 48 | Tray | |
| Bottom halfTop half on Tray | 78 B | 95 | 88 | 48 | Tray | |
| Bottom halfTop half on Tray | 78 B | 95 | 88 | 48 | Tray | |
| Bottom halfTop half on Tray | 78 B | 95 | 88 | 48 | Tray | |
| Bottom halfTop half on Tray | 78 B | 95 | 88 | 48 | Tray |
Stores whose UCP profile we could read, valid or not; not found, blocked and unreachable stores have no score. Stores with the same score share a rank; positions show for the top 100 only, and a filtered list says where each store stands as a band of the stores we check (top 1%, 5%, 10%, 25%, top or bottom half): overall, and on its platform too when we score enough of its platform's stores to compare. Each store links to its score page.
