Skip to main content
Glama

compare_basket

Read-onlyIdempotent

Card prices for several medicines at once: which pharmacy chain was seen pricing the whole list, and the sum there.

Use when the person names two or more medicines and asks what they cost
together, or which one pharmacy to use for all of them. ``drugs`` is two to
six names as typed or slugs; a dose and a pack size may ride in each name
("atorvastatin 40 mg 90"). ``zip`` is a 5-digit US ZIP — pass it only when
the person gave one; without it the host's approximate location is used
when there is one, else the chains are listed nationally.

Returns the package used for each medicine, then one row per chain: its
card price for each medicine with the observation date, and — only when
every medicine was seen with a price there — their sum with the dates the
prices were observed. When taking each medicine at a different chain comes
to less than every one-chain sum, that is given too. Names that matched no
medicine are counted and left out. A sum is an addition of observed card
prices, never a quote: the pharmacy sets the final price.

Next: read out the chains with a sum and its dates; then the card sentence
and codes. One medicine only: use compare_prices.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
zipNo
drugsYes
localeNo
channelNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/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 behavior, but the description still adds substantive context: the location fallback when no ZIP is given, that unmatched names are counted and excluded, and that a sum is an addition of observed card prices rather than a quote. It stops short of describing latency, rate limits, or caching.

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?

Front-loaded with the purpose, then organized into usage, parameters, and return-shape sections, closing with actionable "Next" guidance. Some phrasing is wordy (the parenthetical about dose and pack size, the dashes around the conditional sum clause), but each block earns its place.

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?

There is no output schema, so the description carries the return-shape burden and does so thoroughly — package per medicine, per-chain rows with observation dates, conditional sums, cross-chain comparison, and omitted unmatched names. The only gap is the unexplained locale and channel parameters.

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 0%, so the description must carry the load. It documents drugs well (two to six names, raw or slug, with optional dose and pack size riding in the string) and zip (5-digit US ZIP, passed only when the user supplies one), but locale and channel are left completely unexplained, so half the parameters remain opaque.

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 — returning card prices for several medicines at once and identifying the chain that priced the whole list plus the sum. It explicitly distinguishes itself from the sibling compare_prices by noting that tool is for a single medicine.

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 an explicit trigger (person names two or more medicines and asks total cost or which single pharmacy to use) and an explicit exclusion with the named alternative ("One medicine only: use compare_prices"). It also tells the agent when to pass zip versus omitting it.

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