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

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

Output 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