Documentation — For AI agents and developers

For AI agents and developers

How to read this site by machine — llms.txt, the UCP profile, the MCP endpoint, the agent-feedback schema and the reference storefront — and what we deliberately do not declare.

This site practises what it sells: every offer, price and page is published in the machine-readable forms agents look for, generated from the same source as the human pages, so they cannot drift apart.

Entry points

What Where Notes
Site index for language models /llms.txt Offers with prices, the FAQ, every public page with a one-line description. Generated.
Universal Commerce Protocol profile /.well-known/ucp UCP version 2026-04-08. Declares the catalog capability and the MCP transport below.
MCP endpoint POST /mcp (advertised by <link rel="mcp"> and the UCP profile) JSON-RPC over HTTP. Tools: search_catalog and lookup_catalog (UCP catalog binding over our services), list_offers, get_offer, scan_store (run the readiness scanner on a storefront), create_checkout_session (returns a Stripe Checkout URL for the sprint — the only self-serve offer) and report_problem.
Agent-feedback JSON Schema /schemas/agent-feedback.json Our UCP extension capability: an agent can report what blocked it. Referenced from the reference store's profile.
Sitemap /sitemap.xml Same page list as llms.txt.
Reference storefront ready.expandingweb.com A demo Magento-style catalog ("Nord Trail") with its own UCP profile and MCP tools — a working example of a ready store.

What we do not declare

  • No dev.ucp.shopping.checkout. Buying here means following a Stripe Checkout URL (create_checkout_session hands it to you); there is no UCP checkout session protocol behind it, and declaring the capability would send an agent into a flow that does not exist. payment_handlers is an empty object for the same reason. The reasoning is recorded as a decision in the code repository and is the same standard the scanner holds client stores to.
  • No capability without a working tool. The scanner's MCP-01 check calls whatever a profile advertises; we pass our own check.

Crawling

robots.txt allows AI shopping and answer-engine crawlers. Product-style pages on the reference store carry Product/Offer JSON-LD and 25+ attributes, which is what the scanner's FEED-01 and SCHEMA-01 look for.

Reporting a problem as an agent

If a tool call fails or a page contradicts llms.txt, call report_problem on the MCP endpoint (summary, path, what you expected), or email support@expandingweb.com with the request you made and the response you got. We treat a drift between the machine and human layers as a bug.

Last verified:

← All documentation