Skip to main content
Glama

List cashback portals

get_portals
Read-onlyIdempotent

Returns the cashback portals GotCashback compares, optionally for one country, each with its payout terms. Use it to list the portals available in a country ('which cashback portals are there in Canada?') or to compare portals side by side — which pays fastest, has the lowest minimum payout, offers PayPal, or gives the biggest sign-up bonus. It does not return store rates: for 'which portal has the best cashback for [store]' call get_cashback_rates_by_store_name instead; for one named portal use get_portals_by_name. Each portal includes its payout terms for that country: 'sign_up_bonus' (amount and the url that grants it, null when none), 'minimum_payout' with 'minimum_payout_currency' (smallest balance paid out, null when not published, 0 means no minimum), 'payment_frequency' (how often it pays, e.g. 'On demand', 'Weekly', 'Monthly'), and 'payment_methods' (payout options, e.g. 'PayPal', 'Direct deposit', 'Check', 'Gift card'). Use these to answer questions about a portal's sign-up bonus, payout threshold, payment schedule and payment options. When mentioning a sign-up bonus, show its 'url' as a clickable link — the bonus is only credited when the user signs up through it.

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.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
portalsNo

Schema Changelog

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

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already carry the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), and the description adds substantial context beyond it: country-scoped payout terms, the null vs 0 semantics of minimum_payout (null = not published, 0 = no minimum), and the attribution rule that sign_up_bonus.url must be rendered as a clickable link because the bonus only credits through it. No contradiction with annotations — 'Returns' is consistent with readOnlyHint=true.

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 definition is long (~200 words) but front-loaded: purpose in sentence one, usage and exclusions in sentences two and three, then field semantics and presentation rules. Every section earns its place, though there is minor redundancy between the two usage sentences ('Use it to...' and 'Use these to answer...'), which keeps it from a perfect score.

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 tool with one optional parameter, a fully documented input schema, an output schema, and safety annotations, the description covers everything else an agent needs: sibling routing, per-field semantics including edge cases, and the clickable-link presentation requirement. Nothing required to select and invoke it 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%: country_code is fully documented with format, examples, passthrough guidance, and omission semantics. The description adds only marginal context (results are country-scoped, payout terms are per-country), which does not materially improve parameter understanding, so the 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?

The first sentence names a specific verb ('Returns') and resource ('the cashback portals GotCashback compares') with an explicit optional country scope. It also differentiates from siblings inline: 'It does not return store rates' routes to get_cashback_rates_by_store_name, and 'for one named portal use get_portals_by_name', so an agent can distinguish it without opening other definitions.

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 concrete query triggers ('which cashback portals are there in Canada?') and comparison use cases (payout speed, minimum payout, PayPal, sign-up bonus). It states explicit exclusions with named alternatives for store-rate lookups and single-portal lookups, so when-to-use and when-not-to-use are both fully specified.

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.4/5.0
Disambiguation4/5

Most tools target a clearly distinct resource and action, and the descriptions carefully cross-reference when to use each one. The main risk is the similar get_stores_by_name, get_cashback_rates_by_store_name, and get_gift_cards_by_store_name names, though their descriptions do a good job of separating identity, cashback rates, and gift cards.

Naming Consistency4/5

The naming follows a mostly consistent get_<resource>_by_<selector> pattern with clear verb prefixes for mutations like set, remove, and toggle. Minor inconsistencies exist, such as get_portal_by_id (singular) versus get_portals_by_name (plural), and the get_my_* cluster for account tools.

Tool Count4/5

Eighteen tools is slightly above the ideal 3-15 range, but the count is justified by the breadth of the domain: store comparison, brand and category deals, gift cards, portals, countries, and user account features. Each tool has a distinct purpose, so the set does not feel genuinely bloated.

Completeness4/5

The tool surface covers the main workflows well: finding cashback by store, brand, or category, comparing gift cards and portls, browsing countries and stores, and managing favorites, alrts, and profile. Minor gaps exist, such as no direct way to rank all stores in a country by cashback rate without per-store lookups, but agents can work around these.

Resources