Skip to main content
Glama

Pinch Grocery Prices (Australia)

save_basket

ADVANCED / manual commit. Do NOT use this to build a basket from a shopping list: for any list of 2 or more items, call build_basket (it searches, picks the cheapest, totals, and returns a share_url in one call). Use save_basket only to commit a basket from product_ids you have ALREADY chosen yourself (for example, after overriding build_basket's pick on an item). It computes totals and returns a shareable basket URL.

For each item, provide the query string and one product_id per retailer (the best match you found in batch_search results). You do NOT need a pick for every retailer; omit a retailer if no good match was found.

IMPORTANT: Only call this after you have reviewed batch_search results and confirmed your picks. Do not pass product_ids blindly from search results.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
selectionsYesList of confirmed product selections, one entry per shopping list item.

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that this is a manual commit, computes totals, returns a shareable URL, and allows omitting retailers with no good match. It also warns against blindly passing product_ids, which adds meaningful operational context beyond what the schema conveys.

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 front-loaded with the critical warning, then the rule, then how-to guidance. Each sentence adds distinct value, and the structured paragraphs make it easy to scan despite its length. No redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with no output schema, the description thoroughly covers input shape, item-level requirements, alternatives, prerequisites, and return value. It falls just short of full completeness by not explicitly stating what 'commit' does in terms of persistence or any possible error behavior, but it is enough for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Even though the schema documents selections/query/picks, the description enriches these parameters by explaining that product_ids should be the best match from batch_search, that not every retailer needs a pick, and that the query is the original shopping-list item. This goes well beyond the schema's generic property descriptions.

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?

Description opens with 'ADVANCED / manual commit' and clearly states it commits a basket from product_ids the user has already chosen, computes totals, and returns a shareable URL. It explicitly distinguishes save_basket from build_basket, making its unique purpose unmistakable.

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?

Provides explicit when-to-use and when-not-to-use: 'Do NOT use this to build a basket from a shopping list: for any list of 2 or more items, call build_basket' and 'Use save_basket only to commit a basket from product_ids you have ALREADY chosen yourself.' Also adds a concrete example and prerequisite ('Only call this after you have reviewed batch_search results').

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

Most tools have distinct roles with explicit workflow guidance, but search_products and get_cheapest overlap in purpose (both search by name and return price data), and batch_search vs search_products could be confused without careful reading. The detailed descriptions mitigate this but don't eliminate it.

Naming Consistency4/5

Tool names are consistently snake_case, mostly verb_noun or get_noun. batch_search is a minor deviation (noun+verb) but still readable and consistent with the style.

Tool Count5/5

10 tools is well-scoped for a grocery price comparison server, covering search, details, history, specials, and basket management without excessive redundancy.

Completeness4/5

The server covers the core domain well: product search, price comparison, history, specials, and basket building/saving. Minor gaps include no way to fetch a saved basket programmatically and no explicit basket editing, but these can be worked around.

Resources