How it works

How agentfit measures your store

AI agents shop differently from humans. They read your UCP profile, hit your MCP endpoint, and decide in seconds whether your store is worth surfacing to a buyer. agentfit measures what they see — and tells you where to fix.

Free · No app to install · 30–60 seconds end-to-end

The flow

From URL to report in three steps

  1. 1

    Submit your store URL

    You paste a Shopify URL on the landing page (e.g. yourstore.myshopify.com or your custom domain). We solve a Cloudflare Turnstile challenge to keep bots out — no signup, no app install, no OAuth dance.

  2. 2

    Verify your email

    A one-time 6-digit code arrives in your inbox. Verifying ties the audit to a real merchant and stops us from burning probes for the entire internet. The code expires in 15 minutes; you can resend up to three times per session.

  3. 3

    Run the audit

    We fetch your UCP profile from /.well-known/ucp, run live MCP calls against the endpoint declared there (search a product, get its detail, build a cart, follow the checkout handoff), and score 27 checks across seven categories. The full report appears on a permalink URL you can share or revisit for 90 days.

What we check

Seven categories, 27 probes

Categories A–E read your UCP profile (a JSON document at {shop}/.well-known/ucp describing your commerce surface). Categories F–G run live tools/call requests against your MCP endpoint to verify the surface actually works.

A

Capability presence the gate

We confirm the basics: your profile is reachable at /.well-known/ucp, an MCP endpoint is declared under services["dev.ucp.shopping"], and the required capabilities are advertised — dev.ucp.shopping.checkout, dev.ucp.shopping.cart, and both catalog.search + catalog.lookup.

Why it matters → Without these, agents literally can't talk to your store. If any Category A probe fails, the audit short-circuits to “Not UCP-enabled” — there's no point scoring the rest.

Reference: Agent profiles and UCP negotiation

B

Payment handlers

We count the handlers your storefront advertises under the checkout capability's config.payment_handlers, and check for the five that drive most agent-driven conversion: Shop Pay, Google Pay, Apple Pay, PayPal, and a card fallback.

Why it matters → An agent can only complete a checkout it knows how to settle. The more handlers you advertise, the more likely an agent finds one its buyer is configured for — and the fewer abandoned carts at the wallet step.

Reference: Cart MCP server

C

Fulfillment options

We read your fulfillment capability config: whether multi-destination shipping is enabled (allows_multi_destination.shipping), whether pickup is offered (in allows_method_combinations), and the overall diversity of method combinations.

Why it matters → Agents optimize for fulfillment fit. A buyer asking for “a gift shipped to my parents' house” needs multi-destination. A local-first buyer wants pickup. Fewer options means more declined orders for the agent and fewer routed to you.

Reference: Carts and checkout for agents

D

Promotions & extensions

We look for a declared discount extension (dev.ucp.shopping.discount), a gift/bundle/subscription extension from a known allowlist, and the count of third-party (non-dev.*) capabilities the merchant has exposed.

Why it matters → Agents read these to apply offers automatically. A gift extension means an agent can turn a browse session into a gift-with-purchase upsell. A subscription extension means recurring revenue rather than one-shot. Stores without these get treated like everyone else.

Reference: Agentic commerce overview

E

Versioning & maturity

We check that your profile lists the current UCP spec version (2026-04-08) in supported_versions, and that you support more than one version — a signal you actively maintain the integration and won't break when the spec moves.

Why it matters → Agents prefer merchants on the latest version. Multi-version support means clients on older spec releases don't break against you.

Reference: Define your agent profile

F

Catalog quality live MCP

This is where we leave the profile and run live calls against your MCP endpoint:

  • search_catalog with { catalog: { query: "new" } } — does the catalog actually return products?
  • get_product on the first hit — full detail (images, description, variants, availability, tags)?
  • search_catalog with catalog.context.address_country: "GB" — does pricing localize?

Why it matters → Agents discover products via these calls. A thin product detail means the agent doesn't have enough to recommend you to the buyer. Identical locale pricing across markets means international shoppers get charged the wrong currency at checkout.

Reference: Storefront Catalog MCP

G

Cart functionality live MCP

We build a real cart against your store and verify the round-trip:

  • create_cart with one variant from the get_product result
  • get_cart by id — does the cart come back?
  • Totals — subtotal + total both populated?
  • GET on cart.continue_url — does the handoff URL actually serve a cart page?
  • cancel_cart — best-effort cleanup so we don't litter your storage.

Why it matters → If an agent builds a cart but the totals are missing, or the continue_url resolves to an empty page, the buyer trying to complete the purchase lands on a broken handoff. No conversion.

Reference: Build a cart with Cart MCP

Reading the report

What pass / warn / fail / skip mean

PASS

Full points. The probe found exactly what the spec asks for. No action needed.

WARN

Partial points. The probe found something but not the maximum (e.g., 3 payment handlers when 5+ unlocks the cap). Worth fixing if you have the bandwidth.

FAIL

Zero points. The check returned negatively, or the source of truth is missing. Each fail comes with a one-click fix in the report.

SKIP

Not applicable. A dependency isn't there to measure against (e.g., variant resolution doesn't apply if you sell single-SKU products). Skipped probes don't affect your score.

FAQ

Common questions

What is UCP?

Universal Commerce Protocol — Shopify's spec for how merchants advertise their commerce surface to AI agents. Every Shopify store gets it automatically; the question agentfit answers is whether your specific configuration takes full advantage. Shopify UCP docs →

How long does the audit take?

30–60 seconds end-to-end. We make 6–7 sequential MCP calls against your storefront; the wall-clock depends mostly on how quickly your store responds to them.

Will running the audit affect my real customers?

No. We create one cart, retrieve it, then cancel it. The activity looks like a single visitor browsing — less impact than a real shopper who actually checks out. We never call payment or inventory endpoints.

Do you store my email?

Yes, with the audit session, automatically deleted after 24 hours. The audit report itself is kept for 90 days so you can revisit the URL. Full details on privacy.

How often should I re-run?

After any change that touches your UCP surface — enabling a new payment provider, installing/uninstalling an agent-aware app, switching themes that override the catalog endpoint. Once a month is plenty for a stable store.

What's the score out of, and what counts as "good"?

100. The thresholds:

  • 80–100 — Agent-ready
  • 60–79 — Mostly ready
  • 40–59 — Significant gaps
  • 0–39 — Just getting started
  • Any Category A fail → Not UCP-enabled (overrides the numeric score)
How are the 27 probes structured?

Seven categories, A through G, each containing a small handful of probes that share a source of truth:

  • A — 5 probes (capability presence, the gate)
  • B — 6 probes (payment handlers)
  • C — 3 probes (fulfillment options)
  • D — 3 probes (promotions & extensions)
  • E — 2 probes (versioning & maturity)
  • F — 4 probes (catalog quality, live MCP)
  • G — 4 probes (cart functionality, live MCP)

The score is the sum of all 27 probes' points, capped at 100.

Can I share the report URL?

Yes — the /audit/<slug>/ URL stays live for 90 days. Anyone with the URL can re-open the report (no sessionId required after the first run; the cached report is served straight from S3 via the same endpoint). The verification step only gates the initial run.

Ready to see your score?

One paste, one email, sixty seconds.

Run my audit →