Skip to main content
Glama

Shop offers for a product

em_offers
Read-onlyIdempotent

Find shops selling an Emalls product with cheapest-first prices, then filter by city, rating, established shops, or pickup-only.

Instructions

List the shops selling one Emalls product with price, city, shop rating, warranty and buy link, cheapest first.

Use it to find the cheapest offer, or the cheapest trustworthy one (established_only, sort=rating) or one in a given city. buy_url is Emalls' click-through link to the shop; open it only if the user wants to buy. Get the product_id from em_search. Prices are Toman. total_shops counts the shops with a live price before filters.

Input Schema

NameRequiredDescriptionDefault
cityNoOnly shops in this city or province, in Persian, e.g. تهران.
sortNoprice (cheapest first) or rating (best shops first).price
limitNoMax offers to return (1-50).
product_idYesEmalls product id from em_search, e.g. 26506037.
pickup_onlyNoOnly shops with the site's in-person purchase option (خرید حضوری: visit the shop and take the goods).
established_onlyNoOnly shops the site marks as established (فروشگاه‌های با‌سابقه).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare this as a safe, read-only, idempotent, open-world lookup. The description adds useful behavioral context beyond annotations, including cheapest-first default ordering, the external click-through nature of buy_url, Toman pricing, and the meaning of total_shops as live-price count before filters.

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?

The description is compact, front-loaded, and every sentence carries useful information. It avoids repeating the schema while still surfacing the key scope, usage, currency, and external-link caution.

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?

For a six-parameter read-only lookup with full schema coverage and no output schema, the description supplies the important missing context: where product_id comes from, what buy_url means, pricing currency, and total_shops semantics. It could say slightly more about returned offer fields or pagination behavior, but it is largely complete.

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 all six parameters are already documented in structured fields. The description reinforces product_id provenance, city filtering, and the established_only/sort=rating combination, but it does not add substantial syntax or constraints beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: listing shops selling one Emalls product, with the returned fields and default cheapest-first ordering. It is clear enough to distinguish from em_search and product-detail tools, but it does not explicitly contrast with siblings such as em_shops or em_compare.

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?

It gives concrete usage scenarios: finding the cheapest offer, the cheapest established shop with sort=rating, or offers in a given city. It also correctly routes product_id retrieval to em_search and warns to open buy_url only when the user wants to buy, though it does not name when to use a sibling tool instead.

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