Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DOCTORETO_MCP_PROXYNoHTTP 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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 id (input of dt_doctor), visit types offered, the office visit fee when listed, office areas, the earliest free slot over all services (Tehran time, with the Jalali date), review count, recommend percent and bookings. Online consultation prices are not in the cards (the list's phone price differs from the booking page): call dt_doctor for prices. near_lat/near_lon narrow to doctors near a point. Next: dt_doctor -> dt_free_slots.

dt_specialitiesA

List medical, paramedical and dental specialities with the slug dt_search_doctors needs.

level is specialist, subspecialist, fellowship or general; parent is the broader speciality (interventional cardiology -> cardiologist). About 100 entries. Next: dt_search_doctors(speciality=slug).

dt_citiesA

Find a city's slug (for search filters) and numeric id (for dt_suggest).

Without arguments returns the main cities first. With speciality returns only cities that have doctors of it, with the doctor count (main cities only; a search may still find doctors elsewhere). Next: dt_search_doctors(city=slug) or dt_neighborhoods.

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.

services[] lists each office and online visit (phone, text, video, instant) with consultation_id (input of dt_free_slots), fee (the full price: for an office visit the fee paid at the office, for online visits the online price), pay_online_now (charged when booking; usually 0 for office visits), the office address and coordinates, and next_free (Tehran time). Also the about text, review summary (count, recommend percent, 1-5 averages per category), office waiting time and treated conditions. Booking needs an SMS login on the site: give the user url. Next: dt_free_slots, dt_reviews.

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. bookable_until is the last day the doctor has opened (often about 30 days ahead). Text consultations usually have no time slots. Booking needs an SMS login on doctoreto.com: give the user the page URL.

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 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').

dt_centerA

A center's page: address, coordinates, departments, services, accepted insurances, attributes, opening hours, lab admission rules, bookable services with consultation_id (for dt_free_slots) and its doctors (hash ids for dt_doctor, with each doctor's earliest free slot).

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 url. Next: dt_free_slots, dt_doctor, dt_reviews(of='center').

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 (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').

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 consultation_id for dt_free_slots.

Booking and payment need an SMS login on the site: give the user url.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 14 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues