Skip to main content
Glama

Read Quran Today

Server Details

The Quran (Madinah Mushaf): Arabic, 127 translations, tafsir, word by word and recitations

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
ahmad-anbarje/Quran-On-Web
GitHub Stars
0

TDQS

A3.6/5.0

Scored across 10 tools

Disambiguation4/5

Most tools target clearly distinct resources: get_ayah vs get_tafsir vs word_by_word differ by output granularity, and the list_* and search tools are unambiguous. However, get_file is a catch-all that overlaps with get_ayah (text), word_by_word (word data), and get_recitation (audio/timing), so an agent wanting a recitation or Arabic text has two plausible entry points.

Naming Consistency4/5

Most names follow a clean verb_noun or list_* convention (get_ayah, get_recitation, get_tafsir, list_reciters, list_surahs, list_translations, send_feedback). Two names deviate: the bare verb 'search' and the noun phrase 'word_by_word', but the set remains largely predictable.

Tool Count5/5

Ten tools is a well-scoped surface for a Quran reading/data API, with each tool earning its place across lookup, listing, search, and feedback functions. No filler or redundancy that bloats the set.

Completeness5/5

The surface covers the domain thoroughly: surah metadata, ayah text with translation, tafsir, word-by-word breakdown, recitations with timing, reciter and translation listings, search, developer data files, and feedback. Read-only data access has no obvious dead ends for a Quran-reading workflow.

Available Tools

10 tools
get_ayahGet ayahsA
Read-only
Inspect

The Arabic of one ayah or a run of them (up to 50), with a translation. Defaults to the King Fahd Complex English (Hilali & Muhsin Khan).

NameRequiredDescriptionDefault
toNoLast ayah, for a run; defaults to the first
ayahYesFirst ayah
surahYesSurah number, 1-114
translationNoTranslation id, e.g. "hilali", "sahih", "urdu_junagarhi"; "none" for the Arabic alone

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds a real behavioral constraint not present in the schema – the run is capped at 50 ayahs, a limit the schema does not enforce – plus the default translation. It says nothing about ordering of results, which is the remaining gap.

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?

Two short sentences with zero filler: the resource and its scope come first, the default second. Nothing repeats the title and nothing is wasted.

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 simple, read-only lookup with full schema coverage and annotations carrying the safety profile, the description covers resource, scope cap, and default translation. Only result ordering and the per-ayah pairing of Arabic with translation are left implicit, minor omissions for this complexity.

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 all four parameters are already documented, including the 'to' default and the surah range. The description adds only the identity of the default translation (Hilali & Muhsin Khan), one useful clarification for the un-enumerated translation id, which does not justify going above the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (retrieves/appears implicitly) and resource (the Arabic of one ayah or a run) plus the inclusion of a translation, so an agent knows exactly what comes back. It does not explicitly differentiate itself from get_tafsir or word_by_word, which cover adjacent ground.

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

Usage Guidelines3/5

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

No explicit when-to-use or when-not, and no mention of consulting list_translations before picking an id, even though translation ids are given only as loose examples. Usage is implied by the resource itself (reading scripture text), which is adequate but leaves sibling selection to inference.

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

get_fileGet a fileA
Read-only
Inspect

Links to download a surah's files: "text", the Arabic (optionally with a translation and the Tafsir al-Muyassar) as a .txt; "audio", its recording as an MP3 (leave out the surah for all of a reciter's); "timing", where each ayah and word of a recording starts and ends, as JSON; "font", the mushaf's fonts for the surah's pages (QCF V2, one a page) with the glyphs each ayah is written in; "data", for developers, the whole data sets (the Uthmani text, a translation or the tafsir in one file, the mushaf layout, word by word), with their sources.

NameRequiredDescriptionDefault
kindYes
surahNoSurah number, 1-114; needed for all but audio
tafsirNoFor text: the Tafsir al-Muyassar under each ayah
reciterNoFor audio and timing: reciter id; defaults to the site's own
translationNoFor text: a translation id to put under each ayah, e.g. "hilali"; for data: the translation to give whole

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real behavioral context that annotations cannot: each kind yields a download link, timing is JSON, fonts are one-per-page QCF V2, and data gives whole datasets with sources — valuable since no output schema exists. It stops short of noting rate limits, auth, or link expiry.

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 purpose is front-loaded in the opening clause, then the kind list follows. It is one dense sentence but every clause carries distinct information (format, scope, special cases). Slightly heavy for a single sentence but not padded.

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 5-parameter tool with no output schema and only annotations for safety, the description supplies the missing return-value semantics per kind, which is the main completeness risk here. Remaining gaps are minor: no sibling routing and no note on link lifetime or defaults beyond reciter.

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?

