Skip to main content
Glama

get_deals

Get discounted products sorted by discount percentage. Returns schema.org/Product entities with schema.org/Offer properties: price, priceCurrency, availability, originalPrice, and discountPercentage. Covers Singapore, Malaysia, Indonesia, Thailand, Vietnam, and US e-commerce. Supports currency, region (sea, us, eu, au), country (SG, US, VN, MY, ...) and category filters. BUY-74597 degraded contract: when the discount-index scan cannot complete inside the user-facing timeout, this tool returns a 200-OK envelope with meta.status="degraded", meta.emptiness_reason="api_error" with meta.degraded_kind="timeout" (or "partial_timeout" / "auth_failure"), meta.confidence="low", and meta.diagnostic.timed_out_stage (typically offer_aggregation). It never returns an unqualified empty result when the cause is timeout, auth failure, upstream exception, or circuit breaker. Branch on meta.degraded === true or meta.status === "degraded".

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results (max 100, default 20)
marketNoAlias for country_code (deprecated, use country_code).
offsetNoPagination offset
regionNoFilter by region (sea, us, eu, au)
countryNoAlias for country_code (deprecated, use country_code)
categoryNoFilter deals by product category (e.g. "Electronics", "Beauty", "home_and_kitchen"). Handler matches against category text and category_path[1]; slug-style input is accepted. BUY-76853/BUY-83657.
currencyNoFilter by currency code (SGD, USD, MYR, VND, THB). Defaults to SGD.SGD
deliver_toNoTreat as REQUIRED for buyer-facing use: ISO-3166 country of the END USER (e.g. "SG", "US"). Without it results are not shipping-ranked and may be undeliverable. Preferred over country_code/country.
country_codeNoFilter by ISO country code. Alias: country.
min_discountNoMinimum discount percentage (default 10)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / category
      Added value: +{
      +  "description": "Filter deals by product category (e.g. \"Electronics\", \"Beauty\", \"home_and_kitchen\"). Handler matches against category text and category_path[1]; slug-style input is accepted. BUY-76853/BUY-83657.",
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • removedInput schema / properties / category
      Removed value: -{
      -  "description": "Filter by product category name (e.g. \"Laptops\", \"Smartphones\", \"Beauty\").",
      -  "type": "string"
      -}
  3. Changed1 schema field changed
    • addedInput schema / properties / category
      Added value: +{
      +  "description": "Filter by product category name (e.g. \"Laptops\", \"Smartphones\", \"Beauty\").",
      +  "type": "string"
      +}
  4. First observed

TDQS

A3.7/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so unusually well. It documents the exact degraded 200-OK contract, including meta.status, emptiness_reason, degraded_kind, confidence, and diagnostic.timed_out_stage, and explicitly instructs callers to branch on meta.degraded or meta.status. It also states a strong guarantee: it never returns an unqualified empty result for timeout, auth failure, upstream exception, or circuit breaker.

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?

The tool has many behavioral edge cases, so the length is justified. The main action and return shape are front-loaded, and the degraded contract is clearly marked as a named section (BUY-74597). Some verbosity remains in ticket IDs and repeated meta fields, but each sentence 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 a 10-parameter tool with no output schema and no annotations, the description supplies return shape, geographic scope, filter set, and a full failure-handling contract. One minor ambiguity is that Indonesia is named as covered while the country_code enum omits ID, and pagination limits are only visible in the schema. Overall, it is nearly complete for invocation purposes.

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%, so the baseline is 3. The description adds high-level filter support and geographic scope, but it does not materially explain per-parameter semantics such as the importance of deliver_to, pagination via offset, or min_discount behavior; those are already covered by the schema. This is adequate but not additive.

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?

The first sentence is precise: 'Get discounted products sorted by discount percentage' names the verb, resource, and ordering behavior. It also describes the return entity shape, leaving little doubt about what the tool does. However, it does not explicitly differentiate itself from sibling tools like get_deals_v2 or search_products, so it misses the top tier.

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

Usage Guidelines2/5

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

The description explains supported filters and how to interpret degraded responses, but it gives no guidance on when to choose this tool over get_deals_v2 or search_products. It also does not state the deliver_to requirement for buyer-facing shipping ranking beyond what the schema already says. There is no explicit when-to-use or when-not-to-use guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.