Skip to main content
Glama

Specialities

dt_specialities
Read-onlyIdempotent

List medical specialities and their slugs for doctor searches; query by name or slug, then use the returned slug to find Iranian doctors by specialty.

Instructions

List specialities with the slug dt_search_doctors needs; total counts all matches.

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

Input Schema

NameRequiredDescriptionDefault
limitNoMax entries (about 100 exist).
queryNoPart of the name or slug, e.g. 'قلب' or 'cardio'. Omit for all.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv0.3.0
    • addedInput schema / properties / limit
      Added value: +{
      +  "default": 150,
      +  "description": "Max entries (about 100 exist).",
      +  "maximum": 300,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • changedInput schema / properties / query / description
      Previous value: -"Part of the name in Persian or the slug, e.g. 'قلب' or 'cardio'. Omit for all."New value: +"Part of the name or slug, e.g. 'قلب' or 'cardio'. Omit for all."
    • removedInput schema / properties / query / title
      Removed value: -"Query"
    • removedInput schema / title
      Removed value: -"dt_specialitiesArguments"
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": true,
      -  "title": "dt_specialitiesDictOutput",
      -  "type": "object"
      -}New value: +null
  2. 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 declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely new domain behavior: that `total` counts all matches regardless of limit, the four-value level taxonomy, and the parent/child relationship (interventional cardiology -> cardiologist). It does not discuss pagination or result ordering, but the additions are substantive.

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?

Three tight fragments with zero filler; the downstream purpose is front-loaded in the first clause. The level/parent semantics are packed into a single line and the next-step call is stated last, which is the right order for an agent that will act on it.

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?

For a read-only, two-parameter list tool with no output schema, it covers purpose, semantics of the values returned, and the downstream call. It stops short of describing the per-item record shape (slug/name/level/parent fields), which the absence of an output schema leaves slightly underspecified.

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 both parameters (query, limit) are already fully documented with examples and defaults, giving a baseline of 3. The description's 'Prefer `query`' is a mild usage nudge but adds no syntax, matching strategy, or format detail beyond the schema.

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 verb+resource (list specialities) and immediately frames its purpose in terms of a downstream need: producing the slug that dt_search_doctors consumes. An agent can distinguish it from siblings like dt_suggest or dt_cities 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?

Provides explicit workflow routing — 'Prefer `query`' and 'Next: dt_search_doctors(speciality=slug)' — which tells the agent both how to call it and what to do with the result. It stops short of stating exclusions or naming alternative tools for the same need, so it is clear context rather than a full when/when-not rule set.

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