Skip to main content
Glama

Gift card discounts by store ID

get_gift_cards_by_store_id
Read-onlyIdempotent

Returns the discounted gift cards currently on sale for one store identified by its numeric store_id, from multiple sellers, so the discounts can be compared. Use it only when a store_id is already known from an earlier result. When the user gives a store name instead, call get_gift_cards_by_store_name directly — do not look the id up first. Returns an empty list when no discounted cards are available and an error when the id does not exist. Present every returned seller's listing to the user (a table with a link column, not only the best discount) and always show each gift card's 'url' as a clickable link — that tracked link is where the user buys the card at the discounted price.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
store_idYesGotCashback's numeric store_id, taken from an earlier result (a store, cashback rate, gift card, deals, favorites or alerts response). If you only have a store name, use the by-name tool instead.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
gift_cardsNoGift card listings from all sellers. Empty when none are available right now.

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?

The annotations already cover read-only, idempotent, and non-destructive traits. The description adds valuable behavioral details: it returns an empty list when no discounted cards exist, errors on an invalid id, lists multiple sellers for comparison, and emphasizes the 'url' is the tracked purchase link. This goes well beyond what annotations alone communicate.

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 slightly long but every sentence earns its place: it covers the return value, the exact condition for use, the alternative tool, edge-case behavior, and user-presentation requirements. It is front-loaded with the core purpose and flows logically without filler.

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?

The tool is simple (one required parameter), has a rich input schema, annotations, and an output schema, so the description does not need to restate return types. It still covers empty results, error behavior, the compare-across-sellers point, and even how the agent should present the results with clickable tracked links. Nothing essential 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?

The input schema already documents store_id as GotCashback's numeric ID taken from earlier results and tells the agent to use the by-name tool when only a name is available. The description reinforces this but adds little new meaning beyond the schema. With 100% schema coverage, baseline 3 is appropriate.

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 ('Returns'), a specific resource ('discounted gift cards... for one store identified by its numeric store_id'), and a distinguishing detail ('from multiple sellers, so the discounts can be compared'). It also contrasts directly with the sibling get_gift_cards_by_store_name, so an agent can select this tool without ambiguity.

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?

The description gives explicit when-to-use guidance ('Use it only when a store_id is already known from an earlier result') and explicit when-not-to-use guidance with the named alternative ('When the user gives a store name instead, call get_gift_cards_by_store_name directly — do not look the id up first'). This leaves no room for the agent to misuse the by-id 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