Skip to main content
Glama

Doctor profile

dt_doctor
Read-onlyIdempotent

Retrieve a doctor's profile with bookable office and online visits, Toman fees, next free appointment times, reviews, treated conditions, and office details.

Instructions

A doctor's profile with every bookable service, its price in Toman and its next free time.

services[] lists each office and online visit with consultation_id (input of dt_free_slots), fee (office visit: paid at the office; online: the online price), pay_online_now (charged when booking), the office address and coordinates, and next_free. Also about text, review summary (count, recommend percent, 1-5 category averages), office waiting time, treated conditions and photo. Long texts are cut (about 800 chars); full_text returns them whole. Next: dt_free_slots, dt_reviews.

Input Schema

NameRequiredDescriptionDefault
doctorYesDoctor hash id ('xqbEWZ') or page URL ('https://doctoreto.com/doctor/dr-kambiz-parazaran/xqbEWZ').
full_textNoReturn complete texts instead of cutting long ones.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv0.3.0
    • changedInput schema / properties / doctor / description
      Previous value: -"Doctor hash id from a search ('xqbEWZ') or the doctor's page URL ('https://doctoreto.com/doctor/dr-kambiz-parazaran/xqbEWZ'). The slug alone cannot be resolved."New value: +"Doctor hash id ('xqbEWZ') or page URL ('https://doctoreto.com/doctor/dr-kambiz-parazaran/xqbEWZ')."
    • removedInput schema / properties / doctor / title
      Removed value: -"Doctor"
    • addedInput schema / properties / full_text
      Added value: +{
      +  "default": false,
      +  "description": "Return complete texts instead of cutting long ones.",
      +  "type": "boolean"
      +}
    • removedInput schema / title
      Removed value: -"dt_doctorArguments"
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": true,
      -  "title": "dt_doctorDictOutput",
      -  "type": "object"
      -}New value: +null
  2. First observedv0.1.0

TDQS

A4.4/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), but the description adds real behavioral context: long texts are truncated around 800 chars unless full_text is set, and it disambiguates fee semantics (office visit paid at the office vs. online price, and pay_online_now charged at booking). It does not mention auth requirements, rate limits, or behavior on an invalid/unknown doctor id.

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?

The opening sentence is front-loaded with the essential purpose, and the follow-up sentence enumerates the payload fields efficiently. It is dense—almost a schema dump in prose—but nearly every clause carries information an agent needs, with only minor redundancy in listing photo/about text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the full burden of describing the return shape, and it does so thoroughly (services[], fee, pay_online_now, address, next_free, review summary, waiting time, conditions, photo). Combined with the full_text toggle and the onward-tool routing, an agent has everything needed to call it and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3; the description still adds value beyond the schema by giving the concrete truncation threshold (~800 chars) that the schema only gestures at with 'cutting long ones'. The 'doctor' parameter accepts a hash id or full page URL per the schema, and the description does not restate or contradict that.

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?

The description states exactly what the resource is and what it contains: a doctor's profile with every bookable service, its price in Toman, and its next free time. It also differentiates from siblings by explaining that consultation_id from services[] is the input of dt_free_slots, so an agent knows this is the detail/hub tool rather than a search tool.

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 explicitly routes the agent onward ('Next: dt_free_slots, dt_reviews') and explains the data handoff (consultation_id feeds dt_free_slots), which is genuine when-to-use guidance. It stops short of stating when NOT to use it (e.g., vs. dt_search_doctors for discovery), so it falls just short of a 5.

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