Skip to main content
Glama

ALLR Motorcycle Gear Prices

Server Details

Compare motorcycle gear prices by landed cost (price, shipping, duty, tax) for CA, US, EU and UK.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
ChatGPT
–
Claude
–

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct role: catalog search, discounted deals, per-retailer offer detail, size recommendation, and category/brand metadata. The only mild overlap is that get_deals and search_gear both surface products with prices, but their board-vs-free-text purposes are explicitly differentiated.

Naming Consistency5/5

All tool names use snake_case and follow a predictable verb_noun pattern (get_deals, get_product_offers, get_size_recommendation, list_categories_and_brands, search_gear). The use of get/list/search is consistent with each tool's action.

Tool Count5/5

Five tools is well-scoped for a read-only motorcycle gear price comparison server. Each tool corresponds to a necessary workflow step, with no redundant or filler operations.

Completeness4/5

The surface covers discovery of categories/brands, product search, deals, per-retailer offers, and sizing guidance, which is strong for this domain. A minor gap is that get_deals does not explicitly return the product id needed to chain into get_product_offers, though agents can likely work around this via the product URL.

Available Tools

5 tools
get_dealsCurrent motorcycle gear price dropsA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
modeNo'msrp' (default) = below manufacturer list price. 'retailer' = the store cut its own advertised price.msrp
sizeNoNormalized size label ('XL', '44') — keeps only deals whose featured offer has that size in stock.
limitNoMaximum deals to return (1-50).
countryNoBuyer country (ISO-2, plus 'EU' and 'UK' as market codes). Determines the currency and the landed cost: item price + shipping + import duty + customs brokerage fee. Destination sales tax / VAT is not included. ALLR computes landed cost for these four markets only.US
categoryNoCatalog category slug from list_categories_and_brands (e.g. 'helmets', 'jackets').
retailerNoRetailer id — keeps only deals this retailer can fill, and features ITS price.
subcategoryNoHelmet/riding-shirt subtype slug. Only meaningful together with `category`.
min_discount_pctNoMinimum percentage off.

Output Schema

NameRequiredDescription
modeYes
as_ofYesISO-8601 timestamp at which these prices were assembled.
dealsYes
countryYes
currencyYes
computed_atNoWhen ALLR last recomputed the deals pool.
total_matchesYesDeals in the current pool matching these filters. Honest for the pool as computed — but see `results_capped`.
results_cappedYesTrue when ALLR's deals pool was itself truncated when it was last computed, so `total_matches` is a floor rather than the complete count.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is fully covered. The description adds useful result semantics (what is returned: landed price, percent off, retailer, product URL) and the retailer-board ranking rule, but says nothing about pagination, empty-result behavior, or cost of a broad query without filters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, roughly 55 words, front-loaded with the core action and the board distinction before the return-value summary. The mode explanation partly restates the schema's mode description, a small redundancy, but the rest is dense and earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter, zero-required list tool with a full output schema and rich annotations, the description supplies purpose, mode semantics, ranking, and return fields. The remaining gap is sibling differentiation from search_gear and get_product_offers, which an agent would need to pick this tool confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, including the landed-cost composition for country and the category/subcategory dependency, so the schema already carries the parameter burden. The description reinforces the mode parameter's two boards and adds the ranking rule for retailer mode, but contributes nothing new about size, limit, min_discount_pct, or retailer filtering.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

"List motorcycle gear currently discounted on ALLR" gives a specific verb and resource, and the two-board framing (default MSRP board vs mode='retailer') narrows the scope further. It never names the siblings it competes with (search_gear, get_product_offers), so an agent must infer the boundary from the catalog rather than from the text.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly routes between the two internal modes: default MSRP board for below-list pricing versus mode='retailer' for store-cut prices ranked by that store's percentage. That is genuine when-to-use guidance, but it stops at intra-tool selection and offers no exclusion or alternative for general gear searching or per-product offer lookup, which the sibling tools cover.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_product_offersGet every retailer offer for a productA
Read-onlyIdempotent
Inspect

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 customs brokerage (these sum to landed_total; destination sales tax / VAT is not included, so tax is 0), plus stock, condition, per-colorway size availability, whether the retailer ships to that country, and a buy link (an allr.io redirect to the retailer). search_gear only carries the single lowest number. Offers are sorted cheapest landed first and the first limit are returned (default 10, max 40; offer_count is the total available); 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.

