AskSakina Islamic Knowledge
Server Details
Curated Islamic MCP: Quran (Arabic + Pickthall), 445 du'as, 99 Names, crisis-aware.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- yserrag/asksakina-mcp
- GitHub Stars
- 0
- Server Listing
- AskSakina Islamic Knowledge MCP Server
TDQS
Scored across 4 tools
The dua and Names of Allah tools are clearly distinct, and the two Quran tools are separated by access path (topic keyword vs. exact surah/ayah). However, find_verses and get_quran_verse both return Arabic and English Quran text, so an agent looking for a single verse could briefly hesitate between them.
Three tools follow a clean get_<object> snake_case pattern, and the exception find_verses uses the same naming style but a different verb. This is a minor deviation rather than a chaotic or mixed convention.
With four tools, the set is tight and well-scoped for a focused Islamic knowledge reference server. Each tool covers a distinct content type or lookup mode, and none feel redundant or trivial.
The server covers its core content areas: Quran search, exact verse lookup, duas by life context, and the 99 Names of Allah. Minor gaps exist, such as not listing available topics or dua contexts, but agents can work around these with the provided examples and numeric lookups.
Available Tools
4 toolsfind_versesfind_versesAInspect
Searches AskSakina's thematic index for Quran verses by topic keyword. Returns reference, Tanzil Arabic and Pickthall English. Quote the Arabic exactly.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of verses to return; default 5, max 10. | |
| query | Yes | Topic or keyword, e.g. 'patience', 'grief', 'gratitude', 'hope'. | |
| locale | No | Selects the in-country crisis resources if one is needed; defaults to "en". Translations are Pickthall English. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses the return contents (reference, Tanzil Arabic, Pickthall English) and provides a concrete instruction: 'Quote the Arabic exactly.' This is meaningful behavioral context beyond the schema, though it does not cover rate limits, errors, or ordering.
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 sentences with no filler. The core search behavior is front-loaded, the return format is stated, and the exact-quoting instruction is a valuable addition that earns its place.
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?
The description covers the key operational facts: what it searches, what it returns, and the exact-quoting requirement. The schema fills in parameter details. It could be more complete with explicit guidance on choosing locale or distinguishing from get_quran_verse, but for a simple search tool it is largely adequate.
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?
The schema already describes all three parameters with 100% coverage, so the baseline is 3. The description adds little beyond confirming the query is a topic keyword, but it does not explain limit or locale semantics, leaving that to the schema.
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?
The description clearly states a specific action ('Searches AskSakina's thematic index') and a specific resource ('Quran verses by topic keyword'). It does not explicitly name sibling tools or contrast itself with them, though the 'thematic index by topic keyword' phrasing implies a distinction from get_quran_verse.
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?
The phrase 'by topic keyword' gives some implied guidance about when to use this tool, but it does not explicitly state when to use it versus alternatives like get_quran_verse, nor does it provide exclusions or conditions. The guidance is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_duaget_duaAInspect
Returns du'as from a curated collection for a life context (e.g. anxiety, travel, gratitude), with source and grading where recorded. Show any crisis_resource block verbatim.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | Translation locale; defaults to "en". v1 returns English content for all locales. | |
| context | Yes | Life context to match against. Examples: 'anxiety', 'morning', 'travel', 'forgiveness', 'gratitude'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It adds value by mentioning 'source and grading where recorded' (indicating variability) and instructing to show any crisis_resource block verbatim, which is an important output behavior. However, it does not mention side effects, authentication needs, or rate limits, leaving gaps for a get-type tool.
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 zero filler. The first sentence front-loads the core function and examples; the second provides a critical output instruction. Every word earns its place, making it efficient and easy to parse.
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?
For a simple get with 2 params and no output schema, the description covers purpose, examples, and a vital output instruction (crisis_resource verbatim). It does not detail error handling or result pagination, but these are not critical for such a straightforward tool. The absence of annotations is partially mitigated by the description's clarity, so it is reasonably complete.
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% – both parameters (context and locale) are already described in the input schema. The description repeats context examples but adds no new parameter-specific details beyond the schema. The locale behavior (v1 returns English for all locales) is documented in the schema, not the description. Thus, baseline 3 is appropriate.
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?
The description states a specific action (Returns du'as) and resource (curated collection) with concrete examples of life contexts (anxiety, travel, gratitude). It clearly distinguishes this from siblings like find_verses or get_quran_verse by focusing on du'as rather than verses or divine names.
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?
The description implies usage by specifying a life context, but it does not explicitly state when to use this tool over alternatives, nor provide conditions when not to use it. The examples suggest contexts, but no exclusions or comparisons are given, leaving the agent to infer applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_name_of_allahget_name_of_allahAInspect
Returns one of the 99 Names of Allah by number (1-99) or by name: Arabic, transliteration, meaning, reflection and Quranic references. Quote the Arabic exactly.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name input — Latin transliteration ('Al-Hakam'), Arabic ('الحكم'), or English meaning ('The Judge'). | |
| locale | No | Locale for meaning + reflection. Defaults to "en". | |
| number | No | Number of the Name in the canonical list, 1-99. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description alone must disclose behavioral traits. It does convey the output structure (Arabic, transliteration, meaning, reflection, Quranic references) and adds a behavioral instruction ('Quote the Arabic exactly'), which is useful for downstream use. However, it does not mention failure modes, error handling, or what happens if both number and name are provided. For a simple read-only lookup, this is acceptable but not comprehensive enough to score higher.
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?
The description is a single, well-structured sentence that front-loads the core purpose and output fields, then adds a critical usage instruction. Every element earns its place, and there is no redundant information. The structure is ideal for an agent to parse quickly.
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?
For a tool of this simplicity, the description covers the essential information: what it returns, how to select a Name, and a specific output instruction. It does not need to explain return values at a deeper level because the listed fields are self-explanatory. The only minor gap is handling of conflicting inputs (when both number and name are given), but this is an edge case not critical for typical use.
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?
The schema already provides 100% coverage of all three parameters (name, locale, number) with descriptions. The tool description adds minimal extra meaning: it clarifies the relationship between number and name (by number or by name) and hints at the output format. This is a marginal addition over the schema, so a baseline score of 3 is appropriate.
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?
The description states a specific verb ('Returns') and a specific resource ('one of the 99 Names of Allah') with concrete fields (Arabic, transliteration, meaning, reflection, Quranic references). It clearly differentiates from siblings like find_verses and get_quran_verse, which target different content types. It also clarifies the two selection modes (number or name), leaving no ambiguity about what the tool does.
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?
The description does not provide any guidance on when to use this tool versus its siblings (find_verses, get_dua, get_quran_verse). While the purpose implies it is for Names of Allah, there is no explicit mention of when to prefer it over alternatives, nor any exclusions or context about when it is appropriate. The only implicit signal is the resource type, which is not sufficient for robust tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_quran_verseget_quran_verseAInspect
Returns one Quran verse by surah and ayah number: Tanzil Uthmani Arabic and Pickthall English, with citation. Quote the Arabic exactly; do not paraphrase either text.
| Name | Required | Description | Default |
|---|---|---|---|
| ayah | Yes | Ayah (verse) number within the surah | |
| surah | Yes | Surah number, 1-114 | |
| locale | No | Translation locale; defaults to "en" (Pickthall). Urdu and Indonesian translations are not yet available: "ur" and "id" return Pickthall English with a note. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It does convey the core output behavior (two texts plus citation) and adds an important usage constraint ('Quote the Arabic exactly'), but it omits edge cases like invalid references and any potential side effects. This is adequate for a simple read-only lookup but not fully transparent.
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?
The description is a single, front-loaded sentence that states the purpose and output, followed by a short, essential instruction about exact quoting. Every word earns its place; there is no fluff or redundancy.
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?
For a simple verse-retrieval tool with no output schema and no annotations, the description is nearly complete: it names the resource, input identifiers, outputs, and a critical usage rule. It does not explain the citation format or error behavior, but those are minor given the schema already enforces valid ranges and the tool's simplicity.
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 the schema already documents all parameters and their constraints. The description adds no parameter-level meaning beyond implying that 'surah' and 'ayah' are the lookup coordinates; it does not clarify the locale behavior beyond what the schema states. Baseline 3 is appropriate.
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?
The description states a specific verb ('Returns') and resource ('one Quran verse by surah and ayah number'), and clarifies the exact outputs: Tanzil Uthmani Arabic, Pickthall English, and citation. This clearly distinguishes it from siblings like find_verses (search-oriented) and get_dua/get_name_of_allah (different resources).
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?
The description gives no explicit guidance on when to use this tool versus alternatives, nor does it state any prerequisites or exclusions. The intended use is only implied by the phrase 'by surah and ayah number,' which is insufficient for an agent deciding between this and find_verses.
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
- Added
find_verses - Changed
get_dua1 field changed- changed
Input schema / properties / context / descriptionPrevious value: -"Life context to match against. Examples: 'anxiety', 'grief', 'morning', 'travel', 'forgiveness', 'gratitude'."New value: +"Life context to match against. Examples: 'anxiety', 'morning', 'travel', 'forgiveness', 'gratitude'."
1 tool update
- Changed
get_quran_verse1 field changed- changed
Input schema / properties / locale / descriptionPrevious value: -"Translation locale; defaults to \"en\" (Pickthall)."New value: +"Translation locale; defaults to \"en\" (Pickthall). Urdu and Indonesian translations are not yet available: \"ur\" and \"id\" return Pickthall English with a note."
3 tool updates
- First observed
get_dua - First observed
get_name_of_allah - First observed
get_quran_verse
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.
Related MCP Servers
- AlicenseBqualityCmaintenanceAn MCP server providing comprehensive Islamic utilities, including prayer times, azan, Hijri calendar, du'a, zakat, and the 99 Names of Allah.34MIT
- AlicenseAqualityCmaintenanceProvides read-only access to Quran data — reciters, surahs, full-text search, ayah retrieval, prayer times, live radio stations, and Hijri dates — so AI agents can answer Islamic content queries. Runs locally via stdio or remotely over stateless HTTP for Claude, ChatGPT, and other MCP clients.8ISC
- FlicenseNot gradedqualityDmaintenanceProvides canonical Quran text, translations, and tafsir commentary via MCP for accurate AI citation.87-
- FlicenseAqualityCmaintenanceServes a scholar-approved Islamic corpus of Qur'an and hadith passages to any MCP client with server-side refusal enforcement. Enables natural-language questioning, retrieval, policy checking, and honest corpus coverage reporting while preventing fabricated answers.6-
Glama MCP Gateway
Add one secure layer between your agents and this server.