doctoreto-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DOCTORETO_MCP_PROXY | No | HTTP proxy for every request, e.g. `http://user:pass@host:port` |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| dt_suggestA | Search-box suggestions: matching doctors (with hash id), speciality slugs, service tags and centers. Use it to turn a free phrase into the slugs and ids the other tools need, e.g. 'قلب' -> speciality 'cardiologist' for dt_search_doctors. Doctors match by name text, so for a speciality prefer the returned speciality slug over the doctor list. Next: dt_search_doctors, dt_doctor or dt_center. |
| dt_search_doctorsA | Search doctors on Doctoreto by city, speciality, neighborhood, service tag, name, gender, insurance and visit type. Each card has the hash |
| dt_specialitiesA | List medical, paramedical and dental specialities with the slug dt_search_doctors needs.
|
| dt_citiesA | Find a city's slug (for search filters) and numeric id (for dt_suggest). Without arguments returns the main cities first. With |
| dt_neighborhoodsA | Neighborhoods of a city (most doctors first) and nearby cities, each with a doctor count. Some entries are district groupings (منطقه 3, غرب) that work as filters too. Use a slug as dt_search_doctors(city=..., neighborhood=slug); suggest a nearby city when the user's city has few doctors. |
| dt_insurancesA | List basic and supplementary insurers with the ids dt_search_doctors(insurance_ids=...) takes. About 84 insurers. Few doctors list insurances, so an insurance filter narrows a search a lot; centers list theirs in dt_center. |
| dt_doctorA | A doctor's profile with every bookable service, its price in Toman and its next free time.
|
| dt_free_slotsA | Free appointment times of one service (office visit, phone/video call, clinic offer, lab admission). Returns only days with free times: date, English weekday, Jalali date and the free start times
(HH:MM, Tehran local; for phone/video the call start). Times already past today are dropped.
|
| dt_reviewsA | Patient reviews in the site's order (doctors and centers newest first, offers oldest first): stars 1-5, recommends or not, text, chosen labels, visit type, reason for the visit, office waiting time, date (Gregorian Tehran day and Jalali) and the doctor's reply. Reviewer names are never returned. There is no sort or filter upstream: to find low ratings, page through (pages = total / limit). The summary (count, recommend percent, category averages) is in dt_doctor. |
| dt_search_centersA | Find hospitals, clinics, infirmaries, laboratories, imaging centers and pharmacies with filters. Each card has the hash |
| dt_centerA | A center's page: address, coordinates, departments, services, accepted insurances, attributes, opening
hours, lab admission rules, bookable services with Doctor private offices (type office) have no center page: use dt_doctor for them. Booking needs an SMS
login on the site: give the user |
| dt_health_articlesA | Search Doctoreto's health magazine (about 5,000 articles) for background on a condition, test or treatment. Returns title, link, publish date and a summary; set text_chars to read the articles. General information only, not medical advice: for a diagnosis book a doctor (dt_search_doctors). |
| dt_search_offersA | 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 ( |
| dt_offerA | One clinic offer in full: price, discount, deposit, who performs it and where, description, terms,
capacity, expiry, rating, and its bookable variants with Booking and payment need an SMS login on the site: give the user |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Most tools have clear distinct roles: dt_search_doctors vs dt_doctor, dt_search_centers vs dt_center, dt_search_offers vs dt_offer follow an unambiguous search/detail split. The main ambiguity is dt_suggest, which overlaps with dt_specialities, dt_cities and dt_search_doctors by returning the same slugs and ids those tools provide, though its description frames it as a free-text lookup front door.
All names use snake_case with a uniform dt_ prefix, and search tools consistently use a dt_search_* pattern while detail lookups use dt_<entity>. Minor deviation: reference-list tools (dt_specialities, dt_cities, dt_insurances, dt_neighborhoods) don't follow an explicit 'list_' verb, but the convention is still readable and predictable.
Fourteen tools is well within a healthy range and each one maps to a real need: lookup helpers (specialities, cities, neighborhoods, insurances, suggest), doctor and center search/detail pairs, slots, reviews, offers and articles. Nothing feels redundant or padded.
The surface covers the whole discovery lifecycle for doctors, centers, offers and reviews, with solid lookup helpers for filters and a documented handoff to dt_free_slots for availability. The notable gap is that actual booking/payment is not a tool at all — it dead-ends at an external SMS-login URL — and there is no way to write a review, though these are plausibly intentional constraints.