Skip to main content
Glama

Aisles local store inventory

Compare online prices and net price after gift cards

compare_online_prices
Read-onlyIdempotent

Use this when someone asks for the lowest online price, a discount code, or what a product would cost after their gift card or card rewards ("what is the cheapest place to buy ASICS GEL-NYC online?", "I have a $50 JD Sports gift card, what would these cost me?"). Covers only products sold online by Hanes, Finish Line, JD Sports, from each store's product file. "Lowest" means among these stores, not the whole web. Returns each store's listed price, the estimated price with any confirmed discount code, and net_price: what is left to pay after the code, that store's gift card balance and card rewards, before tax and shipping. A gift card counts only at its own store. Ask for amounts only: never ask for or accept a card number, PIN or gift card code. Say that a net price is an estimate, and that sizes and stock are checked on the store's site. For stock at physical stores, use search_products.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "query": "<query>"
    },
    "name": "compare_online_prices"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoNumber of products to return (default 5).
queryYesProduct words: brand and product name, e.g. "asics gel-nyc", "hanes crew socks".
storeNoOnly when the user asked about one store.
max_priceNoMaximum listed price in US dollars.
gift_cardsNoThe gift card balances the user stated. Amounts only, never a card number, PIN or code.
card_rewards_percentNoOnly when the user stated it: percent back from their credit card, e.g. 2.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive, closed-world behavior, so the description focuses on the substance the schema can't convey: the net_price calculation order (code, then that store's gift card, then card rewards), the fact that prices exclude tax and shipping, and that a gift card applies only at its own store. It further sets expectations that values are estimates and that size/stock must be verified on the store site. It does not describe pagination or result ordering, but for a read-only comparison tool that gap is minor.

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?

Well front-loaded: trigger questions first, then scope limits, then return values, then safety rules. Dense but each sentence adds a distinct constraint; the inline example utterances are long, though they usefully pin down the intended invocation.

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?

With six parameters, nested gift card objects, and no output schema, the description explains what comes back (listed price, discount-adjusted price, net_price) and the calculation caveats. Between the description, full schema coverage, and annotations, an agent has everything needed to call it correctly and set user expectations.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real interpretive meaning: gift card balances count only at the matching store, card rewards percent is used to compute net_price, and amounts are the only thing to collect (never a card number, PIN, or code). That materially clarifies how gift_cards and card_rewards_percent affect the result beyond the field-level 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?

States a specific verb (compare) plus the exact resources computed: listed price, price with discount code, and net price after gift cards/rewards. It also bounds scope to Hanes, Finish Line, and JD Sports and explicitly redefines 'lowest' as within those stores, which distinguishes it from a general product search.

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?

Opens with an explicit trigger condition ('when someone asks for the lowest online price, a discount code, or what a product would cost after their gift card') with concrete user utterances. It also routes away from itself, telling the agent to use search_products for physical-store stock, and warns against accepting card numbers, PINs, or 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.

Resources