my-shopping-site-gamma.vercel.app logo

my-shopping-site-gamma.vercel.app

verified_user Multi-version UCP compliance, backward compatibility & transport audit

schedule Last scanned 5/4/2026

F 56/100

Conformance

53%
45%

Capability

100%
14%

Coverage

43%
12%

Backward Compat

0%
9%

Negative

36%
8%

Transport

80%
8%

Latency

99%
4%

Audit Details

52% Passing Rate
warning DISC-0012
Cache-Control max-age is within recommended bounds

Cache-Control "no-store, no-cache, must-revalidate, max-age=0" disables caching — agents will re-fetch on every request

Warn
check_circle DISC-0006
Profile response advertises cache headers

Completed in 150ms

Pass
cancel DISC-0003
Profile declares at least the checkout capability

Profile does not declare dev.ucp.shopping.checkout

Fail
cancel DISC-0016
Capability version strings are valid ISO dates

(instances ?? []) is not iterable

Fail
check_circle DISC-0008
Profile response Content-Type is application/json

Completed in 130ms

Pass
check_circle DISC-0010
Discovery endpoint exposes CORS headers

Completed in 124ms

Pass
check_circle DISC-0007
Profile is served over HTTPS

Completed in 56ms

Pass
check_circle DISC-0011
Two consecutive profile fetches return identical bodies

Completed in 210ms

Pass
warning DISC-0020
Signing JWKs use only allowed kty/crv values

Profile declares no signing_keys array — the field is optional per the UCP spec, but agents cannot verify signed payloads from this merchant

Warn
check_circle DISC-0015
No duplicate capability entries (same name + version)

Completed in 127ms

Pass
warning DISC-0017
OpenAPI servers[] URL is reachable

Profile has no loadable service-level OpenAPI document

Warn
cancel DISC-0001
Business profile has a valid structure

Business profile failed schema validation

Fail
help DISC-0022
Merchant responses are signed with the published signing_keys

Profile declares no signing_keys; nothing to verify against. DISC-0002 tracks absence separately.

Skip
check_circle DISC-0021
robots.txt allows AI agents to read the UCP profile

Completed in 144ms

Pass
cancel DISC-0014
All declared schema URLs use HTTPS

(bindings ?? []) is not iterable

Fail
warning DISC-0019
Signing keys are importable via Web Crypto

Profile declares no signing_keys array — the field is optional per the UCP spec, but agents cannot verify signed payloads from this merchant

Warn
warning DISC-0002
Profile advertises well-formed signing keys

Profile declares no signing_keys array — the field is optional per the UCP spec, but agents cannot verify signed payloads from this merchant

Warn
cancel DISC-0018
Service binding transports are in the allowed set

(bindings ?? []) is not iterable

Fail
check_circle DISC-0005
Profile declares a ucp.version string

Completed in 152ms

Pass
check_circle DISC-0013
Profile ucp.version is one the grader recognizes

Completed in 120ms

Pass
check_circle DISC-0009
Profile is served at the canonical .well-known/ucp path

Completed in 122ms

Pass
warning SCHEMA-INT-0004
Declared capabilities match operations in the OpenAPI

No OpenAPI operations available to cross-check

Warn
warning SCHEMA-INT-0009
Capability JSON Schemas declare a modern $schema draft

Profile declares no capability JSON Schemas

Warn
cancel SCHEMA-INT-0003
Capability-level JSON Schemas are well-formed

6 of 6 capability schemas are malformed

Fail
warning SCHEMA-INT-0008
OpenAPI components.schemas has no orphans

Profile has no loadable service-level OpenAPI document

Warn
warning SCHEMA-INT-0002
Service-level OpenAPI document is valid OpenAPI 3.x

No service-level OpenAPI schema was loaded

Warn
warning SCHEMA-INT-0006
Every OpenAPI operation declares a 2xx JSON response schema

Profile has no loadable service-level OpenAPI document

Warn
warning SCHEMA-INT-0005
Every $ref referenced schema document is reachable

Profile declares no loadable schema documents

Warn
cancel SCHEMA-INT-0001
All declared schema URLs return 200

9 of 9 schema URLs failed to load: [service] https://ucp.dev/services/shopping/openapi.json → http_404 [capability] https://ucp.dev/schemas/shopping/discovery.json → http_404 [capability] https://ucp.dev/schemas/shopping/checkout.json → http_404 [capability] https://ucp.dev/schemas/shopping/payment.json → http_404 [capability] https://ucp.dev/schemas/shopping/returns.json → http_404 [capability] https://ucp.dev/schemas/shopping/discount.json → http_404 [capability] https://ucp.dev/schemas/shopping/fulfillment.json → http_404 [payment] https://ucp.dev/schemas/payment/google_pay.json → http_404 [payment] https://ucp.dev/schemas/mock.json → http_404

Fail
cancel SCHEMA-0005
Cancel session response matches the OpenAPI schema

