Skip to main content
Glama
This connector has been deprecated

Search isnad narrators

shamela_search_narrators
Read-onlyIdempotent

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

Find a ḥadīth narrator (راوٍ) by name in Shamela's rijāl register — 18,989 narrators with death years 2-774 AH. This is the entry point for ʿilm al-rijāl: every other narrator/isnād tool takes the narrator_id this returns. The query is folded the same way page search folds Arabic, so «شعبه» finds «شعبة» and tashkeel is ignored; tokens are ANDed and match anywhere in the short name, the full lineage, or the shuhra / laqab / kunya / nisba — so «الزهري» and «الأعمش», which are how these men are actually cited, now find them. Results are ordered by how much the register documents a man (the size of his jarḥ-wa-taʿdīl dossier), death year breaking ties: the narrator an isnād would actually name comes ahead of an obscure namesake. Names are common in this corpus — always check the death year and grade before deciding which «محمد بن إسماعيل» you have. Examples: shamela_search_narrators({query:'شعبة بن الحجاج'}), shamela_search_narrators({query:'الزهري'}).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum narrators to return (1-50, default 10).
queryYesPart of the narrator's name, in Arabic. Matched against the short name, the full lineage, and the register's الشهرة / اللقب / الكنية / النسب — so «الزهري» and «الأعمش» reach the men known by those nisbas even though neither appears in their recorded name. Folding is the same the page search uses, so «شعبه» finds «شعبة» and tashkeel is ignored. Tokens are ANDed and match anywhere, so «شعبة الحجاج» works even though the name reads «شعبة بن الحجاج». Results are ordered by how much al-jarḥ wa-l-taʿdīl the register holds on each man — the most-discussed «الزهري» first — with the earliest death year breaking ties.
offsetNoNarrators to skip, for paging. Common names match in the thousands — «محمد بن» matches 3,620 — so page with this or narrow the query.
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.4/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, idempotentHint=true), yet the description adds substantial behavior beyond them: the Arabic-folding rules that make «شعبه» find «شعبة», AND-token matching across name/lineage/nisba fields, the ranking rule (dossier size, death-year tiebreak), and an explicit warning that common names must be disambiguated by death year and grade.

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 Arabic title and the core purpose before diving into folding, ranking, and examples. It is dense but nearly every sentence carries distinct information; it runs slightly long, which keeps it off a 5.

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 search tool whose annotations already declare it a safe read, the description covers everything an agent needs: the resource, normalization behavior, result ranking, disambiguation pitfalls, and example invocations. No output schema exists, but the caller consumes narrator_ids, which the description explains, so nothing material is missing.

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

Parameters3/5

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

Schema description coverage is 100% and each parameter is already documented in the schema, so the baseline is 3. The description mostly restates the schema's own folding/AND/ordering text rather than adding new parameter-level meaning, though it does add the paging motivation with a concrete figure («محمد بن» matches 3,620).

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 — find a ḥadīth narrator by name in Shamela's rijāl register — and pins down the scope (18,989 narrators, death years 2-774 AH). It also distinguishes itself from siblings by declaring itself 'the entry point for ʿilm al-rijāl: every other narrator/isnād tool takes the narrator_id this returns.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly frames when to reach for it (searching for a narrator by name, before calling any narrator/isnād tool that needs a narrator_id) and supplies two concrete call examples. It stops short of explicit when-not guidance, so it falls just under a 5.

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