Skip to content
Search docs
Search docs…

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 raw shamela_* tools when you need something it cannot do. All queries must be in Arabic.

Searching

ToolUse it when
search_libraryThe default. Scoped search with citations and match reporting. See its reference.
shamela_search_pagesYou want the raw page search, including unscoped. Ranks by term frequency — read the warning below.
shamela_search_phraseYou need an exact consecutive phrase, or proximity matching.
shamela_search_exactDiacritics (التشكيل) and hamza/alef forms must match exactly.
shamela_search_booleanYou need OR and NOT, not just AND.
shamela_search_titlesYou are looking for a chapter or section heading, not body text.
shamela_search_hadithYou have a hadith’s wording and want the collections carrying it.
shamela_search_batchUp to 12 scoped searches in one call, merged and deduplicated.
shamela_reconBefore searching: how much does the library hold on this topic, and on which shelves?
shamela_root_statsHow an Arabic root spreads across the library, by category and century.

shamela_search_pages will 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 use search_library.

Reading

ToolUse it when
shamela_get_pageYou have a book_id + page_id and want the full page — body, footnotes, and all.
shamela_get_pages_rangeYou need up to 20 consecutive pages.
shamela_get_book_sectionYou want every page under one chapter heading.
shamela_get_tocThe table of contents of a book.
shamela_get_book_partsThe volumes of a multi-volume work.
shamela_get_page_servicesWhich verses, hadith keys and isnād markers a page carries.

Citations

ToolUse it when
shamela_resolve_printed_pageVerifying a citation. Turn «vol. 4, p. 405» into the page ids that carry it.
shamela_resolve_workResolve a cited title (and author, and edition) to a catalogue entry — or refuse.
shamela_get_citationFormat a citation in one of three styles.
shamela_resolveDisambiguate 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

ToolUse it when
shamela_search_narratorsFind a narrator by name — 18,989 of them, death years 2–774 AH.
shamela_get_narratorThe full dossier: lineage, death year, ṭabaqa, gradings.
shamela_search_isnadSearch 45,220 indexed chains across ten hadith books.
shamela_get_isnadThe chain(s) printed on one page, with narrator names resolved.
shamela_get_books_for_hadithEvery collection recording the same hadith, by its shared key.

Qur’an and tafsir

ToolUse it when
shamela_search_quranSearch the 6,236 verses (Hafs from Asim).
shamela_get_ayaFetch verses by number, or by surah + ayah.
shamela_get_tafseer_of_ayaWhich tafsir books comment on this verse.
shamela_list_tafsirs_for_ayaPer-verse tafsir coverage report.
shamela_get_tafseer_textsThe actual commentary texts for one verse, across sources, in one call.

Catalogue

ToolUse it when
shamela_search_booksFind books by name, author, or bibliographic description.
shamela_search_authorsFind authors by name or biography.
shamela_get_bookFull metadata for one book.
shamela_get_authorFull metadata for one author, optionally with their books.
shamela_list_categoriesAll 41 categories with book counts.
shamela_books_by_periodFilter the catalogue by period, AND-combining constraints.
shamela_briefThe 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. Use shamela_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.

Edit this page on GitHub