Skip to main content
Glama
sepehr071

technolife-mcp

by sepehr071

Find cheapest products

tl_find_cheapest
Read-onlyIdempotent

Find the cheapest in-stock products for a search, returning a flat list sorted by real price after discount. Use when you want the lowest price.

Instructions

Find the cheapest in-stock products for a search, one flat list sorted by the real price after discount.

Use when the user wants the lowest price. Cheap accessories (cases, glass) and other models often match a model name ('آیفون 16' also matches Galaxy A16): check the returned categories and brands, call again with category_code and brand_codes, and check titles. Prices are the site's featured offer per product (not always the cheapest seller); tl_product shows every seller, color and installment price.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax products to return.
pagesNoPages of 100 cheapest-indexed results to scan.
queryYesProduct name or words, Persian or English, e.g. 'آیفون 16' or 'لپ تاپ لنوو'.
max_priceNoHighest price in Toman, e.g. 150000000.
min_priceNoLowest price in Toman, e.g. 50000000.
brand_codesNoBrand filter codes from the `brands` list of a result or tl_find_brand, e.g. [16] (Lenovo) or [16, 19] (Lenovo or ASUS).
category_codeNoCategory filter code from the `categories` list of a tl_search / tl_find_cheapest result, e.g. 1 (mobile phones), to skip accessories.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive, open-world behavior, so the safety profile is covered. The description adds genuinely non-obvious behavioral context: results are in-stock only, sorted by post-discount real price, and the displayed price is the site's featured offer per product rather than necessarily the cheapest seller. No auth/rate-limit or pagination behavior is disclosed.

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 core purpose, then usage, then pitfalls and price semantics — a sensible order. The middle sentence is long and dense (parenthetical example plus three chained actions) but every clause carries actionable information.

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?

With an output schema present, return values need not be explained, and the description covers what matters for correct invocation: purpose, trigger condition, the accessory false-positive trap, refinement via returned metadata, and the meaning of the shown price. Minor gaps (pagination via `pages`, value of `limit`) are already handled by the schema.

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 description coverage is 100%, so the schema already documents all 7 parameters, including where brand_codes and category_code come from. The description adds a light workflow hint ('call again with category_code and brand_codes') but conveys no syntax, range, or format meaning beyond what the schema states. Baseline 3 is correct.

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?

Specific verb+resource+scope: 'Find the cheapest in-stock products for a search, one flat list sorted by the real price after discount.' It also differentiates itself from the sibling tl_product (which 'shows every seller, color and installment price'). An agent can tell this apart from tl_search and tl_product without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use when the user wants the lowest price' gives a clear triggering condition, and it names tl_product as the alternative for full seller-level pricing. It also proactively warns that accessory/other-model noise matches model names and prescribes a refine-and-retry loop with category_code/brand_codes. There's no explicit when-not clause, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.