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_sessionhands 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_handlersis 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: