Compare motorcycle gear prices by landed cost (price, shipping, duty, tax) for CA, US, EU and UK.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
List motorcycle gear currently discounted on ALLR, with the same filters the site's Hot Deals board uses. Two boards: the default MSRP board (price below manufacturer list) and mode='retailer' (only deals where the store cut its OWN advertised price, ranked by that store's percentage). Returns the discounted landed price for the buyer country, the percentage off, the retailer featuring it and the allr.io product URL.
'msrp' (default) = below manufacturer list price. 'retailer' = the store cut its own advertised price.
Normalized size label ('XL', '44') — keeps only deals whose featured offer has that size in stock.
Maximum deals to return (1-50).
Buyer country (ISO-2, plus 'EU' and 'UK' as market codes). Determines the currency and the landed cost: item price + shipping + import duty + VAT. ALLR computes landed cost for these four markets only. ASK the rider rather than guessing.
Catalog category slug from list_categories_and_brands (e.g. 'helmets', 'jackets').
Retailer id — keeps only deals this retailer can fill, and features ITS price.
Helmet/riding-shirt subtype slug. Only meaningful together with `category`.
Minimum percentage off.
List motorcycle gear currently discounted on ALLR, with the same filters the site's Hot Deals board uses. Two boards: the default MSRP board (price below manufacturer list) and mode='retailer' (only deals where the store cut its OWN advertised price, ranked by that store's percentage). Returns the discounted landed price for the buyer country, the percentage off, the retailer featuring it and the allr.io product URL.
| Argument | Type | Description |
|---|---|---|
| mode | string | 'msrp' (default) = below manufacturer list price. 'retailer' = the store cut its own advertised price. |
| size | string | Normalized size label ('XL', '44') — keeps only deals whose featured offer has that size in stock. |
| limit | integer | Maximum deals to return (1-50). |
| country | string | Buyer country (ISO-2, plus 'EU' and 'UK' as market codes). Determines the currency and the landed cost: item price + shipping + import duty + VAT. ALLR computes landed cost for these four markets only. ASK the rider rather than guessing. |
| category | string | Catalog category slug from list_categories_and_brands (e.g. 'helmets', 'jackets'). |
| retailer | string | Retailer id — keeps only deals this retailer can fill, and features ITS price. |
| subcategory | string | Helmet/riding-shirt subtype slug. Only meaningful together with `category`. |
| min_discount_pct | integer | Minimum percentage off. |
{
"type": "object",
"properties": {
"mode": {
"enum": [
"msrp",
"retailer"
],
"type": "string",
"default": "msrp",
"description": "'msrp' (default) = below manufacturer list price. 'retailer' = the store cut its own advertised price."
},
"size": {
"type": "string",
"maxLength": 20,
"description": "Normalized size label ('XL', '44') — keeps only deals whose featured offer has that size in stock."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1,
"description": "Maximum deals to return (1-50)."
},
"country": {
"enum": [
"CA",
"US",
"EU",
"UK"
],
"type": "string",
"default": "US",
"description": "Buyer country (ISO-2, plus 'EU' and 'UK' as market codes). Determines the currency and the landed cost: item price + shipping + import duty + VAT. ALLR computes landed cost for these four markets only. ASK the rider rather than guessing."
},
"category": {
"type": "string",
"maxLength": 40,
"description": "Catalog category slug from list_categories_and_brands (e.g. 'helmets', 'jackets')."
},
"retailer": {
"type": "string",
"maxLength": 40,
"description": "Retailer id — keeps only deals this retailer can fill, and features ITS price."
},
"subcategory": {
"type": "string",
"maxLength": 40,
"description": "Helmet/riding-shirt subtype slug. Only meaningful together with `category`."
},
"min_discount_pct": {
"enum": [
10,
20,
30,
40
],
"type": "integer",
"description": "Minimum percentage off."
}
},
"additionalProperties": false
}Get the full per-retailer offer table for ONE ALLR product in a buyer country: landed cost broken down into item price, shipping, import duty and tax, plus stock, condition, per-colorway size availability, whether the retailer ships to that country, and an attributed buy link. This is the authoritative answer to 'where is it cheapest' — search_gear only carries the single lowest number. Offers are sorted cheapest landed first; a retailer that does not ship to the country is still listed, flagged and sorted last. Availability is truth per (retailer x colorway x size): each offer carries `availability_by_colorway`, one row per colorway with ITS OWN sizes. There is no offer-level size list, because a size in stock in one colorway says nothing about another — quote a size only with its colorway.
| Argument | Type | Description |
|---|---|---|
| size | string | Restrict to offers that have this size IN STOCK in at least one colorway, e.g. 'L', 'XL', '44'. The kept offers carry `matched_colorways` — exactly the colorways that have it. Combined with `colorway`, the offer must have that size IN that colorway. An offer with no per-colorway breakdown is dropped by this filter rather than guessed at. |
| limit | integer | Maximum offers to return (1-40). |
| country | string | Buyer country (ISO-2, plus 'EU' and 'UK' as market codes). Determines the currency and the landed cost: item price + shipping + import duty + VAT. ALLR computes landed cost for these four markets only. ASK the rider rather than guessing. |
| colorway | string | Restrict to offers carrying this colorway. Matched against the product's real colorway NAMES the way the product page matches them: the normalized name first ('matt black' = 'Matt Black'), and only if nothing matches exactly, any colorway whose name contains all of those words as whole words ('black' matches 'Matt Black' AND 'Black/Red'). A value that matches no colorway on this product comes back as an error listing the valid names. Omit to see every colorway. |
Recommend a size for a specific product (or a brand + category) from the rider's body measurements, using the manufacturer's own published size chart — the same charts and the same matcher the ALLR product page uses. Measurements are in CENTIMETRES: head circumference for helmets, chest for jackets/suits, hand circumference for gloves, foot length for boots. Returns the recommended label with its EU/US/UK equivalents, how snug it falls, and a link to the brand's official chart. When no chart exists for the brand+category, or the needed measurement is missing, it says so rather than guessing.
| Argument | Type | Description |
|---|---|---|
| brand | string | Brand name, e.g. 'AGV', 'Alpinestars'. Required when `product_id` is omitted. |
| foot_cm | number | Foot length in cm (boots). |
| hand_cm | number | Hand circumference in cm (gloves). |
| head_cm | number | Head circumference in cm (helmets). |
| category | string | Product category, e.g. 'Full-Face Helmet', 'Leather Jacket', 'Boots', 'Gloves'. Required when `product_id` is omitted. |
| chest_cm | number | Chest circumference in cm (jackets, suits). |
| known_size | string |
List the catalog categories and the brands ALLR tracks, with the exact slugs the `category` and `brand` filters on search_gear and get_deals expect. Call this first when you are about to filter, so a filter value is grounded in the catalog rather than guessed. Cheap and static — it reads bundled catalog metadata, not the live price data.
| Argument | Type | Description |
|---|---|---|
| brand_query | string | Return only brands whose name or slug contains this text (case-insensitive). |
| include_brands | boolean | Include the brand list (a few hundred entries). Set false for categories only. |
{
"type": "object",
"properties": {
"brand_query": {
"type": "string",
"maxLength": 60,
"description": "Return only brands whose name or slug contains this text (case-insensitive)."
},
"include_brands": {
"type": "boolean",
"default": true,
"description": "Include the brand list (a few hundred entries). Set false for categories only."
}
},
"additionalProperties": false
}Search ALLR's motorcycle-gear catalog (helmets, jackets, suits, pants, boots, gloves, protection, riding shirts, base layers, communication, luggage, accessories) by free text, and get each product's lowest landed cost for a buyer country, how many retailers carry it, and its allr.io product-page URL. Use this to FIND a product; then call get_product_offers with the returned `id` for the per-retailer price table. The `lowest_landed_price` is the cheapest total including shipping, duty and VAT for `country` — not a sticker price — and is one number out of a full table, so do not present it as the final answer on its own.
| Argument | Type | Description |
|---|---|---|
| brand | string | Restrict to a brand. Use a `slug` or `name` from list_categories_and_brands. Applied as a brand-token filter on the matched products. |
| limit | integer | Maximum products to return (1-25). |
| query* | string | Free-text search, e.g. 'agv k6', 'waterproof adventure jacket', 'alpinestars smx-6 boots'. Brand names, model names and model numbers all work. |
| cursor | string | Opaque pagination cursor from a previous call's `next_cursor`. Omit for the first page. |
| gender | string | Restrict to products cut for this rider group, using ALLR's own gender classifier. |
| country | string | Buyer country (ISO-2, plus 'EU' and 'UK' as market codes). Determines the currency and the landed cost: item price + shipping + import duty + VAT. ALLR computes landed cost for these four markets only. ASK the rider rather than guessing. |
| product_id* | string | ALLR product id from search_gear, or a full https://allr.io/product/<id> URL, or the bare slug. A merged/renamed id is followed to its canonical product automatically. |
| include_out_of_stock | boolean | Keep out-of-stock offers in the table (default true — ALLR never hides them). Set false to see only buyable offers. |
{
"type": "object",
"required": [
"product_id"
],
"properties": {
"size": {
"type": "string",
"maxLength": 20,
"description": "Restrict to offers that have this size IN STOCK in at least one colorway, e.g. 'L', 'XL', '44'. The kept offers carry `matched_colorways` — exactly the colorways that have it. Combined with `colorway`, the offer must have that size IN that colorway. An offer with no per-colorway breakdown is dropped by this filter rather than guessed at."
},
"limit": {
"type": "integer",
"default": 40,
"maximum": 40,
"minimum": 1,
"description": "Maximum offers to return (1-40)."
},
"country": {
"enum": [
"CA",
"US",
"EU",
"UK"
],
"type": "string",
"default": "US",
"description": "Buyer country (ISO-2, plus 'EU' and 'UK' as market codes). Determines the currency and the landed cost: item price + shipping + import duty + VAT. ALLR computes landed cost for these four markets only. ASK the rider rather than guessing."
},
"colorway": {
"type": "string",
"maxLength": 120,
"description": "Restrict to offers carrying this colorway. Matched against the product's real colorway NAMES the way the product page matches them: the normalized name first ('matt black' = 'Matt Black'), and only if nothing matches exactly, any colorway whose name contains all of those words as whole words ('black' matches 'Matt Black' AND 'Black/Red'). A value that matches no colorway on this product comes back as an error listing the valid names. Omit to see every colorway."
},
"product_id": {
"type": "string",
"maxLength": 220,
"minLength": 1,
"description": "ALLR product id from search_gear, or a full https://allr.io/product/<id> URL, or the bare slug. A merged/renamed id is followed to its canonical product automatically."
},
"include_out_of_stock": {
"type": "boolean",
"default": true,
"description": "Keep out-of-stock offers in the table (default true — ALLR never hides them). Set false to see only buyable offers."
}
},
"additionalProperties": false
}| A size the rider already wears in this brand+category ('L', 'EU 44'), used when no measurement is given. |
| product_id | string | ALLR product id or /product/ URL. Supplies the brand, category and model so the right chart variant is picked. Provide this OR both `brand` and `category`. |
{
"type": "object",
"properties": {
"brand": {
"type": "string",
"maxLength": 60,
"description": "Brand name, e.g. 'AGV', 'Alpinestars'. Required when `product_id` is omitted."
},
"foot_cm": {
"type": "number",
"maximum": 40,
"minimum": 18,
"description": "Foot length in cm (boots)."
},
"hand_cm": {
"type": "number",
"maximum": 40,
"minimum": 10,
"description": "Hand circumference in cm (gloves)."
},
"head_cm": {
"type": "number",
"maximum": 80,
"minimum": 40,
"description": "Head circumference in cm (helmets)."
},
"category": {
"type": "string",
"maxLength": 60,
"description": "Product category, e.g. 'Full-Face Helmet', 'Leather Jacket', 'Boots', 'Gloves'. Required when `product_id` is omitted."
},
"chest_cm": {
"type": "number",
"maximum": 180,
"minimum": 60,
"description": "Chest circumference in cm (jackets, suits)."
},
"known_size": {
"type": "string",
"maxLength": 12,
"description": "A size the rider already wears in this brand+category ('L', 'EU 44'), used when no measurement is given."
},
"product_id": {
"type": "string",
"maxLength": 220,
"description": "ALLR product id or /product/ URL. Supplies the brand, category and model so the right chart variant is picked. Provide this OR both `brand` and `category`."
}
},
"additionalProperties": false
}| category | string | Restrict to a catalog category. Use a `slug` from list_categories_and_brands (e.g. 'helmets', 'jackets', 'boots'). |
| max_price | number | Highest acceptable landed price in the country's currency. |
| min_price | number | Lowest acceptable landed price in the country's currency. |
| certification | string | Restrict to products carrying this safety certification label, e.g. 'ECE 22.06', 'DOT', 'SNELL', 'CE AA'. Matched case-insensitively against the same certification labels the ALLR catalog filters on. A product whose certification ALLR cannot derive from its catalog row returns no `certifications` and is excluded by this filter — check the product page before telling a rider something is uncertified. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"brand": {
"type": "string",
"maxLength": 60,
"description": "Restrict to a brand. Use a `slug` or `name` from list_categories_and_brands. Applied as a brand-token filter on the matched products."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1,
"description": "Maximum products to return (1-25)."
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Free-text search, e.g. 'agv k6', 'waterproof adventure jacket', 'alpinestars smx-6 boots'. Brand names, model names and model numbers all work."
},
"cursor": {
"type": "string",
"maxLength": 40,
"description": "Opaque pagination cursor from a previous call's `next_cursor`. Omit for the first page."
},
"gender": {
"enum": [
"mens",
"womens",
"unisex",
"kids"
],
"type": "string",
"description": "Restrict to products cut for this rider group, using ALLR's own gender classifier."
},
"country": {
"enum": [
"CA",
"US",
"EU",
"UK"
],
"type": "string",
"default": "US",
"description": "Buyer country (ISO-2, plus 'EU' and 'UK' as market codes). Determines the currency and the landed cost: item price + shipping + import duty + VAT. ALLR computes landed cost for these four markets only. ASK the rider rather than guessing."
},
"category": {
"type": "string",
"maxLength": 40,
"description": "Restrict to a catalog category. Use a `slug` from list_categories_and_brands (e.g. 'helmets', 'jackets', 'boots')."
},
"max_price": {
"type": "number",
"minimum": 0,
"description": "Highest acceptable landed price in the country's currency."
},
"min_price": {
"type": "number",
"minimum": 0,
"description": "Lowest acceptable landed price in the country's currency."
},
"certification": {
"type": "string",
"maxLength": 40,
"description": "Restrict to products carrying this safety certification label, e.g. 'ECE 22.06', 'DOT', 'SNELL', 'CE AA'. Matched case-insensitively against the same certification labels the ALLR catalog filters on. A product whose certification ALLR cannot derive from its catalog row returns no `certifications` and is excluded by this filter — check the product page before telling a rider something is uncertified."
}
},
"additionalProperties": false
}