{"name":"Windridge Site Agent","version":"0.1.0","description":"Outdoor retail site agent — exposes browsing, personalization, search, navigation, and stage-purchase tools to a paired personal agent. Generative product-listing + editorial layouts on /api/site/personalize{,/stream}.","url":"https://windridgedemo.fantasy.co/api/site","provider":{"organization":"Windridge","url":"https://windridge.com"},"capabilities":{"streaming":true,"pushNotifications":false,"stateTransitionHistory":false},"defaultInputModes":["application/json"],"defaultOutputModes":["application/json","text/event-stream"],"skills":[{"id":"get_tools","name":"Get tools","description":"Returns the list of WebMCP tools this site exposes — name, description, and inputSchema for each. Mirrors the shape of document.modelContext.getTools() so a personal agent can introspect its capabilities at runtime instead of relying on baked-in catalog knowledge. Use this to answer \"what can you do here?\" or \"what actions are available on this site?\" — the populated inputSchema enums also describe site offerings (available sports, genders, content types, programs).","tags":["read-only"]},{"id":"get_current_page_context","name":"Get current page context","description":"Returns a slim snapshot of what is currently rendered: pageType, url (path + query string + hash), and an array of sections in reading order. Each section carries its type, optional semantic role (hero / recommended / editorial), and slim references to any products (id, name, position, colors, price) or stories (id, title, position) visible inside it. Call this when the user references something on the page (\"the blue one\", \"the second story\", \"the recommendations\") and you are not sure the snapshot you have is current. Does NOT report scroll position, focused element, or search-result content beyond the rendered grid — read the url query string for search terms.","tags":["read-only"]},{"id":"get_site_capabilities","name":"Get site capabilities","description":"Returns the personalization capabilities of this Windridge site: available sports, genders, content types, programs, and browsing style options. DEPRECATED — get_tools() returns a strict superset; new callers should prefer that. Kept for one release for backward compatibility.","tags":["read-only"]},{"id":"find_products","name":"Find products","description":"Find products in the Windridge catalog by a MECHANICAL query — a free-text keyword and/or facets (sport, gender, category), optionally sorted and limited. Matches across name, descriptions, features, style, and tags, ranked by relevance. Supply at least one of `query` or a facet for a focused result (with none, it returns a general catalog listing — use `limit`). Use this when the user STATES what they want literally (\"waterproof hooded shells\", \"men's ski pants under $200\", \"do you have rain jackets?\"). Do NOT use this for an intelligent \"find something like X / like my last jacket / right for me\" ask — that requires judgment and is the site's personalize flow, not this tool. `render` controls presentation: \"data_only\" (default) returns products for you to speak about with NO page change; \"results_page\" also navigates the user to /search (requires a query). For best results: use `query` for attributes/needs, add facets to scope, and `limit` for \"top N\".","tags":["search"]},{"id":"quick_view","name":"Quick view","description":"Show ONE product WITHOUT leaving the current page — a quick-view of the card if the product is already on screen, otherwise a small overlay 'glimpse' flyover. Returns a slim summary by id (name, brand, price, key features, in-stock sizes, image) to narrate. Use this when the user wants to SEE or hear about a specific product in passing (\"show me that hat again\", \"what was the price on the green one?\", \"let me see that jacket\") and you can resolve the id from page-context or conversation history. CRITICAL: this is NOT navigation — do NOT use navigate(pdp:…) for a 'show me / let me see' intent; that changes the whole page to the PDP. Use navigate ONLY when the user explicitly wants to GO TO the product's full detail page. Returns null when the id is unknown. Use find_products for catalog browsing/discovery, stage_purchase for buy-intent. Lightweight: no reviews, materials, or additional images.","tags":["read-only"]},{"id":"get_stories_and_content","name":"Get stories and content","description":"Returns Windridge Stories and editorial content, optionally filtered by category and content type. Can also include Footprint Chronicles, Worn Wear items, and Web Specials.","tags":["read-only"]},{"id":"submit_visitor_context","name":"Submit visitor context","description":"Submit visitor preferences to personalize the Windridge experience. Triggers the site to generate a personalized layout. AT LEAST ONE preference field must be supplied — empty calls are rejected. Send any combination of structured preferences you can derive from your user; none individually requires the others (e.g., location alone is valid).","tags":["personalization"]},{"id":"personalize_plp","name":"Personalize plp","description":"Personalize the current Product Listing Page for a paired user. Call this when the user asks to see products similar to a past purchase (e.g. \"more like my last jacket\") while on a PLP. The site will collapse filters, show a focused 6-product grid, and pin a hero product.","tags":["personalization"]},{"id":"depersonalize","name":"Depersonalize","description":"Depersonalize the site / go back to the default site / stop personalizing. The site renders the default equivalent of the current page; site-side session state (cart, etc.) is preserved. No args. No-op (still success) when no personalization is currently active.","tags":["action"]},{"id":"navigate","name":"Navigate","description":"Route the user to a curated/known page on Windridge — a Product Listing Page slug, a Product Detail Page reference (\"pdp:tahoe-jacket-003\"), or a path (\"/\"). Use this when the user wants to GO TO a known place (\"take me to men's winter jackets\", \"go to the home page\", \"open the Tahoe jacket's page\"). The available curated PLP slugs are: mens-jackets, mens-winter-jackets, mens-midlayers, mens-pants, mens-shorts, mens-base-layers, womens-jackets, womens-winter-jackets, womens-midlayers, womens-pants, womens-shorts, womens-base-layers, packs, winter-jackets — pick one of these (or a pdp:<id> / path); these destinations are owned by the site, do NOT invent new slugs. Distinct from personalize_plp (personalizes the CURRENT page) and quick_view (peeks a product in place); navigate moves the user to a NEW page.","tags":["navigation"]},{"id":"stage_purchase","name":"Stage purchase","description":"Stage one or more products for purchase. Opens a payment-mode overlay listing the products with a thumbprint-purchase affordance. Demo-stub: the actual transaction is NOT executed — the overlay is a visual checkout substitute. Use when the user explicitly asks to buy a set of products together (\"I'd like to buy this jacket and the black hat\").","tags":["action"]}]}