Skip to main content
Glama

Quran tafsir

ayah_tafsir
Read-only

DEFAULT tool for user-facing tafsir display. Use this for ANY user-facing request to show/see tafsir commentary on a Quran ayah — including 'show me the tafsir of…', 'what does Ibn Kathir say about…', 'explain this ayah'. This is the FINAL tool call for these requests; do not follow it with get_tafsir_text. ONLY skip this widget and use get_tafsir_text when EITHER (a) the user explicitly asks for plain text / raw text / text-only output, OR (b) the result will be piped into another tool in the same turn without being shown to the user. When in doubt, use this widget. SLUG HANDLING: If the user names a specific tafsir (e.g. 'Ibn Kathir', 'Mokhtasar', 'Maarif-ul-Quran', 'Tazkirul Quran'), ALWAYS call lookup_tafsirs first to resolve the exact slug — do not guess the slug from the name. Guessed slugs fail validation. If the user only specifies a language ('English tafsir', 'Arabic tafsir'), you may pass 'languages' without a slug. Each query must include at least one of languages or tafsir_slugs. Use ayah keys in 'surah:ayah' format (for example '2:255'). Limits: max 20 queries per request and max 50 total ayah+tafsir items.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queriesYesTafsir queries. Each query defines an ayah range plus tafsir slugs or languages.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
ayahsYes
errorNo
total_ayahsYes
errorMessageNo
tafsir_languagesYes
tafsir_slugs_usedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: this is the FINAL tool call and must not be followed by get_tafsir_text, guessed slugs fail validation, and hard limits of 20 queries/50 items. These details go beyond annotation coverage and help the agent anticipate failures and constraints.

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 longer than average, but it is front-loaded with the core purpose and uses clear topic labels ('SLUG HANDLING', 'Limits') for scannability. Every sentence conveys necessary routing or formatting constraints, so the length is justified; no fluff.

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?

The description comprehensively covers purpose, alternatives, slug resolution, parameter semantics, formatting, and limits. Since an output schema exists, omitting return-value details is appropriate. No significant gaps for a tool with this complexity.

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?

Input schema already documents all parameters with 100% coverage, so baseline is 3. Description adds meaning by explaining the 'surah:ayah' format, the requirement to include at least one of languages or tafsir_slugs, and clarifying that languages expect ISO codes while tafsir_slugs require slugs discovered via lookup_tafsirs. This helps the agent compose valid queries.

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?

Description explicitly identifies itself as the 'DEFAULT tool for user-facing tafsir display' and provides concrete example requests ('show me the tafsir of…', 'what does Ibn Kathir say about…'). It clearly distinguishes from sibling get_tafsir_text by specifying exact conditions for when that alternative is used.

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?

Offers explicit when-to-use ('ANY user-facing request to show/see tafsir commentary') and when-not-to-use (plain text or piped output → get_tafsir_text). Also instructs calling lookup_tafsirs first for named tafsirs, giving clear alternatives and precedence.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources