Skip to main content
Glama

Search centers

dt_search_centers
Read-onlyIdempotent

Search hospitals, clinics, labs, imaging centers, and pharmacies in Iran by city, type, speciality, ownership, 24-hour status, or distance to compare details, reviews, and booking options.

Instructions

Find hospitals, clinics, infirmaries, laboratories, imaging centers and pharmacies with filters.

Each card has the hash id (input of dt_center), kind, state/private, 24h flag, address, coordinates, review count and recommend percent, doctor count and whether it takes online bookings. With near_lat and near_lon it searches a square around the point (map search) and sorts by distance; dense areas return only part of the centers as cards and count the rest in more_in_area. Insurance filters have no effect upstream: check insurances in dt_center. Next: dt_center, dt_reviews(of='center').

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNoCity slug from dt_cities, e.g. 'tehran'.
nameNoPart of the center's name in Persian, e.g. 'قلب'.
pageNo1-based page number.
typeNoKind of center, e.g. 'laboratory'.
limitNoCenters per page (the API pages by 20).
near_latNoLatitude of a point in Iran, e.g. 35.7575.
near_lonNoLongitude of a point in Iran, e.g. 51.4100.
open_24hNoOnly centers open around the clock (pharmacies, hospitals).
ownershipNoState (public) or private.
radius_kmNoWith near_lat/near_lon: half-width of the square searched, in km.
specialityNoDepartment / speciality slug from dt_specialities, e.g. 'ophthalmologist'.
service_tagNoService tag slug from dt_suggest, e.g. 'mri'.
neighborhoodNoNeighborhood slug from dt_neighborhoods, with city only, e.g. 'pasdaran'.
online_lab_admissionNoOnly laboratories that take online admission bookings.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower. The description still adds real behavioral context: map searches sort by distance, dense areas truncate results and report the remainder via `more_in_area`, and insurance filtering is a dead end. It omits pagination depth/limits and any rate-limit or throttling behavior.

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?

Two tight paragraphs, front-loaded with what is returned before the mechanics. The card-field enumeration is dense but each item maps to a real decision an agent makes (e.g. `id` as the dt_center input, `more_in_area` for truncation), so the sentences earn their place.

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 14 optional filters, fast-follow sibling routing, and an output schema present, the definition is nearly self-sufficient — return-shape details are correctly delegated to the output schema. The remaining gap is that no guidance is given on combining filters (e.g. neighborhood requires city) or on paging through dense-area results.

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 14 parameters and a 3 is the baseline. The description adds only marginal filter semantics (near_lat/near_lon trigger a distance-sorted square search) and actually references an 'insurance filter' that does not exist as a parameter, which could mildly mislead rather than clarify.

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 and an enumerated resource list ('Find hospitals, clinics, infirmaries, laboratories, imaging centers and pharmacies with filters'), which immediately distinguishes it from the doctor-oriented sibling dt_search_doctors. The agent knows exactly what entity set this tool returns without opening the 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 concrete workflow routing ('Next: dt_center, dt_reviews(of="center")') and a clear negative rule ('Insurance filters have no effect upstream: check `insurances` in dt_center'). It does not, however, contrast itself with dt_search_doctors or explain when a city/neighborhood filter should be preferred over the map (near_lat/near_lon) mode, so the alternative-selection guidance stops short of explicit.

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