The full tool surface
All 37 tools grouped by what they are for — searching, reading, citations, isnād and narrators, Quran and tafsir, and catalogue lookup.
On this page
Thirty-seven tools. One is ours; thirty-six come from the library server itself and are exposed under their own names, with their own schemas.
Your client will list all of them. This page is a map, so you know what exists and which one to reach for — every tool carries its own parameter documentation in the schema your client already received.
Start with
search_library. It requires a scope and reports how it matched, which is the right default for “find me this text.” Reach for the rawshamela_*tools when you need something it cannot do. All queries must be in Arabic.
Searching
| Tool | Use it when |
|---|---|
search_library | The default. Scoped search with citations and match reporting. See its reference. |
shamela_search_pages | You want the raw page search, including unscoped. Ranks by term frequency — read the warning below. |
shamela_search_phrase | You need an exact consecutive phrase, or proximity matching. |
shamela_search_exact | Diacritics (التشكيل) and hamza/alef forms must match exactly. |
shamela_search_boolean | You need OR and NOT, not just AND. |
shamela_search_titles | You are looking for a chapter or section heading, not body text. |
shamela_search_hadith | You have a hadith’s wording and want the collections carrying it. |
shamela_search_batch | Up to 12 scoped searches in one call, merged and deduplicated. |
shamela_recon | Before searching: how much does the library hold on this topic, and on which shelves? |
shamela_root_stats | How an Arabic root spreads across the library, by category and century. |
shamela_search_pageswill run unscoped, and usually should not. Ranking is by term frequency, which knows nothing about scholarly authority. Unscoped,التيممreturns 26,098 hits topped by a 710 AH poetry anthology, andإنما الأعمال بالنياتreturns 6,815 hits in which Sahih al-Bukhari never appears. Pass a scope, or usesearch_library.
Reading
| Tool | Use it when |
|---|---|
shamela_get_page | You have a book_id + page_id and want the full page — body, footnotes, and all. |
shamela_get_pages_range | You need up to 20 consecutive pages. |
shamela_get_book_section | You want every page under one chapter heading. |
shamela_get_toc | The table of contents of a book. |
shamela_get_book_parts | The volumes of a multi-volume work. |
shamela_get_page_services | Which verses, hadith keys and isnād markers a page carries. |
Citations
| Tool | Use it when |
|---|---|
shamela_resolve_printed_page | Verifying a citation. Turn «vol. 4, p. 405» into the page ids that carry it. |
shamela_resolve_work | Resolve a cited title (and author, and edition) to a catalogue entry — or refuse. |
shamela_get_citation | Format a citation in one of three styles. |
shamela_resolve | Disambiguate an Arabic name fragment to book or author ids. |
Those first two are the reason this surface is worth having. A claim like “al-Mughni, 4/405” can be checked rather than believed: resolve the work, resolve the page, read it.
Isnād and narrators
| Tool | Use it when |
|---|---|
shamela_search_narrators | Find a narrator by name — 18,989 of them, death years 2–774 AH. |
shamela_get_narrator | The full dossier: lineage, death year, ṭabaqa, gradings. |
shamela_search_isnad | Search 45,220 indexed chains across ten hadith books. |
shamela_get_isnad | The chain(s) printed on one page, with narrator names resolved. |
shamela_get_books_for_hadith | Every collection recording the same hadith, by its shared key. |
Qur’an and tafsir
| Tool | Use it when |
|---|---|
shamela_search_quran | Search the 6,236 verses (Hafs from Asim). |
shamela_get_aya | Fetch verses by number, or by surah + ayah. |
shamela_get_tafseer_of_aya | Which tafsir books comment on this verse. |
shamela_list_tafsirs_for_aya | Per-verse tafsir coverage report. |
shamela_get_tafseer_texts | The actual commentary texts for one verse, across sources, in one call. |
Catalogue
| Tool | Use it when |
|---|---|
shamela_search_books | Find books by name, author, or bibliographic description. |
shamela_search_authors | Find authors by name or biography. |
shamela_get_book | Full metadata for one book. |
shamela_get_author | Full metadata for one author, optionally with their books. |
shamela_list_categories | All 41 categories with book counts. |
shamela_books_by_period | Filter the catalogue by period, AND-combining constraints. |
shamela_brief | The library server’s own operating brief for programmatic callers. |
What is not exposed
Three of the library server’s tools are withheld, and not because they are powerful. They report on the machine the server runs on, so a remote caller would be reading facts about our infrastructure while believing they were reading facts about a library:
shamela_list_downloaded_books— what is downloaded on the host. Useshamela_search_books, which reads the catalogue.shamela_health— server version and internal diagnostics.shamela_guide— the user guide for the Shamela desktop extension, describing an interface you do not have.
Nothing about the corpus is withheld.