Expected 2xx, got 404

Fail
cancel SCHEMA-0002
Create session response matches the OpenAPI schema

UCP spec requires 201 Created for POST /checkout-sessions, but server returned 200. Agents may misinterpret this as a failure. Fix: return HTTP 201 when a session is successfully created.

Fail
warning SCHEMA-0001
Discovery profile matches the published JSON Schema

ucp.payment_handlers is missing or not an object

Warn
cancel SCHEMA-0003
Get session response matches the OpenAPI schema

Expected 200, got 405

Fail
help SCHEMA-0004
Update session response matches the OpenAPI schema

Schema unavailable: no_openapi

Skip
cancel CHK-0008 rest
Canceling a session twice with the same idempotency key is idempotent

First cancel returned status=404

Fail
cancel CHK-0008 mcp
Canceling a session twice with the same idempotency key is idempotent

Session ended in status=null after double-cancel — expected "canceled"

Fail
cancel CHK-0007 rest
Cancel a checkout session

cancelSession returned 404

Fail
cancel CHK-0007 mcp
Cancel a checkout session

Expected canceled, got undefined

Fail
cancel CHK-0001 rest
Create checkout session with defaults

REST: expected 201, got 200

Fail
cancel CHK-0001 mcp
Create checkout session with defaults

Checkout session failed schema validation

Fail
cancel CHK-0002 rest
Repeated createSession with same idempotency key returns same session

Same key returned different session ids

Fail
check_circle CHK-0002 mcp
Repeated createSession with same idempotency key returns same session

Completed in 237ms

Pass
warning CHK-0003 rest
Create session then set shipping address

Session updated but no shipments returned

Warn
warning CHK-0003 mcp
Create session then set shipping address

Session updated but no shipments returned

Warn
cancel CHK-0004 rest
Retrieve a checkout session by id

getSession returned 405

Fail
check_circle CHK-0004 mcp
Retrieve a checkout session by id

Completed in 221ms

Pass
cancel CHK-0009 rest
Reusing an Idempotency-Key with a different body must be rejected

Server accepted a second create with the same idempotency key but a different currency (USD → EUR). Per the spec, the second call must be rejected.

Fail
cancel CHK-0009 mcp
Reusing an Idempotency-Key with a different body must be rejected

Server accepted a second create with the same idempotency key but a different currency (USD → EUR). Per the spec, the second call must be rejected.

Fail
cancel CHK-0010 rest
update_checkout is idempotent on replay and rejects conflicting replays

Update with the same Idempotency-Key but a different body was accepted — must be rejected

Fail
cancel CHK-0010 mcp
update_checkout is idempotent on replay and rejects conflicting replays

Update with the same Idempotency-Key but a different body was accepted — must be rejected

Fail
warning CHK-0005 rest
Select a shipping method on a checkout session

Merchant returned no shipping options to select

Warn
warning CHK-0005 mcp
Select a shipping method on a checkout session

Merchant returned no shipping options to select

Warn
warning FUL-0001 rest
Shipping methods are returned after setting an address

Fulfillment returned no options

Warn
cancel FUL-0001 mcp
Shipping methods are returned after setting an address

Session has no fulfillment section after address set

Fail
warning CAP-CAT-0002 rest
Catalog capability advertised for product lookup

Profile does not declare dev.ucp.shopping.catalog.lookup

Warn
warning CAP-CAT-0002 mcp
Catalog capability advertised for product lookup

Profile does not declare dev.ucp.shopping.catalog.lookup

Warn
warning CAP-CAT-0001 rest
Catalog capability is declared

Profile does not declare dev.ucp.shopping.catalog.search

Warn
warning CAP-CAT-0001 mcp
Catalog capability is declared

Profile does not declare dev.ucp.shopping.catalog.search

Warn
check_circle CAP-CHK-0001 rest
Checkout capability is declared and reachable

Completed in 234ms

Pass
check_circle CAP-CHK-0001 mcp
Checkout capability is declared and reachable

Completed in 117ms

Pass
check_circle CAP-FUL-0001 rest
Fulfillment capability is declared
Pass
check_circle CAP-FUL-0001 mcp
Fulfillment capability is declared
Pass

Business Profile

Services

dev.ucp.shopping
restmcp

Capabilities

dev.ucp.shopping.discovery
v2026-01-11
Implemented
Tests: 5/5 passed
dev.ucp.shopping.checkout
v2026-01-11
Implemented
Tests: 7/15 passed
dev.ucp.shopping.payment
v2026-01-11
Implemented
dev.ucp.shopping.returns
v2026-01-11
Implemented
Tests: 2/4 passed
dev.ucp.shopping.discount
v2026-01-11
Implemented
Tests: 1/2 passed
dev.ucp.shopping.fulfillment
v2026-01-11
Implemented
Tests: 2/4 passed

Payment Handlers

payments
Google Pay
payments
Mock Payment
1 config key