UCP Checker
Back to status
dev-voiceai.snapmenu.ai icon
UCP Score

UCP Score for dev-voiceai.snapmenu.ai

UCP conformance score, top priorities, impact & effort matrix, and copy-paste fixes for every issue.

Verified
B79/100
Analyzed Sep 18, 2026 · 5 recommendations ·Custom · v2026-08-25 latest
79
/ 100
UCP Conformance Score
B

Solid UCP setup on dev-voiceai.snapmenu.ai with a few gaps left to close.

Agent Discovery85
UCP Conformance91
Capability Coverage58
Biggest blockers
Publish keys at the manifest root
Working

UCP Conformance is solid (91/100).

Blocking

Publish keys at the manifest root — Agents have nothing to verify your responses against.

Start Here

Publish keys at the manifest root → Publish Organization schema (JSON-LD) on the homepage → Confirm checkout-link redirect strategy

Verified

dev-voiceai.snapmenu.ai is agent-ready but has minor schema warnings.

Latency
134ms
Version
2026-08-25
Robots.txt
Allowed ✅

Top Priorities

1
Publish keys at the manifest root

Agents have nothing to verify your responses against.

High impact Medium effort
2
Publish Organization schema (JSON-LD) on the homepage

No Organization-typed JSON-LD detected on your homepage.

Medium impact Medium effort
3
Confirm checkout-link redirect strategy

payment_handlers is present but empty.

Low impact Low effort

Impact & Effort Matrix

Prioritised recommendations by expected impact and implementation effort

Quick Wins(0)

High impact, low effort

  • No items
Strategic Investments(1)

High impact, high effort

  • Publish keys at the manifest root
Incremental Gains(1)

Medium impact & effort

  • Publish Organization schema (JSON-LD) on the homepage
Consider Later(3)

Lower priority

  • Confirm checkout-link redirect strategy
  • Publish a /llms.txt brand brief
  • Publish a sitemap.xml

How you compare on Custom

Response time benchmarked against 104 Customs we monitor.

fastCustom median 300msslow
Your store
134ms
Custom percentile
Top quartile
Faster than 76% of Custom stores
Cohort range
138–586ms
p25 to p75 (middle half)
Headless / custom stackCustom-built storefronts have the most flexibility but also the most surface area for inconsistency between environments. Run the score in staging before each deploy that touches manifest, schemas, or transports.

Recommendations

All improvements ranked by priority, with evidence and actionable fixes.

1

Publish keys at the manifest root

High impact Medium effort

Agents have nothing to verify your responses against.

Why it matters

Signing keys let agents cryptographically verify checkout responses came from you, not a man-in-the-middle. Tokenized payment flows in v2026-04-08+ require them. Since 2026-07-12 the spec's canonical field is a root-level RFC 7517 "keys" array (the legacy "signing_keys" field was removed from the profile schema; we accept both during the migration). Stores using checkout-link redirects (e.g. WooCommerce) often skip this safely.

Show fix

Generate an Ed25519 keypair, publish the public key as a JWK in a root-level "keys" array (the canonical field since spec PR #566; "signing_keys" is legacy). Rotate annually; keep "kid" stable across rotations of the same key.

{
  "keys": [
    {
      "kty": "OKP",
      "crv": "Ed25519",
      "x": "<base64url-encoded-public-key>",
      "kid": "key-2026-04",
      "alg": "EdDSA"
    }
  ],
  "ucp": { ... }
}
UCP_MISSING_SIGNING_KEYS
2

Publish Organization schema (JSON-LD) on the homepage

Medium impact Medium effort

No Organization-typed JSON-LD detected on your homepage.

Why it matters

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 manifest data to a recognizable entity.

Show fix

Drop into <head> or end of <body>. Use OnlineStore (more specific) when the entire site is an ecommerce store; Organization is the generic fallback.

<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>
UCP_MISSING_ORG_SCHEMA
3

Confirm checkout-link redirect strategy

Low impact Low effort

payment_handlers is present but empty.

Why it matters

An empty payment_handlers array tells agents "I do not tokenize — redirect the buyer to my hosted checkout instead." Common and valid for WooCommerce stores. Only an issue if you intended to support tokenized payment.

UCP_EMPTY_PAYMENT_HANDLERS
4

Publish a /llms.txt brand brief

Low impact Low effort Emerging

No /llms.txt file detected at the root of your domain.

Why it matters

llms.txt is an emerging convention (analogous to robots.txt) that lets you give AI agents a hand-written brief about your brand, product categories, return policy, and crawl preferences. Strict UCP agents do not require it, but recommendation/discovery agents increasingly read it for context.

Show fix

Save as /llms.txt at your site root. Plain text, written for an LLM audience. The format is informal — these section headings are a working convention, not a spec. Replace the placeholders with your own brand details and update when policies or product lines change.

# llms.txt
# Public brief for AI agents about Yourstore

# About
One or two sentences on what you sell, who you sell to, and any defining context (founded, mission, sustainability stance, etc.).

# Product Categories
- Category one
- Category two
- Category three

# Policies
- Returns: e.g. 30 days, full refund
- Shipping: e.g. Free over $30, 3-5 business days
- Any other policy worth surfacing (cruelty-free, vegan, made-to-order, etc.)

# Agent Capabilities
- UCP manifest: /.well-known/ucp
- Supported flows: cart, checkout, tokenized payment, etc.
- Anything explicitly NOT supported (e.g. "no subscription products via agent")

# Contact
[email protected]
UCP_MISSING_LLMS_TXT
5

Publish a sitemap.xml

Low impact Low effort

No sitemap.xml detected at the root of your domain.

Why it matters

Sitemaps tell agents and crawlers which pages on your store are canonical and how often they change. Without one, agents fall back to following internal links, which is slower and less complete — especially for catalog pages buried behind faceted nav.

Show fix

Most ecommerce platforms generate sitemap.xml automatically (Shopify, WooCommerce). If yours does not, generate one server-side and serve at /sitemap.xml.

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://yourstore.com/</loc>
    <changefreq>daily</changefreq>
  </url>
  <url>
    <loc>https://yourstore.com/products</loc>
    <changefreq>daily</changefreq>
  </url>
  <!-- one <url> entry per indexable page -->
</urlset>
UCP_MISSING_SITEMAP

Full Check Breakdown

Every signal we evaluate, grouped by category.

Functional probes ran .
Agent Discovery5/8 passed

Can AI agents find your store and its UCP manifest?

  • HTTPSCore

    Manifest served over a secure connection.

    Manifest URL uses https://

    Why it matters

    Agents reject non-HTTPS endpoints outright. Signed payloads over HTTP are meaningless because the channel itself is tamperable.

  • UCP manifest reachableCore

    Manifest fetched OK from /.well-known/ucp.

    HTTP 200

    Why it matters

    Agents start every session by fetching this URL. If it 404s or times out, the store is invisible to agent commerce.

  • AI bot accessCore

    robots.txt allows agent crawlers to fetch the manifest.

    robots.txt allows /.well-known/ucp

    Why it matters

    Agents respect robots.txt. Even a published manifest gets ignored if the file is disallowed for known agent user-agents.

  • llms.txtExperimental

    Hand-written brief at /llms.txt for AI agents.

    HTTP 200 at /llms.txt

    Why it matters

    Emerging convention (analogous to robots.txt). Recommendation/discovery agents read it for brand context, return policy, and crawl preferences.

  • sitemap.xmlCore

    XML sitemap published at /sitemap.xml.

    HTTP 200 at /sitemap.xml

    Why it matters

    Tells agents which pages are canonical and how often they change. Without it, agents fall back to following internal links.

  • Open Graph tagsCore

    OG meta tags on the homepage.

    og:title and og:type/url present

    Why it matters

    OG tags drive how your store unfurls in agent surfaces, Slack, iMessage, and ChatGPT shares.

  • Organization schema (JSON-LD)Core

    Schema.org Organization (or OnlineStore) JSON-LD on homepage.

    Missing or incomplete on homepage

    Why it matters

    Gives agents a structured representation of your brand identity — used to verify you are who your manifest claims you are.

  • Mobile viewport metaCore

    Viewport meta tag for mobile rendering.

    <meta name="viewport"> present

    Why it matters

    Mobile agent sessions render in browser sandboxes that respect this. Without it, screenshots taken by agents are unreadable.

UCP Conformance3/5 passed

Does your manifest meet the published spec?

  • Manifest passes schema validationCore

    Manifest structure conforms to the published UCP spec.

    No structural errors

    Why it matters

    Strict UCP agents reject manifests with structural errors. The error code in the diagnostic shows which field failed.

  • Spec version present and well-formedCore

    ucp.version follows YYYY-MM-DD format.

    Version: 2026-08-25

    Why it matters

    UCP versions are dates, not semver. Agents pick the closest matching schema based on this string.

  • Signing keys publishedCore

    Root-level keys array (canonical since 2026-07-12; legacy signing_keys also accepted) for response verification.

    No signing_keys at root (common for managed/redirect-checkout stores)

    Why it matters

    Required for tokenized payment flows in v2026-04-08+. Stores using checkout-link redirects (e.g. WooCommerce native) often skip this safely.

  • Validation warnings clearCore

    Manifest passes structural and field-level rules.

    1 warning

    Why it matters

    Each warning is a strict-spec deviation — the recommendations section above lists them with copy-code fixes.

  • Spec & schema URLs resolve (6)Core

    Resolves the 6 spec/schema URLs declared across the manifest to confirm agents can fetch each one.

    All 6 URLs resolved.

    Why it matters

    Spec and schema URLs let agents validate request/response shapes before sending. Broken URLs degrade runtime validation to "best effort" and cause strict agents to refuse the capability entirely.

Capability Coverage2/5 passed

What operations can agents actually perform?

  • Capabilities declaredCore

    Number of agent-readable capabilities under ucp.capabilities.

    1 capability detected

    Why it matters

    Capabilities tell agents what operations to attempt. More coverage = more sessions complete end-to-end without falling back to scraping.

  • Checkout capabilityCore

    Store declares a checkout-namespaced capability.

    No checkout capability

    Why it matters

    Without a checkout capability, agents can browse but can't complete a purchase end-to-end.

  • Transports declaredInterop

    Service transports (REST/MCP/A2A/Embedded) declared on services.

    MCP

    Why it matters

    Transports tell agents how to actually call your endpoints. MCP and REST are the most widely supported today.

  • Payment handlersCore

    Tokenized payment handlers registered for in-conversation checkout.

    Empty array — checkout-link redirect strategy

    Why it matters

    Tokenized payment lets agents complete purchases without redirecting the buyer to a hosted checkout. Empty by design is valid for WooCommerce-style native checkouts.

  • MCP transport reachableInterop

    Live reachability check against https://snapmenu-ucp-dev.raghavan-7fc.workers.dev/mcp.

    tools/list returned a JSON-RPC response in 73ms

    Why it matters

    A declared transport that does not respond means agents will hit a dead end the moment they try to use the capability — even if the manifest itself looks perfect.

Capabilities Detected

UCP capabilities supported by this endpoint
Catalog Lookup ✓ Bound 2026-08-25
Catalog Search ✓ Bound 2026-08-25

Technical Vitals

Technical details for this UCP endpoint
UCP Status Verified
Endpoint https://dev-voiceai.snapmenu.ai/.well-known/ucp
HTTP Status 200
UCP Version 2026-08-25
Transports MCP
Last Observed
Last Full Index

Embed your UCP Score

Drop the live grade into your README, status page, or marketing site. The badge auto-updates as your score changes.

UCP Score for dev-voiceai.snapmenu.ai badge for https://ucpchecker.com/score/dev-voiceai.snapmenu.aiLive preview
Markdown
[![UCP Score for dev-voiceai.snapmenu.ai](https://ucpchecker.com/score/dev-voiceai.snapmenu.ai/badge.svg)](https://ucpchecker.com/score/dev-voiceai.snapmenu.ai)
HTML
<a href="https://ucpchecker.com/score/dev-voiceai.snapmenu.ai"><img src="https://ucpchecker.com/score/dev-voiceai.snapmenu.ai/badge.svg" alt="UCP Score for dev-voiceai.snapmenu.ai"></a>
New · Early access open
Is dev-voiceai.snapmenu.ai yours? Claim it & monitor it daily

Prove ownership with one DNS record and the new monitoring dashboard watches it every day — score trends, break alerts, staging drift and a watchlist that benchmarks you against the field. Free while in beta.

Start monitoring →

This score reflects data from the most recent crawl. Run a fresh check to update, or read the methodology to see how each signal is scored.

Save this report

Track dev-voiceai.snapmenu.ai's UCP score over time. We'll re-run the full check weekly and email you if the score drops, a capability regresses, or status flips.

Free. One email when something changes — no marketing. Privacy.