With 80% schema coverage the baseline is 3, and the description earns above that: it effectively documents the undescribed `kind` enum by explaining what each of the five values produces, and clarifies the surah-omission rule for audio. It does not add much on `translation` or `reciter` beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Links to download a surah's files") and then enumerates each of the five file kinds with a concrete artifact description (.txt, MP3, JSON timing, QCF V2 fonts, raw data sets). An agent can tell this is a bulk-file/download tool rather than an item lookup, though it does not explicitly contrast with get_recitation or get_tafsir, which overlap with the audio and tafsir paths.

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

Usage Guidelines3/5

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

Guidance is implied through the per-kind descriptions and one conditional note ("leave out the surah for all of a reciter's"), so an agent can infer which kind to pick. However, there is no explicit statement of when to use this tool versus siblings like get_recitation (audio), get_tafsir, or word_by_word, which are clearly adjacent.

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

get_recitationGet a recitationB
Read-only
Inspect

The recording of a surah: a link to the MP3, its length, and where each ayah starts and ends, in seconds, with a link that starts at a given ayah.

NameRequiredDescriptionDefault
ayahNoAn ayah to start the link at
surahYesSurah number, 1-114
reciterNoReciter id; defaults to the site's own

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description's real contribution is disclosing the return payload (MP3 link, duration, ayah offsets, ayah-anchored link), which is useful given there is no output schema, but it says nothing about defaults or failure behavior.

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?

A single tight sentence that front-loads the resource and enumerates the payload without waste. It reads as a sentence fragment, which slightly weakens the opening but costs no clarity.

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 burden of describing the return value and does so well, listing the link, length, and ayah boundaries. The remaining gap is routing to list_reciters for the reciter id, which is minor for a 3-parameter read tool.

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 coverage is 100%, so all three parameters are documented in the schema, including the reciter default and surah range. The description's 'link that starts at a given ayah' restates the ayah parameter's role without adding format details. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies the resource concretely: the recording of a surah with MP3 link, length, and per-ayah timings. It reads as a noun fragment rather than an explicit verb, so it lacks the 'retrieve/get' framing, and it doesn't distinguish itself from siblings like get_ayah or list_reciters by name.

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

Usage Guidelines2/5

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

No guidance on when to use this versus get_ayah (text) or word_by_word, and no mention that list_reciters supplies valid reciter ids. The agent must infer selection and prerequisite discovery on its own.

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

get_tafsirGet tafsirB
Read-only
Inspect

The Tafsir al-Muyassar (King Fahd Complex, Arabic) of one ayah or a run of them, up to 50.

NameRequiredDescriptionDefault
toNo
ayahYes
surahYesSurah number, 1-114

TDQS

B3.2/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful behavioral context by identifying the specific Arabic commentary edition and the 50-ayah range limit, but it does not explain output shape, missing-commentary behavior, or multi-ayah return format.

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 description is a single front-loaded sentence fragment with no filler, and the edition, language, and range are stated immediately. It is efficient, though the fragmentary phrasing omits an explicit verb.

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

Completeness3/5

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

For a low-complexity read-only retrieval tool with annotations and no output schema, it gives the commentary edition, language, and range. It still does not explain the return structure for a multi-ayah request or what happens when tafsir is unavailable, so it is only adequately complete.

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 coverage is only 33%, with only surah documented as 1-114. The phrase 'one ayah or a run of them, up to 50' does clarify that ayah is the start and 'to' is an optional end capped at 50, but it leaves constraints such as whether 'to' must be at least ayah or within the same surah unstated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the specific commentary edition and source (Tafsir al-Muyassar, King Fahd Complex, Arabic) and scopes it to one ayah or a run up to 50. It is clear what resource is returned, though it does not explicitly contrast itself with get_ayah or search.

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

Usage Guidelines2/5

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

Usage is only implied by the word 'tafsir'; there is no explicit when-to-use guidance and no mention of alternatives such as get_ayah for plain text or search for discovery. The 50-ayah cap is a scope limit, not guidance on tool selection.

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

list_recitersList the recitersC
Read-only
Inspect

The recordings on offer: id, reciter, and what tells two recordings by one voice apart.

NameRequiredDescriptionDefault

No parameters

TDQS

