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. Not for general tea knowledge. query is the customer's own words; leave it 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 is per cup in pence. Results come best match first unless sort says otherwise. Out of stock products stay hidden unless include_out_of_stock is true. There is no paging: limit caps the list and total says how many matched, so narrow the filters to see others. If nothing matches, time_of_day, strength, format and with_milk are dropped in that order and note says which; kind, caffeine, labels, iced and price limits are never dropped. Prices are live and include VAT. Next: get_product for one product, compare_products to compare, add_to_basket to buy.

Input 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

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.8/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, it discloses substantial behavior: filters are ANDed, out-of-stock hidden unless include_out_of_stock, no paging with limit/total semantics, a specific fallback drop order for over-narrow queries, which fields are never dropped, and that prices are live and include VAT. This is unusually rich operational context.

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?

Dense and front-loaded: purpose, exclusions, then behavior and routing. Every sentence carries information, though the filter-fallback sentence is long and the passage overall is on the verbose side for a single tool.

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 16 params, an output schema, and full annotations, the description covers exactly what structured fields cannot: filter interaction, fallback behavior, stock visibility, result ordering, and routing to sibling tools. An agent has everything needed to call it correctly.

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 schema already documents each parameter, but the description still adds real meaning by clarifying units (max_price per pack in pounds vs max_price_per_cup_pence per cup in pence) and the AND semantics ('every filter given applies at once'). It stops short of explaining the filter-fallback behavior for each parameter, which is covered separately.

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 set (find/browse/choose) and resource (tea, coffee, hot chocolate bought from teas.co.uk) and explicitly excludes general tea knowledge. An agent can distinguish it from siblings like get_product or find_recipes without opening schemas.

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 explicit when-to-use ('someone wants to find, browse or choose ... to buy'), a when-not ('Not for general tea knowledge'), guidance on browsing via filters alone, and named next steps (get_product, compare_products, add_to_basket). Nothing 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