Skip to main content
Glama
sepehr071

torob-mcp

by sepehr071

Search products

tb_search
Read-onlyIdempotent

Search Torob products to find model prices in Toman and compare shops, with shop count, image, and URL.

Instructions

Search Torob for products; each card has the cheapest shop price (Toman), shop count, image and URL.

Use first for any "find / how much is X" question. Cards are products (one per model/variant), not shop offers: the price is the cheapest across shops. Next: tb_sellers (all offers), tb_cheapest (best offer for a query), tb_product (specs). Prices are Toman; price is null when Torob lists none. Unknown query words and weak matches set low_confidence and unmatched_terms; spellcheck / suggested_queries help rephrase. count stops at 1200 (count_capped). ad marks sponsored cards. min_price/max_price in the reply are the span of the unfiltered result.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNoCity id or name; sellers near it are preferred. Effect on search is Torob-side and unverified, use tb_sellers(city=) for exact local offers.
pageNo0-based page (default 0).
sortNoOrder: popular (Torob default), cheapest, priciest, newest, most_sellers (most shops).popular
brandNoBrand id (e.g. 14) or name (e.g. 'Apple', 'اپل'); needs query or category. Unknown names are refused with the real brand list.
limitNoProducts to return (default 10, max 50).
queryNoSearch text, Persian or Finglish, e.g. 'گوشی آیفون 13' or 'ayfon 13'. Optional when category is given.
outputNojson (default) or csv text of the cards for export.json
filtersNoExtra attribute filters {slug: value} from tb_filters, e.g. {'storage': '256 gb', 'ram': '8 gb'}. Validated: unknown slugs or values are refused.
categoryNoLimit to a category id (e.g. 94 = mobile phones).
conditionNonew, used (کارکرده / stock) or any.any
in_personNoOnly products with an in-person (offline) shop.
max_priceNoHighest price in Toman, e.g. 30000000.
min_priceNoLowest price in Toman.
installmentNoOnly products sold in installments (Torob Pay).
available_onlyNoOnly products in stock.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, openWorld), yet the description adds substantial behavioral detail beyond them: `price` null when no listing, `low_confidence`/`unmatched_terms` on weak matches, spellcheck/suggested_queries for rephrasing, `count` capped at 1200 with `count_capped`, `ad` marking sponsored cards, and that min/max_price span the unfiltered result. This is rich disclosure that annotations alone would not convey.

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 purpose and return shape before the routing list, and every sentence carries information (return unit, alternatives, edge cases). It is dense — the parenthetical sibling list packs several tools into one clause — but not padded, so it stays efficient without being sparse.

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 15 params, no output schema, and a complex open-world search tool, the description covers the missing pieces: what a card contains, the product-vs-offer distinction, price-null and low-confidence semantics, and the count cap. An agent has everything needed to call it correctly and interpret the result.

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 15 parameters (city, filters, brand, condition, etc.) with examples and constraints. The description adds only the caveat that min/max_price in the reply span the unfiltered result, which is marginal beyond the schema. Baseline 3 is appropriate.

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+resource ('Search Torob for products') and immediately specifies the unit of return ('cards are products, one per model/variant, not shop offers'). It explicitly distinguishes itself from sibling tools like tb_sellers and tb_offers, so an agent can route without opening a 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?

'Use first for any "find / how much is X" question' gives an explicit entry-point rule, and the 'Next:' clause names the alternatives (tb_sellers for all offers, tb_cheapest for the best offer, tb_product for specs) with the condition that selects each. This is a complete when/when-not map.

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