prayer-times
Server Details
Islamic prayer times for any city, today or the whole month, from official timetables or calculated.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 2 tools
get_prayer_times retrieves prayer times for a location, while search_city resolves city names to identifiers. They have distinct, complementary purposes with no overlap.
Both tool names follow the verb_noun pattern in snake_case (get_prayer_times, search_city), making the naming predictable and consistent.
Two tools perfectly match the narrow scope: one for discovery and one for retrieval. There are no redundant or unnecessary tools.
The surface covers the core workflow: search for a city and get times by city or place_id, including monthly data. A minor gap is the inability to pass raw coordinates directly, but it is not critical for the stated purpose.
Available Tools
2 toolsget_prayer_timesPrayer times for a cityARead-onlyInspect
Prayer times (Fajr, Sunrise, Dhuhr, Asr, Maghrib, Isha) for a city on a date. Give either city (name or site slug such as "london", "new-york", "london-ca" for London, Ontario) or place_id (GeoNames id from search_city). date is YYYY-MM-DD in the city's local calendar (default: today there). Set month true for every day of that month. Returns local times, the UTC offset, the Hijri date, the calculation method or official timetable, and the page URL to cite.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City name or slug, e.g. "Karachi", "kuala lumpur", "london-ca" | |
| date | No | YYYY-MM-DD; default today in that city | |
| month | No | true: every day of the month of `date` | |
| place_id | No | GeoNames id from search_city (exact place) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds valuable context beyond that: default date is today in the city's local calendar, month=true expands to the whole month, and it lists what is returned (local times, UTC offset, Hijri date, calculation method, page URL).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the resource and its fields, then location options, then date semantics and return values. Efficient, though the return-value enumeration is somewhat dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the location alternatives, date defaulting, month expansion, and return contents. With no output schema, describing the returned fields is appropriate. Missing only pagination/error behavior, which is minor for a single-record lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already defines parameters. The description adds meaning beyond the schema by clarifying slugs like "london-ca" for London, Ontario, noting city/place_id are alternatives, specifying local-calendar semantics for date, and explaining month's effect.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (prayer times for a city on a date) and enumerates the exact fields returned (Fajr, Sunrise, Dhuhr, Asr, Maghrib, Isha). The relationship to its sibling search_city is made explicit through the place_id reference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the two mutually exclusive ways to identify a location (city slug or place_id) and points to search_city as the source of place_id. Lacks an explicit 'when to use this vs alternatives' exclusion, but for a single-purpose lookup tool the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_cityFind a cityARead-onlyInspect
Search cities and towns by name (any spelling, e.g. "Makkah" or "Mecca"). Returns candidates with their country, region, coordinates, time zone and GeoNames id; pass the id as place_id to get_prayer_times. Optional two-letter country code to narrow the search.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results, default 8 | |
| query | Yes | City name, at least two characters | |
| country | No | ISO 3166-1 alpha-2 country code, e.g. PK |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered; the description adds the substantive behavioral detail that spelling variants are accepted ("Makkah"/"Mecca") and enumerates what each candidate carries (country, region, coordinates, time zone, GeoNames id). No rate limits or result-count behavior beyond the schema's limit are described, which keeps this short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core purpose front-loaded and no filler. The final sentence fragment about the country code reads slightly tacked-on, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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-shape burden and does so (candidate fields plus the downstream place_id usage), while annotations cover the read-only/open-world profile. Nothing an agent needs to call or chain this tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so query, limit, and country are already fully documented in the schema; the description only restates country's two-letter form and gives a spelling example. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Search cities and towns by name") and immediately distinguishes itself from the only sibling by explaining that the returned id is the place_id input for get_prayer_times. An agent can tell exactly what this tool is for and where its output feeds 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete when-to-use path (search here, then pass the id to get_prayer_times) and names the narrowing condition (optional two-letter country code). It lacks an explicit when-not-to-use or a disambiguation note about repeated calls, but the routing guidance is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
get_prayer_times - First observed
search_city
Related MCP Connectors
Islamic prayer times & calendar MCP (Aladhan API). Keyless.
Prayer times, Qibla, Hijri calendar, 99 Names, Quran audio, Bangladesh offsets. English + Bengali.
Production-ready Muslim prayer reminder MCP with astronomical precision and theological disclosure.
Daily panchang, festivals, muhurta and birth details, identical to the HinduCalendar Android app.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA service for calculating Islamic prayer times, Qiblah direction, and moon visibility using the islamic_times library.3-
- AlicenseNot gradedqualityCmaintenanceProvides Islamic prayer times, Qibla direction, and Hijri calendar conversion using the Aladhan API. No API key required.5MIT
- AlicenseAqualityAmaintenanceMCP server providing Malaysian/global prayer times (JAKIM + Aladhan fallback), nearest mosque/surau finder, and Islamic calendar events.41MIT
- AlicenseBqualityCmaintenanceAn MCP server providing comprehensive Islamic utilities, including prayer times, azan, Hijri calendar, du'a, zakat, and the 99 Names of Allah.34MIT