Skip to main content
Glama

Search teas.co.uk

find_products
Read-onlyIdempotent

Use this when someone wants to find, browse or choose tea, coffee, hot chocolate or other drinks to buy from teas.co.uk, a UK online tea shop. query is the customer's own words and may be left out to browse by filters alone; every filter given applies at once. max_price is per pack in pounds and max_price_per_cup_pence per cup in pence; limit is 1 to 12 (default 6); results come in best_match order unless sort is set; out of stock products stay hidden unless include_out_of_stock is true. Prices are live and include VAT. If nothing matches every filter, time_of_day, strength, format and with_milk are dropped in that order (then the words, if another filter is left) and relaxed and note say which; kind, caffeine, organic, fairtrade, vegan, iced and both price limits are never dropped, so an empty list means nothing fits them. For one product's details use get_product, to compare use compare_products, and to buy use add_to_basket. Not for general tea knowledge.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
icedNoSuits iced tea or cold brew.
kindNoType of drink.
sortNoOrder of results: best_match (the default), cheapest_per_cup, price_low_to_high, price_high_to_low or strongest.
limitNoHow many products to return (default 6).
queryNoWhat the customer wants in their own words, for example "strong breakfast tea", "Yorkshire Gold" or "something for bedtime". Leave out to browse with filters only.
veganNoOnly products labelled vegan.
formatNoHow it comes: tea_bags, loose_leaf, instant, pods_or_capsules, sachets, ground or whole_beans (coffee), powder, coffee_bags or ready_to_drink.
organicNoOnly organic products.
caffeineNoCaffeine: caffeinated, decaf (caffeine taken out), caffeine_free (none to begin with, such as rooibos and most herbal teas) or low_or_none (decaf or caffeine free).
strengthNoHow strong the cup is: light, medium or strong.
fairtradeNoOnly Fairtrade products.
max_priceNoHighest pack price in pounds.
with_milkNoOnly products that suit milk.
time_of_dayNoWhen it suits best: morning, afternoon, evening or bedtime.
include_out_of_stockNoAlso include products that are out of stock (they are left out by default).
max_price_per_cup_penceNoHighest price per cup in pence.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNoPresent when filters were left out: tell the customer, in your own words.
totalYesHow many products matched before the limit.
filtersNoThe filters that were applied.
relaxedNoPresent when no product matched every filter: the filters left out to find these.
productsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • addedInput schema / properties / caffeine / description
      Added value: +"Caffeine: caffeinated, decaf (caffeine taken out), caffeine_free (none to begin with, such as rooibos and most herbal teas) or low_or_none (decaf or caffeine free)."
    • addedInput schema / properties / fairtrade / description
      Added value: +"Only Fairtrade products."
    • addedInput schema / properties / format / description
      Added value: +"How it comes: tea_bags, loose_leaf, instant, pods_or_capsules, sachets, ground or whole_beans (coffee), powder, coffee_bags or ready_to_drink."
    • addedInput schema / properties / include_out_of_stock / description
      Added value: +"Also include products that are out of stock (they are left out by default)."
    • addedInput schema / properties / organic / description
      Added value: +"Only organic products."
    • addedInput schema / properties / sort / description
      Added value: +"Order of results: best_match (the default), cheapest_per_cup, price_low_to_high, price_high_to_low or strongest."
    • addedInput schema / properties / strength / description
      Added value: +"How strong the cup is: light, medium or strong."
    • addedInput schema / properties / time_of_day / description
      Added value: +"When it suits best: morning, afternoon, evening or bedtime."
    • addedInput schema / properties / vegan / description
      Added value: +"Only products labelled vegan."
  2. First observed

TDQS

A4.4/5.0
Behavior3/5

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

Annotations already declare this as a read-only, idempotent, non-destructive, non-open-world search, so safety is covered. The description adds genuinely useful behavior beyond that: the filter-relaxation cascade and its exact drop order, that 'kind, caffeine, organic, fairtrade, vegan, iced and both price limits are never dropped', that results are best_match-ordered by default, that out-of-stock items are hidden, and that prices are live and VAT-inclusive. These are real behavioral disclosures, but the description still omits output shape/pagination, leaving it solidly middle rather than exceptional.

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?

Purpose is front-loaded and every clause carries information, but the middle is a dense run-on that packs filter relaxation, units, ordering, stock behavior and sibling routing into consecutive semicolon-linked clauses. It is efficient but slightly heavy to parse in one pass.

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 16-parameter search with an output schema present, the description covers what an agent needs: scope, filter conjunction behavior, unit conventions, defaults, ordering, stock visibility, and the degradation path when nothing matches. Return-value explanation is correctly delegated to the output schema.

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, and the description adds meaning the schema does not: it disambiguates max_price as per pack in pounds versus max_price_per_cup_pence per cup in pence, states the AND-semantics of 'every filter given applies at once', restates the limit range/default, and frames query as the customer's own words that may be dropped. That is meaningful added semantics over an already-documented 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?

States a specific verb and resource ('find, browse or choose tea, coffee, hot chocolate or other drinks to buy from teas.co.uk') and names the shop explicitly. It differentiates from siblings by naming get_product, compare_products and add_to_basket and excluding general tea knowledge, so an agent can place it without opening another schema.

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 when-to-use trigger ('when someone wants to find, browse or choose'), an explicit when-not ('Not for general tea knowledge'), and routes three adjacent needs to their alternatives. Nothing about selection is left to inference.

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