Skip to main content
Glama

Best deals for a category

get_best_deals_by_category
Read-onlyIdempotent

Finds where to buy products from a shopping category with the most savings: returns the matching categories and, for each, the stores in it ranked by best current cashback rate, then best gift card discount. Use it when the user names a type of product or a category rather than a store or brand — 'where can I buy dog food with the biggest discount?', 'best cashback for electronics', 'travel booking sites with cashback'. For a specific retailer use get_cashback_rates_by_store_name; for a product brand use get_best_deals_by_brand. Returns up to 5 matching categories, best match first; empty when nothing matched. Rates reflect GotCashback's current data, refreshed several times a day. Always show each store's links to the user: best_cashback_rate.url (clickable link that activates the cashback) and gift_cards_url (where to buy the discounted gift cards).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
country_codeNoOptional. Lowercase ISO 3166-1 alpha-2 country code that limits results to one country, e.g. 'us' (United States), 'ca' (Canada), 'gb' (United Kingdom — use 'gb', not 'uk'), 'de' (Germany), 'au' (Australia), 'fr' (France). Pass it when the user names a country ('in Canada', 'UK cashback'); omit it to search all supported countries.
category_nameYesThe shopping category or product type, e.g. 'Pet Supplies', 'dog food', 'electronics', 'travel'. Case-insensitive substring match; multi-word phrases fall back to matching individual words.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
matchesNoMatched brands / categories (up to 5, best match first). Empty when nothing matched.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, and the description adds valuable behavior beyond that: it returns up to 5 categories, best match first, empty when nothing matches, and notes data freshness. It also instructs the agent to always surface specific URLs to the user, which is a meaningful behavioral detail not captured in structured fields.

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?

The description is detailed but every sentence earns its place: it front-loads the core behavior, then gives usage guidance, then output limits, then presentation requirements. It is structured so an agent can quickly extract the most important selection and invocation facts.

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?

Given the tool's moderate complexity, the presence of an output schema, and rich annotations, the description is complete. It covers ranking logic, result limits, empty results, data freshness, and user-facing link requirements, leaving no critical gap for correct invocation.

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 parameters are fully documented in the schema. The description adds examples that align with the parameters but does not add significant new meaning beyond what the input schema already provides.

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?

The description states a specific verb and resource: it finds where to buy products from a shopping category with the most savings, returning matching categories and ranked stores. It clearly distinguishes itself from siblings by explicitly naming get_cashback_rates_by_store_name and get_best_deals_by_brand as the alternatives for retailers and brands.

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

Usage Guidelines5/5

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

It gives explicit when-to-use guidance with concrete user query examples ('where can I buy dog food with the biggest discount?', 'best cashback for electronics'). It also names the sibling tools to use for retailer or brand queries, so an agent knows exactly when not to use this tool.

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.

TDQS

A4.6/5.0
Disambiguation5/5

Each tool targets a clearly distinct lookup or action: store names versus store ids, cashback versus gift cards, brand versus category versus store, and portals versus stores versus user account data. The descriptions also include explicit cross-references telling an agent which tool to prefer, so misselection is unlikely.

Naming Consistency5/5

Tool names follow a consistent get_/set_/remove_/toggle_ verb pattern with resource and qualifier suffixes like by_store_name, by_store_id, and by_country. Singular and plural resource names are used naturally and do not break the overall predictable convention.

Tool Count4/5

18 tools is slightly above the typical well-scoped range, mainly because of parallel by_name and by_id variants for stores, gift cards, and portals. However, each variant serves a distinct workflow and the overall count is coherent for a cashback-comparison and account-management server.

Completeness5/5

The surface covers the full range of the domain: cashback rate lookups, gift card comparisons, brand/category deals, store and portal browsing, payout term checks, and user favorites/alerts with create, update, and delete operations. There are no obvious dead ends, and the cross-references between tools make workflows like finding a store_id and then setting an alert seamless.

Resources