UCP Checker
UCP Score

UCP Score for lojaybera.com.br

Nearly there

75 out of 100, grade B: nearly there. The missing 25 points are spread across Discovery and Conformance and Capabilities. 3 spec breaks on the status page aren't counted in the score.

Discovery 85Conformance 88Capabilities 48release 2026-08-25

How the score is made

three areas, weighted
Discovery 30%
Can a UCP agent find and read the profile: HTTPS, an answer at /.well-known/ucp, robots.txt allowing it, and five files outside UCP (llms.txt, sitemap, Open Graph, Organization schema, viewport).
85−4.5 pts
Conformance 40%
Does the profile follow the spec: valid against its release (counted three times), a dated release, keys published, few warnings, spec and schema links that resolve.
88−4.8 pts
Capabilities 30%
What an agent can do here: how many capabilities, checkout, at least one service, payment handlers, and services that answer our check.
48−15.6 pts
A85–100Ready for UCP agents
B70–84Nearly there
C50–69Partly ready
D30–49Hard for UCP agents
F0–29Not ready

Raise the score

fixes that move the number
+5
1Publish the public keys agents use to check your messages
Your UCP profile lists no public keys, so an agent cannot confirm that a message really came from your store.
Agents use these keys to check that checkout messages really came from you. A store that takes payment through the agent needs them. A store that sends the buyer to its own checkout page can manage without them for now.
Conformance · effort medium
{
  "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.

part of +5
2Publish Organization schema (JSON-LD) on the homepage
No Organization-typed JSON-LD detected on your homepage.
Organization schema gives agents a structured representation of your brand identity: name, logo, social profiles, contact info, founding date. Agents use this to verify you are who you claim to be and to link your profile data to a recognizable entity.
Discovery · effort medium
<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.

part of +5
3Add Open Graph meta tags to the homepage
OG tags missing or incomplete on your homepage.
OG tags give agents and link unfurlers (Slack, iMessage, ChatGPT) a clean title, description, and image to represent your store. Without them, shares show garbled fallback text.
Discovery · effort low
<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.

part of +5
4Add a mobile viewport meta tag
No viewport meta tag detected on your homepage.
Mobile-originating agent sessions (ChatGPT iOS, Apple Intelligence) render store pages in browser sandboxes that respect the viewport tag. Without it, the page renders at desktop width and pinch-to-zoom UX kicks in, and agents that take screenshots of pages get unreadable images.
Discovery · effort low
<meta name="viewport" content="width=device-width, initial-scale=1">

One line inside <head>. Modern frontend frameworks add this automatically; its absence usually means a hand-rolled or legacy template.

Every check

8 passed · 8 to fix
Agent Discovery · 5 of 8
5 OK
HTTPS, UCP profile reachable, AI bot access, llms.txt, sitemap.xmlShow
  • 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
Problem
Open Graph tags
Missing or incomplete on homepage. Fix 3 above.
Discovery
Problem
Organization schema (JSON-LD)
Missing or incomplete on homepage. Fix 2 above.
Discovery
Problem
Mobile viewport meta
Missing or incomplete on homepage. Fix 4 above.
Discovery
UCP Conformance · 2 of 4
2 OK
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
To fix
Public keys published
No keys list at the top level of the profile. Fix 1 above.
Conformance
To fix
No validation warnings
1 warning.
Conformance
Capability Coverage · 1 of 4
1 OK
Transports declaredShow
  • Transports declared · MCP
To fix
Capabilities declared
1 of 6 capability families detected: Catalog. A family counts once however many namespaces or extensions declare it.
Capabilities
Problem
Checkout capability
No checkout capability.
Capabilities
To fix
Payment handlers
Empty array: checkout-link redirect strategy.
Capabilities

Not in the score, but worth fixing first

spec breaks
Problem
The profile sits behind a redirect
lojaybera.com.br/.well-known/ucp answers 301 redirect. The spec forbids redirects on the profile, so an agent that asks lojaybera.com.br stops there. Serve it directly on every host agents use.
on the status page
Problem
The profile isn't served with the caching the spec requires
Served with Cache-Control "max-age=14400". Spec level: MUST. Not part of the UCP Score.
on the status page
To fix
The profile has no ETag or Last-Modified header
Spec level: SHOULD. Not part of the UCP Score.
on the status page

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.

Speed among Custom stores
The profile answered in 1,354 ms, faster than 1% of the Custom stores we check.