Skip to main content
Glama
sepehr071

technolife-mcp

by sepehr071

Search products

tl_search
Read-onlyIdempotent

Search Technolife products by name for prices, discounts, stock and ratings. Returns matching categories and brands with filter codes to narrow results.

Instructions

Search Technolife products with prices, discount, stock and rating.

Also returns the top matching categories and brands with filter codes: pass one back as category_code (phones, not cases) or brand_codes to narrow. For the cheapest over several pages use tl_find_cheapest; for one product's sellers and prices use tl_product.

Input Schema

NameRequiredDescriptionDefault
pageNoZero-based page. Relevance pages can repeat items; page with a price, newest or best_selling sort.
sortNoOrder; price and discount sorts are re-sorted on the real price after discount.relevance
limitNoProducts per page.
queryYesProduct name, Persian or English, e.g. 'آیفون 16'.
in_stockNoOnly orderable products.
max_priceNoHighest price in Toman, e.g. 150000000.
min_priceNoLowest price in Toman, e.g. 50000000.
brand_codesNoBrand codes from `brands` of a result or tl_find_brand, e.g. [16, 19].
category_codeNoCategory code from `categories` of tl_search / tl_find_cheapest, e.g. 1 (phones), to skip accessories.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed17 schema fields changedv0.3.0
    • changedInput schema / properties / brand_codes / description
      Previous value: -"Brand filter codes from the `brands` list of a result or tl_find_brand, e.g. [16] (Lenovo) or [16, 19] (Lenovo or ASUS)."New value: +"Brand codes from `brands` of a result or tl_find_brand, e.g. [16, 19]."
    • removedInput schema / properties / brand_codes / title
      Removed value: -"Brand Codes"
    • changedInput schema / properties / category_code / description
      Previous value: -"Category filter code from the `categories` list of a tl_search / tl_find_cheapest result, e.g. 1 (mobile phones), to skip accessories."New value: +"Category code from `categories` of tl_search / tl_find_cheapest, e.g. 1 (phones), to skip accessories."
    • removedInput schema / properties / category_code / title
      Removed value: -"Category Code"
    • changedInput schema / properties / in_stock / description
      Previous value: -"Only products that can be ordered now."New value: +"Only orderable products."
    • removedInput schema / properties / in_stock / title
      Removed value: -"In Stock"
    • removedInput schema / properties / limit / title
      Removed value: -"Limit"
    • removedInput schema / properties / max_price / title
      Removed value: -"Max Price"
    • removedInput schema / properties / min_price / title
      Removed value: -"Min Price"
    • changedInput schema / properties / page / description
      Previous value: -"Zero-based page number. Relevance pages can repeat items; page with a price, newest or best_selling sort."New value: +"Zero-based page. Relevance pages can repeat items; page with a price, newest or best_selling sort."
    • removedInput schema / properties / page / title
      Removed value: -"Page"
    • changedInput schema / properties / query / description
      Previous value: -"Product name or words, Persian or English, e.g. 'آیفون 16' or 'لپ تاپ لنوو'."New value: +"Product name, Persian or English, e.g. 'آیفون 16'."
    • removedInput schema / properties / query / title
      Removed value: -"Query"
    • changedInput schema / properties / sort / description
      Previous value: -"Order; cheapest, most_expensive and biggest_discount_toman are re-sorted on the real price after discount."New value: +"Order; price and discount sorts are re-sorted on the real price after discount."
    • removedInput schema / properties / sort / title
      Removed value: -"Sort"
    • removedInput schema / title
      Removed value: -"tl_searchArguments"
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": true,
      -  "title": "tl_searchDictOutput",
      -  "type": "object"
      -}New value: +null
  2. First observedv0.1.0

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so safety is covered. The description adds real behavioral context beyond that: the result set carries category and brand codes intended to be passed back as filters, which is a round-trip behavior not derivable from annotations. It does not cover rate limits, auth, or pagination limits beyond what the schema states.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with what the tool is, followed by the narrowing workflow and then sibling routing. Every clause carries information; no filler or restatement of the name.

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 no output schema, the description compensates by naming what comes back (price, discount, stock, rating, categories, brands). Nine parameters are fully documented in the schema and the description supplies the cross-tool routing and filter-code semantics an agent needs 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 baseline is 3, but the description adds workflow meaning the schema does not: filter codes come from the result's own categories/brands fields (or tl_find_brand) and category_code is meant to exclude accessories ('phones, not cases'). That clarifies intent rather than merely restating types.

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?

Opens with a specific verb+resource (search Technolife products) and enumerates the returned attributes (prices, discount, stock, rating), plus the secondary payload of matching categories and brands. An agent can tell it apart from tl_find_cheapest 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 Guidelines5/5

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

Explicitly names two alternatives with the conditions that select them: tl_find_cheapest for cheapest across pages, tl_product for one product's sellers/prices. It also states the intended workflow for narrowing via category_code/brand_codes.

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