Skip to main content
Glama

Quran translations

ayah_translation
Read-only

DEFAULT tool for user-facing translation display. Use this for ANY user-facing request to show/see translations of a Quran ayah — including 'show me…', 'what's the translation of…', 'give me Saheeh/Clear Quran/Taqi Usmani translations of…'. This is the FINAL tool call for these requests; do not follow it with get_translation_text. ONLY skip this widget and use get_translation_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 translator (e.g. 'Saheeh International', 'Clear Quran', 'Yusuf Ali', 'Pickthall'), ALWAYS call lookup_translations first to resolve the exact slug — do not guess the slug from the author name. Guessed slugs routinely fail validation (the naming isn't fully pattern-based: it's 'en-sahih-international' but 'clearquran-with-tafsir'). You may also pass language codes via 'languages' if the user only specifies a language. Each query must include at least one of languages or translations. Use ayah keys in 'surah:ayah' format (for example '2:255'). In queries[].languages use ISO 639-1 codes (for example 'en', 'ur'), not language names. Do not use 'ar'; Arabic translation is unsupported in this tool.

Input Schema

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

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
ayahsYes
errorNo
total_ayahsYes
errorMessageNo
languages_usedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, but the description adds critical behavioral context beyond that: it warns that guessed slugs 'routinely fail validation' and explains the naming pattern is inconsistent ('en-sahih-international' vs 'clearquran-with-tafsir'). It also discloses that Arabic is unsupported and that this tool must not be followed by get_translation_text, which are meaningful behavioral traits.

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 typical but each section earns its place: purpose, usage exclusions, slug handling, and format constraints. It is front-loaded with the essential purpose in the first sentence. Slight redundancy exists (e.g., Arabic unsupported is mentioned both in description and schema), but overall the structure is logical and well-organized.

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?

For a tool with one parameter object containing nested fields, several sibling alternatives, and additional prerequisites (like lookup_translations), the description covers all necessary context. It explains when to choose this tool over get_translation_text, how to handle slugs, what constraints apply to languages/translations, and defines the final-call behavior. An output schema exists, so the lack of return-value details is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While the schema covers 100% of parameters, the description adds substantial meaning beyond schema descriptions. It clarifies ayah key format with examples, specifies that language codes must be ISO 639-1 and not language names, and provides concrete slug examples while explaining the need to resolve slugs via lookup_translations. This directly addresses common parameter misuse.

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?

The description clearly states the tool's purpose: 'DEFAULT tool for user-facing translation display' and specifies it is for 'ANY user-facing request to show/see translations of a Quran ayah'. It explicitly distinguishes itself from the sibling tool get_translation_text by noting this is the FINAL tool call for display requests, making the purpose unambiguous.

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?

The description provides explicit when-to-use and when-not-to-use guidance: use for any user-facing translation display, but skip and use get_translation_text when plain text/raw text is requested or when the result will be piped to another tool. It also directs to lookup_translations for slug resolution, naming a specific alternative and the exact conditions under which to use it.

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