Skip to main content
Glama

Add or remove a favorite store

toggle_favorite_store
Idempotent

Adds a store to, or removes it from, the signed-in user's favorite stores. Use it for 'add Best Buy to my favorites' or 'remove Nike from my favorites'. Needs the store_id: take it from an earlier result, or find it with get_stores_by_name (optionally with country_code). Requires OAuth sign-in with a GotCashback account; anonymous callers are prompted to authorize. All comparison tools work without signing in. Scope: 'favorites'.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
favoriteYestrue to add the store to favorites, false to remove it
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.

Schema Changelog

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

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

The description adds useful behavioral context beyond annotations: the tool mutates the user's favorite stores, requires OAuth, and may prompt anonymous callers to authorize. Since idempotentHint/destructiveHint/readOnlyHint are already covered by annotations, the description only needs to add the auth and scoping context, which it does.

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 description is well-structured and front-loaded with the core action and examples. It is a bit repetitive with the schema's store_id explanation, but every sentence carries useful operational or auth context, so it remains reasonably concise.

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 simple two-parameter mutation tool, the description covers purpose, examples, input sourcing, auth requirements, scope, and the relevant alternative. No critical information is missing for an agent to select and invoke it correctly.

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 parameted semantics are already fully documented. The description reates the store_id sourcing guidance and favorite true/false meaning, which adds some practical context but does not expand significantly beyond the schema.

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 clearly states the tool adds or removes a store from the signed-in user's favorites, with concrete natural-language examples. It also distinguishes this from the read-only get_my_favorite_stores and from store alert 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?

It explicitly provides when to use the tool, includes example phrases, explains how to obtain store_id from an earlier result or get_stores_by_name, and notes the OAuth requirement. The contrast that comparison tools work without signing in helps the agent route to the correct 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