Skip to main content
Glama
This connector has been deprecated

Search isnads

shamela_search_isnad
Read-onlyIdempotent

بحث في الأسانيد

Search the 45,220 isnād chains Shamela indexes across ten ḥadīth books (Bukhārī 1681, Muslim 711, Abū Dāwūd 654, Tirmidhī 7895, Nasāʾī 829, Muwaṭṭaʾ 28107, Ṭayālisī 1456, Ibn al-Jārūd 627/13071, ʿIlal al-Tirmidhī 642). Two constraints, both taking narrator ids from shamela_search_narrators: contains requires the narrators to appear ANYWHERE in the chain, and transmission takes [teacher_id, student_id] pairs that must be ADJACENT and in that order — direct audition with nobody in between. transmission is the strictly stronger claim and the one ʿilm al-rijāl asks: «did X actually hear from Y». Every result gives book, page and the chain resolved to names and death years, so a claim can be checked against the printed page with shamela_get_page. Chains run ASCENDING: chain[0] is the Companion, the last link is the collector. At least one constraint is required. Examples: shamela_search_isnad({transmission:[[1580,2779]]}) — chains where Shuʿba heard from al-Ḥakam b. ʿUtayba; shamela_search_isnad({contains:[2779], scope_book_ids:[1681]}) — Shuʿba's chains in al-Bukhārī.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
offsetNoChains to skip, for paging.
containsNoNarrator ids that must ALL appear in the chain, at any position and in any order. Use for «which reports pass through both X and Y».
max_resultsNoChains to return per page (1-100, default 20).
transmissionNoPairs [teacher_id, student_id] that must appear ADJACENT and in that order — direct transmission, the student having heard from the teacher with nobody in between. This is the question «did X really narrate from Y», and it is strictly stronger than listing both in `contains`. All pairs are ANDed.
scope_book_idsNoRestrict to these books. The isnād index covers only ten: صحيح البخاري (1681), صحيح مسلم (711), سنن أبي داود (654), سنن الترمذي (7895), سنن النسائي (829), موطأ مالك (28107), مسند الطيالسي (1456), المنتقى لابن الجارود (627 و13071), وعلل الترمذي (642).
response_formatNoOutput format for the human-readable text. 'markdown' (default) is best for direct display; 'json' returns the same data as a single JSON code block; 'none' skips the rendered text entirely and returns a one-line pointer, leaving `structuredContent` as the whole answer. The structured data is returned in `structuredContent` regardless of this setting, so a caller that parses it should pass 'none' — the character budget is measured over BOTH channels, and the unread copy is otherwise spending most of it. Requires the 'response_format.none' capability (see shamela_brief).markdown

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already cover the read-only/idempotent safety profile, but the description adds substantial behavioral context: the mandatory-constraint rule, ascending chain order (chain[0] is the Companion, last is the collector), what each result contains (book, page, resolved names and death years), and the response_format character-budget tradeoff.

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?

Front-loaded with the resource and scope, then constraints, then examples. Dense and mostly waste-free, though the single long paragraph packs a lot and could be slightly tighter; every clause still carries substantive information.

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?

With no output schema, the description compensates by describing exactly what results include (book, page, resolved chain with names and death years) and how to verify them. It covers the constraint requirement, ordering, examples, and output-format behavior, leaving no significant gap for calling the tool correctly.

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?

Schema coverage is 100%, so baseline is 3. The description adds value beyond the schema by giving worked examples (transmission:[[1580,2779]], contains:[2779] with scope_book_ids) and emphasizing the ordering/adjacency semantics and the capability requirement for response_format='none'.

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 (search isnād chains) with concrete scope: 45,220 chains across ten named ḥadīth books. It clearly differentiates itself from siblings like shamela_search_narrators (source of the ids) and shamela_get_page (for verifying against the printed page).

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?

Explicitly explains when to use each constraint: `contains` for narrators anywhere in the chain, `transmission` for adjacent teacher→student pairs, and notes `transmission` is the strictly stronger claim. It also states 'At least one constraint is required' and routes the agent to shamela_search_narrators for ids and shamela_get_page for verification.

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