# NFTY Demo Goods > NFTY Demo Goods is a demo storefront at https://nfty.us/demo/shop showcasing Funnel, NFTY's AI-agent commerce toolkit. It sells fictional physical goods (nothing real is sold) and exposes structured tools and data so AI shopping agents can act strategically instead of scraping the DOM. The catalog has 10 products across these categories: Footwear, Bags, Kitchen, Drinkware, Lighting, Fitness, Electronics, Apparel, Camping. Prices range from $24 to $269. Search works via /search/suggest.json, the full catalog at /products.json, or the hosted semantic search at /funnel/search/pk_M1P_CU5vH0e6piXUY4zDxxzc?q=. Cart and checkout use Shopify-compatible endpoints. Cookie cart POSTs require the visitor's browser session — cloud agents should instead call `build_cart_link` (or build a `/cart/{variant_id}:{qty}` permalink) and hand that URL to the human. ## Recommended interaction pattern 1. `get_store_context` (MCP) or fetch /demo/shop.md — understand the catalog first. 2. `search_products`, `recommend_products`, or GET /funnel/search/pk_M1P_CU5vH0e6piXUY4zDxxzc?q= — find candidates for the user's need (semantic search when the catalog is synced). 3. `get_product` — confirm details, variants, and availability before recommending. 4. `build_cart_link` — hand the human a pre-filled cart URL (cloud agents), OR `add_to_cart` if running in their browser. NEVER `begin_checkout` without explicit human confirmation. ## Decision rules - This is a demo store: no real fulfillment, payments, or inventory. Say so if asked. - Prefer the JSON endpoints over parsing HTML — they are the source of truth. - One variant may be sold out (check `available` on each variant before adding to cart). - Respect guardrails returned by tool responses (max cart value, quantity limits). - Cloud agents: never POST to /cart/add.js — use build_cart_link / cart permalinks. ## Agent tools (in-page, WebMCP / window bridge) When browsing with a WebMCP-capable browser or extension, these tools are registered on every page via `window.nftyFunnel`: - `search_products`: Search the catalog by natural-language query - `get_product`: Full details for a product by id or handle, including variants - `add_to_cart`: Add a product variant to the visitor's cart - `get_cart`: View current cart contents and total - `begin_checkout`: Navigate to checkout (requires user confirmation) ## Direct data access (no JS required) - Product catalog (JSON): https://nfty.us/products.json - Product search: https://nfty.us/search/suggest.json?q={query} - Hosted semantic search: https://nfty.us/funnel/search/pk_M1P_CU5vH0e6piXUY4zDxxzc?q={query} - Single product (JSON): https://nfty.us/products/{handle}.js - Related products: https://nfty.us/recommendations/products.json?product_id={id} - Catalog as markdown: https://nfty.us/demo/shop.md - Single product as markdown: https://nfty.us/products/{handle}.md - Cart permalink (pre-fill + redirect to checkout): https://nfty.us/cart/{variant_id}:{qty} - Store policies (plain text): https://nfty.us/policies - Machine-readable tool manifest: look for `#nfty-agent-tools` in page HTML ## MCP server (for ChatGPT connectors, Claude, and other MCP clients) - Endpoint (streamable HTTP): https://nfty.us/funnel/mcp/pk_M1P_CU5vH0e6piXUY4zDxxzc - Tools: search_products, filter_sort_products, get_product, get_store_context, recommend_products, build_cart_link, get_store_policies, plus a load_shopping_context prompt for continuing a conversation started on-site. - Cookie-bound cart tools (add_to_cart / get_cart / begin_checkout) are intentionally absent from MCP — use build_cart_link instead. ## Notes - Always confirm with the human user before completing checkout. - Respect the guardrails returned by tool responses. - Tool responses include `note` and `suggested_followups` hints — use them.