Skip to main content
Glama

Search clinic offers

dt_search_offers
Read-onlyIdempotent

Search fixed-price doctor and clinic offers for procedures and packages, filtering by city, speciality, price, doctor, or center to compare options.

Instructions

Search Doctoreto clinic offers: fixed-price procedures and packages (ultrasound, echo, laser, dental, check-ups) sold by doctors and centers.

Each card has the price and price after discount (Toman), what is paid online (pay_online: the deposit when payment is deposit_online, the rest at the place), provider doctor, place, earliest free time, star rating and the default consultation_id for dt_free_slots. Unknown sort upstream: compare prices yourself. Next: dt_offer, dt_free_slots, dt_reviews(of='offer').

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNoCity slug from dt_cities, e.g. 'tehran'.
pageNo1-based page number.
limitNoOffers to return from the page (the API pages by about 40).
queryNoService in Persian, e.g. 'سونوگرافی' or 'لیزر'.
centerNoOnly offers at this place (hash id), e.g. 'ZWpOLy'.
doctorNoOnly offers of this doctor (hash id or page URL).
max_priceNoMaximum price in Toman, e.g. 2000000.
min_priceNoMinimum price in Toman, e.g. 1000000.
specialityNoSpeciality slug, e.g. 'cardiologist'.
service_tagNoService tag slug, e.g. 'rhinoplasty'.
neighborhoodNoNeighborhood slug, e.g. 'pasdaran'.

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 declare read-only, idempotent, open-world behavior, so the bar is lower; the description still adds real operational context — that the upstream sort order is unknown and prices must be compared client-side, and that pay_online represents only the deposit when payment=deposit_online (rest paid at the place). It does not discuss pagination limits beyond what the schema says.

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-loads the purpose before the card contents and next steps, with zero filler sentences. The card-field enumeration is dense but each field maps to a real downstream decision (price, deposit, consultation_id), so it earns its space despite being longer than typical.

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 an 11-param, zero-required search tool with an output schema and full annotation coverage, the description covers purpose, workflow, and a behavioral gotcha well. Return-value explanation is technically redundant given the output schema, and it omits any hint about how the many optional filters combine (e.g., can city and neighborhood be used together), a minor gap.

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 11 parameters (city slug, doctor hash/URL, price bounds, speciality/service_tag/neighborhood slugs) are already documented. The description adds no filter semantics beyond the schema; its pay_online and consultation_id mentions pertain to response cards, not inputs. Baseline 3 applies.

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 clinic offers) and immediately defines the domain object — fixed-price procedures and packages sold by doctors and centers — which separates it from dt_search_doctors and dt_search_centers. It also names the detailing sibling dt_offer, 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 Guidelines4/5

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

Gives a clear follow-up workflow (dt_offer for detail, dt_free_slots using the card's consultation_id, dt_reviews with of='offer') and an explicit caution to sort prices manually because upstream sort is unknown. It never states when to prefer this tool over the other search siblings (doctors/centers), so it stops short of full alternative guidance.

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