C2.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds a hint about returned fields (id, reciter, disambiguator), which is useful, but the phrasing is vague and it doesn't say whether the result is a full catalog or filtered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single short sentence, so it isn't bloated, but the front-loading is poor: the lead is a subordinate fragment ('The recordings on offer:') rather than the action, and the wording is cryptic ('what tells two recordings by one voice apart').

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

Completeness2/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 is the only source for return values, and it gestures at three fields without naming them or explaining their use. For a lookup tool that other siblings depend on, that leaves an agent guessing at structure and identifiers.

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?

The tool takes zero parameters, so the baseline is 4. There is nothing parameter-wise to compensate for, and the description correctly implies no input is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description describes the payload ("id, reciter, and what tells two recordings by one voice apart") but never states the action clearly – it never says it lists/returns reciters. It also confuses levels, describing 'recordings' rather than reciters, so an agent reading only the description would be unsure whether this enumerates reciters or recordings.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance, and no mention of siblings such as list_surahs or list_translations that share the 'list' role. The agent must infer that this is the lookup tool for reciter ids needed by get_recitation.

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

list_surahsList the surahsA
Read-only
Inspect

All 114 surahs: number, names, ayah count and mushaf pages.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds substantive context the annotations do not: the exact record shape returned (number, names, ayah count, mushaf pages), which matters because no output schema exists. It stops short of stating ordering or completeness guarantees.

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?

A single front-loaded clause with no waste; the quantity (114) and the returned fields are both stated immediately. Nothing could be removed without losing information.

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 no-param, no-output-schema listing tool whose annotations already cover safety, the description gives enough to call it correctly and anticipate the result. Minor gap: ordering of the list and whether results are static/full is left unstated.

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?

Zero parameters, so the baseline is 4. The description correctly implies the tool takes no arguments by framing it as returning 'All 114 surahs' unconditionally.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific resource (surahs) and enumerates the fields returned: number, names, ayah count, mushaf pages. It is clearly distinguishable from siblings like get_ayah, get_tafsir, and list_reciters, though it does not explicitly contrast itself with any of them.

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

Usage Guidelines3/5

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

No explicit when-to-use or when-not-to-use guidance, and no alternative is named. Usage is strongly implied by the zero-parameter listing nature and the clear sibling set, but the agent must infer it.

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

list_translationsList the translationsA
Read-only
Inspect

The translations on offer, optionally for one language: id, language, translator. Also which languages have word-by-word meanings.

NameRequiredDescriptionDefault
languageNoA language name or code to narrow to, e.g. "urdu" or "ur"

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the description's job is lighter. It adds genuine context beyond that by disclosing what the response contains (id, language, translator) and an extra payload — which languages have word-by-word meanings — which an agent would not otherwise anticipate.

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?

It's a single short sentence plus one clarifying clause, front-loading the resource before the optional filter. Phrasing like 'on offer' is slightly informal but nothing is redundant.

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?

There is no output schema, and the description compensates by enumerating the returned fields and the additional language-availability information. Minor gaps remain — whether multiple translations can share a language, or ordering — but for a zero-required-parameter list tool this is adequately complete.

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 coverage is 100% and the single parameter is documented in the schema, including a language-name-or-code example. The description only restates that the filter is optional and scoped to one language, adding no matching or formatting detail beyond the schema's baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource (translations) and the fields returned (id, language, translator), which lets an agent tell it apart from siblings like list_reciters or list_surahs. It reads as a noun phrase without an explicit verb ('The translations on offer'), so the listing action is only implied rather than stated.

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

Usage Guidelines3/5

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

'Optionally for one language' signals the filtering use case, which is the main usage cue. There is no explicit when-to-use guidance, no statement of when not to filter, and no reference to alternative tools for related needs (e.g., word_by_word).

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

send_feedbackReport a problemAInspect

Send the reader's report to readqurantoday.com: a problem with the site's text, a translation, the tafsir or a recitation, or a suggestion. Only when the reader asks to report or suggest something; send what they said, in their words, and the ayah or reciter it is about. Never on your own initiative.

NameRequiredDescriptionDefault
ayahNo
kindYes"bug" for something wrong
emailNoOnly if the reader gives it, for a reply
surahNo
messageYesThe report, in the reader's words
reciterNoReciter id, for a problem with a recitation

TDQS

A4.6/5.0
Behavior4/5

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

