UCP Checker
UCP Score

UCP Score for commerciovirtuoso.it

Ready for UCP agents

91 out of 100, grade A: ready for UCP agents. The missing 9 points are spread across Conformance and Capabilities. One spec break on the status page isn't counted in the score.

Discovery 100Conformance 97Capabilities 75release 2026-04-08

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).
100full marks
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.
97−1.2 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.
75−7.5 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
+1
1Move to the latest UCP protocol version
Your profile declares a valid but older protocol version. A newer one is published.
Older versions stay valid (agents use the version you declare), but newer abilities (embedded checkout, agent payment mandates, linked customer accounts, card authentication, payment terms and store location lookup) only work against the latest version. The profile itself barely changes: the signing keys move to a root-level "keys" list, and the rest of the update is in what capabilities can say.
Conformance · effort low
"ucp": {
  "version": "2026-08-25",
  ...
},
"keys": [ ... ]   // beside "ucp", not inside it

Set the version to 2026-08-25 and publish your public keys as a root-level "keys" list. The older "signing_keys" field is still accepted, but "keys" is the one every verifier reads.

Every check

15 passed · 3 to fix
Agent Discovery · 8 of 8
8 OK
HTTPS, UCP profile reachable, AI bot access, llms.txt, sitemap.xml, Open Graph tags, Organization schema (JSON-LD), 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
  • Open Graph tags · og:title and og:type/url present
  • Organization schema (JSON-LD) · Organization-typed JSON-LD detected
  • Mobile viewport meta · <meta name="viewport"> present
UCP Conformance · 4 of 5
4 OK
Profile passes schema validation, Protocol version present and well-formed, Public keys published, Spec & schema URLs resolve (10)Show
  • Profile passes schema validation · No structural errors
  • Protocol version present and well-formed · Version: 2026-04-08
  • Public keys published · Keys published at the top level
  • Spec & schema URLs resolve (10) · All 10 URLs resolved.
To fix
No validation warnings
1 warning.
Conformance
Capability Coverage · 3 of 5
3 OK
Capabilities declared, Checkout capability, Transports declaredShow
  • Capabilities declared · 3 of 6 capability families detected: Checkout, Order Management, Catalog. A family counts once however many namespaces or extensions declare it.
  • Checkout capability · dev.ucp.shopping.checkout detected
  • Transports declared · REST
To fix
Payment handlers
Empty array: checkout-link redirect strategy.
Capabilities
To fix
REST transport reachable
Host responded with HTTP 404 — endpoint reachable but path may be method-restricted.
Capabilities

Not in the score, but worth fixing first

spec breaks
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.

Files for agents

outside UCP · not part of the UCP Score

Files commerciovirtuoso.it publishes for agents beyond its UCP profile, from our weekly look. Only what we found is listed.

Found
agents.md /agents.md
Instructions for agents that visit the store.
11 Oct
/agents.md as served 3.5 KB
# Agent Instructions — commercioVirtuoso.it

This document describes how AI agents can interact with commercioVirtuoso.it, an Italian multi-vendor marketplace at https://commerciovirtuoso.it.

## What makes this store different

Products are sold by **independent vendors**. A single order is split into per-vendor groups, each with its own shipment, tracking number and delivery estimate. An agent that assumes one shipment per order will misreport delivery dates to the buyer.

Every product carries a **CVIN**: a 9-digit public identifier, shown on the product page and stable for the life of the product. Use it — not the slug — when referring a product to a human (support, order issues) or storing a reference. Slugs change; the CVIN never does.

## Commerce protocol (UCP)

This store implements the [Universal Commerce Protocol](https://ucp.dev).

- **Discovery** — `GET https://commerciovirtuoso.it/.well-known/ucp` returns the business profile: supported version, service endpoints, capabilities and the Ed25519 signing keys. It is the single source of truth; do not hardcode what you read here.
- **API base** — the profile's `services["dev.ucp.shopping"][].endpoint`. Requests are REST + JSON.

### Typical flow

1. **Discover** — `GET /.well-known/ucp`
2. **Search** — `POST <base>/catalog/search` (also `catalog/lookup`, `catalog/product`)
3. **Checkout** — `POST <base>/checkout-sessions`, then `GET <base>/checkout-sessions/{id}`
4. **Complete** — `POST <base>/checkout-sessions/{id}/complete`

### Rules that will bite you

- **Checkout completion is not programmatic.** We publish no payment handler (`payment_handlers` is empty by design, pending Stripe SPT general availability in the EU). `complete` answers `escalation_required` with a `continue_url`: send the buyer there to pay on our checkout. Never assume a payment succeeded because `complete` returned HTTP 200.
- **Payment always requires the buyer.** No agent may complete a payment without contemporaneous human approval.
- **Requests are signed.** Checkout calls must carry an RFC 9421 signature and a `UCP-Agent` header pointing at your own `/.well-known/ucp` profile, whose signing keys we fetch to verify you.
- **Respect rate limits.** Back off on 429.

## Read-only browsing (no authentication)

- Sitemap index: `GET https://commerciovirtuoso.it/sitemap.xml` — the entry point to every indexable URL.
- Product page: `GET https://commerciovirtuoso.it/products/{slug}`
- Collection page: `GET https://commerciovirtuoso.it/collections/{slug}`
- Brand directory: `GET https://commerciovirtuoso.it/brands`
- Machine-readable site summary: `GET https://commerciovirtuoso.it/llms.txt`

There is no public product JSON endpoint. To read catalog data programmatically, use the UCP catalog capability rather than scraping the storefront.

Do not crawl `/search`, `/cart`, `/checkout`, `/account` or `/wishlist`: they are disallowed in `https://commerciovirtuoso.it/robots.txt`.

## Store policies

- [Terms of service](https://commerciovirtuoso.it/legal/terms-of-service)
- [Privacy policy](https://commerciovirtuoso.it/legal/privacy-policy)
- [Refund policy](https://commerciovirtuoso.it/legal/refund-policy)
- [Return policy](https://commerciovirtuoso.it/legal/return-policy)
- [Shipping policy](https://commerciovirtuoso.it/legal/shipping-policy)
- [Warranty policy](https://commerciovirtuoso.it/legal/warranty-policy)
- [Ranking parameters](https://commerciovirtuoso.it/legal/ranking-parameters) — how search results are ordered (EU P2B disclosure).
Speed among Custom stores
The profile answered in 441 ms, faster than 40% of the Custom stores we check.