UCP Score for oc-integrations-test.ola.click
80 out of 100, grade B: nearly there. The missing 20 points are spread across Discovery and Conformance and Capabilities. One spec break on the status page isn't counted in the score.
Discovery 90Conformance 86Capabilities 62release 2026-08-25
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "OnlineStore",
"name": "Yourstore",
"url": "https://yourstore.com",
"logo": "https://yourstore.com/logo.png",
"sameAs": [
"https://twitter.com/yourstore",
"https://www.instagram.com/yourstore"
],
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+1-800-000-0000",
"contactType": "Customer Service"
}
}
</script>
Drop into <head> or end of <body>. Use OnlineStore (more specific) when the entire site is an ecommerce store; Organization is the generic fallback.
<meta property="og:title" content="Yourstore | short tagline"> <meta property="og:type" content="website"> <meta property="og:url" content="https://yourstore.com/"> <meta property="og:description" content="One-sentence description of what you sell."> <meta property="og:image" content="https://yourstore.com/og-cover.jpg"> <meta property="og:site_name" content="Yourstore">
Add inside <head>. og:title and og:type are the minimum; og:url, og:description, and og:image are strongly recommended.
{
"keys": [
{
"kty": "EC",
"crv": "P-256",
"x": "<base64url x>",
"y": "<base64url y>",
"kid": "store-2026-10",
"use": "sig",
"alg": "ES256"
}
],
"ucp": { ... }
}
Create a P-256 (ES256) key pair: ES256 is the one algorithm every UCP agent must be able to check. Add the public key to a "keys" list at the top level of your UCP profile, as in the example, with its own "kid", and keep the private key on your server. The spec recommends a new key every 90 days: publish the new one next to the old, sign with it, and remove the old key a week later.
HTTPS, UCP profile reachable, AI bot access, llms.txt, sitemap.xml, Mobile viewport metaShow
- HTTPS · Profile URL uses https://
- UCP profile reachable · HTTP 200
- AI bot access · robots.txt allows /.well-known/ucp
- llms.txt · Found at /llms.txt
- sitemap.xml · Found at /sitemap.xml
- Mobile viewport meta · <meta name="viewport"> present
Profile passes schema validation, Protocol version present and well-formedShow
- Profile passes schema validation · No structural errors
- Protocol version present and well-formed · Version: 2026-08-25
Transports declared, MCP transport reachableShow
- Transports declared · MCP
- MCP transport reachable · tools/list returned a JSON-RPC response in 128ms
The score measures what the profile declares across the three areas above. These break a rule in the spec that agents follow, so they can stop an agent before the score matters.