Annotations declare openWorldHint=true and readOnlyHint=false, and the description corroborates this by naming the external destination and the consent precondition, plus that the message must be the reader's own words rather than a paraphrase. It does not disclose what happens after sending (confirmation, failure modes, whether the email address is stored), which is the remaining gap for an irreversible outbound action.

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 dense sentences with no filler: destination and subject matter first, triggering condition second, content requirements third. The prohibitive clause lands last, which is the right emphasis for a write action.

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 6-parameter outbound send with no output schema, the description covers who triggers it, what to send, and in what form. Missing only post-send behavior and any note on the surah/ayah pairing and optional email, which keeps it just short of fully complete.

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?

At 67% schema coverage, the description adds real meaning: it maps the report subject matter onto the 'kind' enum ('a problem with... a suggestion'), constrains 'message' to the reader's verbatim words, and explains that 'ayah'/'reciter' identify what the report is about. It leaves 'surah' undocumented in both description and schema, and never mentions 'email', so it does not fully compensate for the coverage gap.

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 and resource ('Send the reader's report to readqurantoday.com') and enumerates exactly what counts as a report: text problem, translation, tafsir, recitation, or suggestion. This is clearly distinguished from every sibling tool, all of which are read-only retrieval tools.

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?

Gives an explicit positive trigger ('Only when the reader asks to report or suggest something') and an explicit prohibition ('Never on your own initiative'), which is exactly the guidance needed for an outward-facing action. No inference required.

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

word_by_wordWord by wordA
Read-only
Inspect

Each word of an ayah: its Latin reading and its meaning, in English or one of the other languages that have word meanings.

NameRequiredDescriptionDefault
ayahYes
surahYesSurah number, 1-114
languageNoLanguage code for the meanings; default "en"

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful output context—Latin reading and word meaning—but does not describe permissions, error behavior, or response structure beyond that.

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?

The definition is a single compact sentence that front-loads the core resource and output content. There is no redundant or wasted text.

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 simple read-only lookup without an output schema, the description adequately explains what is returned and the language option. It leaves some gaps around exact return structure and when to prefer sibling tools, but conveys enough for correct invocation.

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 coverage is 67%, so the schema documents surah and partially documents language/default behavior. The description reinforces that language selects English or another language with word meanings, but it adds no further semantics for the required surah and ayah parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource and output: per-word Latin reading and meaning for an ayah, including language options. It is more specific than the sibling get_ayah by signaling word-level granularity, though it uses a noun phrase rather than an explicit verb like 'retrieve' or 'get'.

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

Usage Guidelines3/5

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

The phrase 'Each word of an ayah' implies the tool should be used when word-level breakdown is needed, but there is no explicit guidance about when to choose it over get_ayah, get_tafsir, or other siblings. Alternatives and exclusions are left to inference.

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.

  1. 2 tool updates
    • Changedget_file4 fields changed
      • changedInput schema / properties / kind / enum
        Previous value: -[
        -  "text",
        -  "audio"
        -]New value: +[
        +  "text",
        +  "audio",
        +  "timing",
        +  "font",
        +  "data"
        +]
      • changedInput schema / properties / reciter / description
        Previous value: -"For audio: reciter id; defaults to the site's own"New value: +"For audio and timing: reciter id; defaults to the site's own"
      • changedInput schema / properties / surah / description
        Previous value: -"Surah number, 1-114; needed for text"New value: +"Surah number, 1-114; needed for all but audio"
      • changedInput schema / properties / translation / description
        Previous value: -"For text: a translation id to put under each ayah, e.g. \"hilali\""New value: +"For text: a translation id to put under each ayah, e.g. \"hilali\"; for data: the translation to give whole"
    • Addedsend_feedback
  2. 1 tool update
    • Addedget_file
  3. 8 tool updates
    • First observedget_ayah
    • First observedget_recitation
    • First observedget_tafsir
    • First observedlist_reciters
    • First observedlist_surahs
    • First observedlist_translations
    • First observedsearch
    • First observedword_by_word

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to retrieve canonical Quran text, translations, scholarly tafsir, full-text search, and word-level morphology from verified Quran data.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Validates Arabic Quran recitations for single verse, full surah, juz, page, or any consecutive verse range, supporting standard Arabic, Uthmani script, and full tashkeel validation.
    -
  • A
    license
    A
    quality
    D
    maintenance
    Provides AI assistants with comprehensive access to Islamic resources including Quran verses with translations, Tafsir commentary, Hadith collections, and audio recitations. Enables users to explore Islamic texts, get daily inspiration, and access scholarly interpretations through natural language queries.
    18
    12 npm
    10
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.