NameRequiredDescriptionDefault
sizeNoRestrict 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.
limitNoMaximum offers to return, cheapest landed first (1-40, default 10). `offer_count` is the total and `has_more` says whether more offers exist beyond this limit.
countryNoBuyer country (ISO-2, plus 'EU' and 'UK' as market codes). Determines the currency and the landed cost: item price + shipping + import duty + customs brokerage fee. Destination sales tax / VAT is not included. ALLR computes landed cost for these four markets only.US
colorwayNoRestrict 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. When omitted, every colorway is included.
product_idYesALLR 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_stockNotrue includes out-of-stock offers in the table (ALLR does not hide them by default); false returns only in-stock offers.

Output Schema

NameRequiredDescription
as_ofYesISO-8601 timestamp at which these prices were assembled.
offersYes
countryYes
productYes
currencyYes
has_moreNotrue when more offers exist than `limit` returned; `limit` accepts up to 40.
offer_countYesTotal offers for this product/country after filters (may exceed the number returned in `offers`).

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover the safety profile (readOnly, idempotent, non-destructive), and the description adds substantial behavior the agent could not infer: landed cost is item + shipping + duty + brokerage with tax excluded, results are sorted cheapest-landed-first and capped by limit with offer_count showing the total, and non-shipping retailers are still listed but flagged and sorted last. It also discloses the per-colorway availability model and the error behavior for an unmatched colorway.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, and the tax-exclusion and sorting rules appear early where an agent will read them. The prose is dense to the point of being a single wall of clauses, and the repeated re-explanation of landed-cost components in the country param is redundant, but no sentence is throwaway.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema covers return shape, and the description supplies everything else an agent needs for a 6-parameter read tool: cost composition, sort order, pagination signals, out-of-market handling, and the colorway/size matching model. Nothing material is left to inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description still earns credit by explaining the data model behind the parameters — that availability is per (retailer x colorway x size), that there is deliberately no offer-level size list, and that offers lacking a per-colorway breakdown are dropped rather than guessed at. It mostly restates limit and country semantics already in the schema, which keeps it off a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Get the full per-retailer offer table for ONE ALLR product in a buyer country") and immediately scopes it against a named sibling: "search_gear only carries the single lowest number." An agent can tell exactly what this returns versus a search result without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The alternative is named explicitly (search_gear for the single lowest price, this tool for the full per-retailer breakdown), and the product_id schema hints at the search_gear workflow. What's missing is an explicit "when not to use" statement, e.g. don't call this for browsing or for products not yet resolved to an id.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_size_recommendationRecommend a size from body measurementsA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
brandNoBrand name, e.g. 'AGV', 'Alpinestars'. Required when `product_id` is omitted.
foot_cmNoFoot length in cm (boots).
hand_cmNoHand circumference in cm (gloves).
head_cmNoHead circumference in cm (helmets).
categoryNoProduct category, e.g. 'Full-Face Helmet', 'Leather Jacket', 'Boots', 'Gloves'. Required when `product_id` is omitted.
chest_cmNoChest circumference in cm (jackets, suits).
known_sizeNoA size the rider already wears in this brand+category ('L', 'EU 44'), used when no measurement is given.
product_idNoALLR product id or /product/ URL. Supplies the brand, category and model so the right chart variant is picked. Either this or both `brand` and `category` is required.

Output Schema

