Skip to main content
Glama

List stores in a country

get_stores_by_country
Read-onlyIdempotent

Lists every store that currently has cashback offers in one country — identity, store page url and whether discounted gift cards exist ('has_gift_cards', 'gift_cards_url'), but no rates. The list can run to hundreds of stores. Use it when the user wants to browse or count what is available in a country ('which stores offer cashback in Canada?', 'what stores have gift card deals in the UK?'). Do not use it to find a particular store or its rates: get_cashback_rates_by_store_name and get_gift_cards_by_store_name accept a store name plus an optional country_code directly. Use get_countries to see the supported country codes. When presenting stores, include each store's 'url' as a clickable link (and 'gift_cards_url' when present).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
country_codeYesLowercase ISO 3166-1 alpha-2 country code, e.g. 'us' (United States), 'ca' (Canada), 'gb' (United Kingdom — use 'gb', not 'uk'), 'de' (Germany), 'au' (Australia). Call get_countries to list every supported code.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
storesNoMatching stores (one entry per country). 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 establish read-only, idempotent, non-destructive behavior, and the description adds meaningful context: results are limited to stores with current cashback offers, the list can run to hundreds of stores, rates are excluded, and response fields such as has_gift_cards and gift_cards_url are disclosed. It also adds presentation guidance about rendering URLs as clickable links.

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?

Core behavior is front-loaded in the first sentence; use cases, exclusions, and alternatives follow logically; and the presentation instruction is the only trailing detail. Every sentence adds a distinct operational fact without repetition or 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?

For a single-parameter readonly list tool with an output schema, te description covers scope, intended usage, exclusions, sibling alternatives, supported-code lookup, list size expectations, and result presentation behavior. Nothing needed to invoke or present the tool 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?

The input schema fully documents country_code with format, examples, the 'gb not uk' caveat, and a pointer to get_countries, so the schema carries the parameter-semantics load. The description reinforces that the parameter represents the country to browse but adds no new parameter-level detail.

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: 'Lists every store ... in one country' and defines the exact scope: stores with current cashback offers, identity, store page url, gift-card presence, and no rates. This clearly distinguishes it from sibling store-name lookup tools.

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?

Gives explicit when-to-use guidance ('when the user wants to browse or count what is available in a country') with example queries, and explicit do-not-use guidance for finding a particular store or its rates, naming get_cashback_rates_by_store_name and get_gift_cards_by_store_name as alternatives. It also directs callers to get_countries for supported codes.

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