Skip to main content
Glama

List cities

ey_cities
Read-onlyIdempotent

List Iranian cities covered by doctors on exiryab.com with province and doctor counts, most doctors first, to find the exact Persian city name for doctor searches or check coverage.

Instructions

Cities that have doctors on exiryab.com, with their province and doctor count, most doctors first.

Use it to find the exact Persian city name for ey_search_doctors(city=...), or to check whether a town is covered. total counts every match, not only the ones returned.

Input Schema

NameRequiredDescriptionDefault
limitNoMax cities to return.
queryNoPart of the Persian name, e.g. 'شیر' or 'قلب'. Omit to list the largest.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and openWorld, so safety is covered. The description adds the non-obvious behavioral trait that `total` counts every match rather than only returned rows, which materially affects how an agent interprets results. It does not explain pagination/limit interaction, but the schema handles limit.

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 short sentences, each earning its place: inventory, purpose/routing, and result-semantics caveat. Front-loaded with what the tool returns.

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?

Output schema exists and annotations are rich, so the description needn't explain return shape. It covers what the tool is for, how it links to the sibling search tool, and the one result-interpretation gotcha an agent could otherwise get wrong.

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% and both parameters (limit, query with Persian-name example) are fully documented there. The description adds only indirect meaning via the `total` vs returned distinction, so the baseline 3 applies.

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 (cities with doctors on exiryab.com) plus the returned fields (province, doctor count) and the sort order. This is clearly distinguishable from ey_search_doctors and ey_specialties without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the downstream alternative and the condition that selects it: resolve the exact Persian city name for ey_search_doctors(city=...) or check coverage. Nothing is left to inference.

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

Deploy Server

Other Tools