Skip to main content
Glama

Reviews

dt_reviews
Read-onlyIdempotent

Fetch paginated patient reviews for doctors, centers, or offers to assess ratings, recommendations, visit details, and replies, and page through to find low ratings.

Instructions

Patient reviews (doctors and centers newest first, offers oldest first): stars 1-5, recommends, text (cut at 400 chars unless full_text), labels, visit type, reason, office waiting time, date (Gregorian + Jalali) and reply.

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.

Input Schema

NameRequiredDescriptionDefault
idYesHash id or page URL of the doctor, center or offer, e.g. 'xqbEWZ'.
ofYesWhose reviews: a doctor, a center or a clinic offer.
pageNo1-based page number.
limitNoReviews per page.
full_textNoReturn complete texts instead of cutting long ones.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv0.3.0
    • addedInput schema / properties / full_text
      Added value: +{
      +  "default": false,
      +  "description": "Return complete texts instead of cutting long ones.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / id / description
      Previous value: -"Hash id or page URL of the doctor, center or offer, e.g. 'xqbEWZ' or 'https://doctoreto.com/center/raz-shiraz-lap/YNrrOb'."New value: +"Hash id or page URL of the doctor, center or offer, e.g. 'xqbEWZ'."
    • removedInput schema / properties / id / title
      Removed value: -"Id"
    • removedInput schema / properties / limit / title
      Removed value: -"Limit"
    • removedInput schema / properties / of / title
      Removed value: -"Of"
    • removedInput schema / properties / page / title
      Removed value: -"Page"
    • removedInput schema / title
      Removed value: -"dt_reviewsArguments"
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": true,
      -  "title": "dt_reviewsDictOutput",
      -  "type": "object"
      -}New value: +null
  2. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnly, idempotent, non-destructive), and the description adds real behavioral context: sort order differs by entity (newest first for doctors/centers, oldest first for offers), text truncation at 400 chars unless full_text, and the absence of upstream sort/filter. It does not mention rate limits or what the response envelope looks like, keeping it at a 4.

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 resource and what it returns, then behavior, then the usage tip. The parenthetical list of returned fields is dense but every clause carries information; no filler sentences.

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 no output schema, the description carries the return-value burden and does list the returned fields (stars, recommends, text, labels, visit type, reason, waiting time, date in Gregorian and Jalali, reply). It references a 'total' for computing pages without saying where that value comes from, a small gap for a paginated tool.

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 coverage is 100% (baseline 3), and the description still adds meaning beyond it — the 400-character truncation threshold tied to full_text and the pagination formula tying limit to total. That is genuine additive detail over the schema's generic 'return complete texts' wording.

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 resource (patient reviews) with its scope (doctors, centers, offers) and immediately clarifies per-entity ordering. It also differentiates by routing summary data to the sibling dt_doctor, so an agent can tell it apart from dt_doctor without opening either 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 an explicit usage technique: 'No sort or filter upstream: to find low ratings, page through (pages = total / limit)', plus a pointer to dt_doctor for the summary. It lacks an explicit when-not/alternative carve-out beyond that one redirection, 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.