NameRequiredDescription
as_ofYesISO-8601 timestamp at which these prices were assembled.
brandNo
needsNoSet when a chart exists but the required input is missing — the label of the measurement that is missing.
categoryNo
product_idNo
recommendedNo

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, closed-world), so the description is free to spend itself on behaviour an agent cannot infer: it uses the same charts and the same matcher as the ALLR product page, and it explicitly refuses to guess when a chart or measurement is missing. That refusal behaviour is the single most important thing to know before calling it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense paragraph that front-loads the core action and scope before moving to units, return values, and the failure mode — every sentence carries information. The unit/category mapping slightly duplicates the schema descriptions, which is the only wasted motion.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present the description need not enumerate return fields, yet it usefully sketches them (label, EU/US/UK equivalents, snugness, chart link). For a tool with 8 optional parameters and no required ones, it makes the mutual requirement explicit. The only gap is telling the agent how to obtain a product_id when it has none.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents each measurement, its unit, and the product_id/brand+category dependency. The description restates the centimetre convention and the category-to-measurement mapping, which is useful reinforcement but adds little beyond the structured fields; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (recommend) plus resource (a size) and precise scope (from body measurements, for a specific product or brand+category, using the manufacturer's own published chart). It is clearly distinguishable from siblings like search_gear or get_product_offers, which locate products rather than translate measurements into sizes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the two entry paths (product_id, or brand + category) and the fallback to known_size when no measurement is given, and it sets expectations for the failure case. What it lacks is routing guidance to siblings — e.g. telling the agent to call search_gear first when it only has a product name and no id.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_categories_and_brandsList ALLR categories and brandsA
Read-onlyIdempotent
Inspect

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. These are the only values the category and brand filters accept. Cheap and static — it reads bundled catalog metadata, not the live price data.

NameRequiredDescriptionDefault
brand_queryNoReturn only brands whose name or slug contains this text (case-insensitive).
include_brandsNoInclude the brand list (a few hundred entries). false returns categories only.

Output Schema

NameRequiredDescription
brandsNo
countriesYesBuyer countries ALLR computes landed cost for.
categoriesYes
brand_countYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety bar is covered. The description adds genuine context beyond them: 'cheap and static — it reads bundled catalog metadata, not the live price data,' which tells the agent about cost and staleness of results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with no filler. The purpose and the downstream filter contract are front-loaded, and the cost/staleness note trails as supporting context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a small static lookup with an output schema and full annotation coverage, nothing material is missing. Purpose, consumer contract, data source and cost profile are all stated, and return structure is delegated to the output schema as expected.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters are documented in-schema (case-insensitive brand substring match, include_brands default and list size), so the baseline applies. The description adds no parameter-level meaning beyond the schema — its extra detail is about output slugs, not inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (list catalog categories and brands) and immediately ties the output to the exact slugs used by the `category` and `brand` filters on search_gear and get_deals. That contrasts it clearly with the sibling tools it exists to support.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Strongly implies the when: 'These are the only values the `category` and `brand` filters accept' tells an agent it must consult this before filtering on those siblings. It stops short of an explicit 'call this first' instruction or any when-not-to-use case, so it is clear context rather than a full routing rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_gearSearch motorcycle gearA
Read-onlyIdempotent
Inspect

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. The returned id is the product id accepted by get_product_offers, which has the per-retailer price table. The lowest_landed_price is the cheapest total including shipping, import duty and customs brokerage for country (destination sales tax / VAT is not included) — not a sticker price — and is one number out of a full table; get_product_offers has the per-retailer breakdown.

NameRequiredDescriptionDefault
brandNoRestrict to a brand. Accepts a `slug` or `name` from list_categories_and_brands. Applied as a brand-token filter on the matched products.
limitNoMaximum products to return (1-25).
queryYesFree-text search, e.g. 'agv k6', 'waterproof adventure jacket', 'alpinestars smx-6 boots'. Brand names, model names and model numbers all work.
cursorNoOpaque pagination cursor from a previous call's `next_cursor`. Absent on the first page.
genderNoRestrict to products cut for this rider group, using ALLR's own gender classifier.
countryNoBuyer country (ISO-2, plus 'EU' and 'UK' as market codes). Determines the currency and the landed cost: item price + shipping + import duty + customs brokerage fee. Destination sales tax / VAT is not included. ALLR computes landed cost for these four markets only.US
categoryNoRestrict to a catalog category. Accepts a `slug` from list_categories_and_brands (e.g. 'helmets', 'jackets', 'boots').
max_priceNoHighest acceptable landed price in the country's currency.
min_priceNoLowest acceptable landed price in the country's currency.
certificationNoRestrict 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 — the product page is the fuller source for certification.

Output Schema

NameRequiredDescription
as_ofYesISO-8601 timestamp at which these prices were assembled.
queryYes
countryYes
resultsYes
currencyYes
next_cursorNoValue accepted as `cursor` for the next page; null when there are no more.
results_cappedYesTrue when the search engine returned its maximum of 50 ranked products, i.e. `ranked_match_count` is a floor on how many products match, not the total.
ranked_match_countYesNumber of RANKED RESULTS this query produced after the requested filters — the pool this call paginates over. ALLR's search engine ranks and returns at most 50 products per query, so this is NOT a catalog-wide match count: when `results_capped` is true, more products match than are rankable in one query. A narrower query (`brand`, `category` or more specific text) produces a ranked pool below the cap.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent/non-destructive annotations, it discloses that `lowest_landed_price` is a total including shipping, import duty and customs brokerage but excluding destination VAT, and that landed cost is computed for only four markets. It also flags the non-obvious behavior that products whose certification ALLR cannot derive are silently excluded by the certification filter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the search scope and immediately followed by what the results contain, which is the right ordering. It loses a little economy by restating twice that get_product_offers holds the per-retailer breakdown.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not enumerate return fields, and it still highlights the key ones (`id`, `lowest_landed_price`, retailer count, URL). Given rich annotations and full schema coverage, nothing an agent needs to call this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all ten parameters are already documented in structured form and the baseline is 3. The description reinforces the meaning of `country` and the landed-price fields but adds little parameter-level detail the schema does not already carry.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (search ALLR's motorcycle-gear catalog) and enumerates the covered product categories, so the agent knows the scope precisely. It also explicitly separates its role from get_product_offers by saying the returned `id` feeds that tool's per-retailer price table.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The routing to get_product_offers for per-retailer breakdowns and to list_categories_and_brands (in the schema) for slugs gives clear context for choosing among siblings. It stops short of explicit when-not-to-use guidance, e.g. whether to query get_deals instead when hunting for discounts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • Changedget_deals1 field changed
      • changedOutput schema / properties / as_of / description
        Previous value: -"ISO-8601 timestamp at which these prices were assembled. Quote it when stating a price."New value: +"ISO-8601 timestamp at which these prices were assembled."
    • Changedget_product_offers7 fields changed
      • changedInput schema / properties / colorway / description
        Previous value: -"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."New value: +"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. When omitted, every colorway is included."
      • changedInput schema / properties / include_out_of_stock / description
        Previous value: -"Keep out-of-stock offers in the table (default true — ALLR never hides them). Set false to see only buyable offers."New value: +"true includes out-of-stock offers in the table (ALLR does not hide them by default); false returns only in-stock offers."
      • changedInput schema / properties / limit / description
        Previous value: -"Maximum offers to return, cheapest landed first (1-40, default 10). Compare with `offer_count` (the total) and `has_more`; raise it to see more."New value: +"Maximum offers to return, cheapest landed first (1-40, default 10). `offer_count` is the total and `has_more` says whether more offers exist beyond this limit."
      • changedOutput schema / properties / as_of / description
        Previous value: -"ISO-8601 timestamp at which these prices were assembled. Quote it when stating a price."New value: +"ISO-8601 timestamp at which these prices were assembled."
      • changedOutput schema / properties / has_more / description
        Previous value: -"true when more offers exist than `limit` returned; raise `limit` (max 40)."New value: +"true when more offers exist than `limit` returned; `limit` accepts up to 40."
      • changedOutput schema / properties / offers / items / properties / availability_by_colorway / description
        Previous value: -"Per-colorway stock: one row per colorway, each carrying ONLY that colorway's in-stock sizes. Never union these rows — a size present in one colorway is not available in another. An EMPTY sizes_in_stock means that colorway has nothing in stock at this retailer. null means ALLR cannot attribute sizes to colorways for this offer at all; `availability_note` then says why, and no size may be stated for this offer."New value: +"Per-colorway stock: one row per colorway, each carrying ONLY that colorway's in-stock sizes. Rows are independent: a size present in one colorway is not in stock in another. An EMPTY sizes_in_stock means that colorway has nothing in stock at this retailer. null means ALLR cannot attribute sizes to colorways for this offer; `availability_note` says why."
      • changedOutput schema / properties / offers / items / properties / sizes_listed / description
        Previous value: -"Every size the retailer lists for this offer, in stock or not, across all of its colorways. This is a LISTING-level array and says nothing per colorway — use availability_by_colorway for that."New value: +"Every size the retailer lists for this offer, in stock or not, across all of its colorways. This is a LISTING-level array and says nothing per colorway — per-colorway stock is in availability_by_colorway."
    • Changedget_size_recommendation3 fields changed
      • changedInput schema / properties / product_id / description
        Previous value: -"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`."New value: +"ALLR product id or /product/ URL. Supplies the brand, category and model so the right chart variant is picked. Either this or both `brand` and `category` is required."
      • changedOutput schema / properties / as_of / description
        Previous value: -"ISO-8601 timestamp at which these prices were assembled. Quote it when stating a price."New value: +"ISO-8601 timestamp at which these prices were assembled."
      • changedOutput schema / properties / needs / description
        Previous value: -"Set when a chart exists but the required input is missing — the label of the measurement to ask the rider for."New value: +"Set when a chart exists but the required input is missing — the label of the measurement that is missing."
    • Changedlist_categories_and_brands3 fields changed
      • changedInput schema / properties / include_brands / description
        Previous value: -"Include the brand list (a few hundred entries). Set false for categories only."New value: +"Include the brand list (a few hundred entries). false returns categories only."
      • changedOutput schema / properties / brands / items / properties / slug / description
        Previous value: -"Pass as `brand`."New value: +"Value accepted by the `brand` filter."
      • changedOutput schema / properties / categories / items / properties / slug / description
        Previous value: -"Pass as `category`."New value: +"Value accepted by the `category` filter."
    • Changedsearch_gear9 fields changed
      • changedInput schema / properties / brand / description
        Previous value: -"Restrict to a brand. Use a `slug` or `name` from list_categories_and_brands. Applied as a brand-token filter on the matched products."New value: +"Restrict to a brand. Accepts a `slug` or `name` from list_categories_and_brands. Applied as a brand-token filter on the matched products."
      • changedInput schema / properties / category / description
        Previous value: -"Restrict to a catalog category. Use a `slug` from list_categories_and_brands (e.g. 'helmets', 'jackets', 'boots')."New value: +"Restrict to a catalog category. Accepts a `slug` from list_categories_and_brands (e.g. 'helmets', 'jackets', 'boots')."
      • changedInput schema / properties / certification / description
        Previous value: -"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."New value: +"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 — the product page is the fuller source for certification."
      • changedInput schema / properties / cursor / description
        Previous value: -"Opaque pagination cursor from a previous call's `next_cursor`. Omit for the first page."New value: +"Opaque pagination cursor from a previous call's `next_cursor`. Absent on the first page."
      • changedOutput schema / properties / as_of / description
        Previous value: -"ISO-8601 timestamp at which these prices were assembled. Quote it when stating a price."New value: +"ISO-8601 timestamp at which these prices were assembled."
      • changedOutput schema / properties / next_cursor / description
        Previous value: -"Pass as `cursor` for the next page; null when there are no more."New value: +"Value accepted as `cursor` for the next page; null when there are no more."
      • changedOutput schema / properties / ranked_match_count / description
        Previous value: -"Number of RANKED RESULTS this query produced after the requested filters — the pool this call paginates over. ALLR's search engine ranks and returns at most 50 products per query, so this is NOT a catalog-wide match count: when `results_capped` is true, more products match than are rankable in one query. Narrow with `brand`, `category` or a more specific query rather than paging for a total."New value: +"Number of RANKED RESULTS this query produced after the requested filters — the pool this call paginates over. ALLR's search engine ranks and returns at most 50 products per query, so this is NOT a catalog-wide match count: when `results_capped` is true, more products match than are rankable in one query. A narrower query (`brand`, `category` or more specific text) produces a ranked pool below the cap."
      • changedOutput schema / properties / results / items / properties / id / description
        Previous value: -"ALLR product id — pass to get_product_offers."New value: +"ALLR product id, as accepted by get_product_offers."
      • changedOutput schema / properties / results / items / properties / url / description
        Previous value: -"Canonical allr.io product page. Cite this."New value: +"Canonical allr.io product page."
  2. 3 tool updates
    • Changedget_deals1 field changed
      • changedInput schema / properties / country / description
        Previous value: -"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."New value: +"Buyer country (ISO-2, plus 'EU' and 'UK' as market codes). Determines the currency and the landed cost: item price + shipping + import duty + customs brokerage fee. Destination sales tax / VAT is not included. ALLR computes landed cost for these four markets only."
    • Changedget_product_offers10 fields changed
      • changedInput schema / properties / country / description
        Previous value: -"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."New value: +"Buyer country (ISO-2, plus 'EU' and 'UK' as market codes). Determines the currency and the landed cost: item price + shipping + import duty + customs brokerage fee. Destination sales tax / VAT is not included. ALLR computes landed cost for these four markets only."
      • changedInput schema / properties / limit / default
        Previous value: -40New value: +10
      • changedInput schema / properties / limit / description
        Previous value: -"Maximum offers to return (1-40)."New value: +"Maximum offers to return, cheapest landed first (1-40, default 10). Compare with `offer_count` (the total) and `has_more`; raise it to see more."
      • addedOutput schema / properties / has_more
        Added value: +{
        +  "description": "true when more offers exist than `limit` returned; raise `limit` (max 40).",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / offer_count / description
        Added value: +"Total offers for this product/country after filters (may exceed the number returned in `offers`)."
      • addedOutput schema / properties / offers / items / properties / brokerage
        Added value: +{
        +  "description": "Courier customs-clearance (brokerage) fee in `currency`; 0 when the parcel needs no clearance or the retailer is domestic.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • changedOutput schema / properties / offers / items / properties / buy_url / description
        Previous value: -"Use verbatim — an allr.io redirect that preserves attribution."New value: +"An allr.io redirect to the retailer's product page; it counts the click."
      • addedOutput schema / properties / offers / items / properties / duty / description
        Added value: +"Import duty in `currency`."
      • changedOutput schema / properties / offers / items / properties / landed_total / description
        Previous value: -"Item + shipping + duty + tax in `currency`. null when the retailer cannot ship to this country."New value: +"Item + shipping + duty + brokerage (+ tax, which is always 0: destination sales tax / VAT is not included) in `currency`. null when the retailer cannot ship to this country."
      • addedOutput schema / properties / offers / items / properties / tax / description
        Added value: +"Destination sales tax / VAT. Always 0: ALLR does not include it (the retailer shows it at checkout)."
    • Changedsearch_gear2 fields changed
      • changedInput schema / properties / country / description
        Previous value: -"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."New value: +"Buyer country (ISO-2, plus 'EU' and 'UK' as market codes). Determines the currency and the landed cost: item price + shipping + import duty + customs brokerage fee. Destination sales tax / VAT is not included. ALLR computes landed cost for these four markets only."
      • changedOutput schema / properties / results / items / properties / lowest_landed_price / description
        Previous value: -"Cheapest landed total (item + shipping + duty + VAT) in `currency`, or null when no retailer currently prices it."New value: +"Cheapest landed total (item + shipping + duty + brokerage; no sales tax/VAT) in `currency`, or null when no retailer currently prices it."
  3. 5 tool updates
    • First observedget_deals
    • First observedget_product_offers
    • First observedget_size_recommendation
    • First observedlist_categories_and_brands
    • First observedsearch_gear

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources