Edition, editor and publisher in Shamela MCP results
What the Shamela library records about an edition (edition, editor, publisher), what it never stores (city, edition number), and how to pick a printing.
On this page
A page number is only meaningful against the printing it came from. This page says what the Quran Gallery server at https://qurangallery.com/mcp/shamela can tell you about a printing, what it cannot, and how to choose one on purpose.
What the library records
In Maktabah al-Shamela, each printing of a work is its own catalogue entry with its own book id. The edition is carried in the entry’s name, as a suffix after a dash: «صحيح البخاري - ط السلطانية», «سنن أبي داود - ت الأرنؤوط». From the name and the book’s front matter, the library derives three fields:
| Field | Meaning | Example |
|---|---|---|
edition | The printing’s label from the entry name | ط السلطانية, ت الأرنؤوط, ت التركي |
editor | The editor (muhaqqiq), when the name or front matter gives one | الأرنؤوط |
publisher | The publisher, when the front matter gives one | السلطانية |
All three come back on every passage from shamela_search_library and fetch, and from shamela_get_details (kind: 'book'), but only when they are recorded. In a passage from shamela_search_library or fetch, a field that is not recorded is left out; shamela_get_details (kind: 'book') returns it as null. Nothing is filled in from general knowledge, because a plausible publisher that is wrong is worse than none.
Real entries show how uneven the data is (read from shamela_get_details and shamela_find on 2026-11-01):
| Book id | Entry | edition | editor | publisher |
|---|---|---|---|---|
| 1681 | صحيح البخاري - ط السلطانية | ط السلطانية | not recorded | السلطانية |
| 117359 | سنن أبي داود - ت الأرنؤوط | ت الأرنؤوط | الأرنؤوط | not recorded |
| 6910 | المغني لابن قدامة - ت التركي | ت التركي | التركي | not recorded |
| 9823 | شرح البخاري للسفيري = المجالس الوعظية في شرح أحاديث خير البرية | none | none | none |
What it never records
The library does not store the city of publication or the edition number (first printing, second printing). shamela_cite (mode: 'citation') says so in a notes list, for example:
publisher not available in master.db
edition number not available in master.db
city of publication not available in master.dbSo a full bibliographic entry cannot be built from the metadata alone. shamela_get_details (kind: 'book') words the same limits in its own notes (“city of publication and edition number are not stored in master.db”), and the notes tell the assistant which parts to leave out or to take from the book’s title page. For a book with a scanned printing, shamela_get_details (kind: 'book') returns a scan manifest and often a cover image, and its notes add that the attached cover often prints the editor that the metadata lacks. If you read it from the image, attribute it to the cover, not to the metadata.
Covers are not universal. The library lists 1,745 scanned books, and 376 of them ship no cover image, so a missing cover does not mean a missing scan.
Choose a printing on purpose
shamela_find (kind: 'work') turns a title and an edition into a book id:
{
"name": "shamela_find",
"arguments": { "kind": "work", "title": "صحيح البخاري", "edition": "ط السلطانية" }
}This resolves exactly to book 1681, with citable: true and downloaded: true. The title must be the start of the work’s name, author is a filter, and edition is matched against the entry’s label.
When the edition you name is not in the library, the call fails in a way the assistant can act on. For «ط دار طوق النجاة» it returns status: "not_found", reason: "edition_not_found" and available_editions, the printings that do exist:
| Book id | Printing | citable |
|---|---|---|
| 735 | ت البغا | true |
| 907 | بحاشية السهارنفوري - ت الندوي | true |
| 1284 | ط التأصيل | true |
| 1376 | ن عطاءات العلم | false |
| 1681 | ط السلطانية | true |
The assistant should say that the printing asked for is not available and name the nearest, not quote one printing’s page number against another’s. citable: false means the numbers are Shamela’s own, not a printing’s (Verify a quotation).
Some ready-made scopes already pin printings. hadith-primary, for instance, pins Sahih al-Bukhari to the Sultaniyya printing and Sahih Muslim to the ʿAbd al-Baqi numbering (Choosing a scope).
The same work in several entries
shamela_get_details (kind: 'book') lists the other entries of the same work in same_group. For book 1681 it lists seven: four other printings of Sahih al-Bukhari (al-Bugha, the Saharanpuri-Nadwi printing, al-Ta’sil and the Ata’at al-Ilm printing) and three abridgments. The tool’s own note is the rule to follow: hits from two entries of one group are not independent sources. Two sets of results that agree because they are the same text, in two printings, are one witness.
Searches across several printings make this visible. When hits land in two or more entries of one work, shamela_search (match: 'words') adds edition_groups so they can be read as one source.
Using it in a citation
shamela_cite (mode: 'citation') combines the printed page with what it knows. For Sunan Abi Dawud (ed. al-Arna’ut), page id 1796, the full style gives:
أبو داود (ت ٢٧٥هـ). سنن أبي داود. ٢٧٥هـ، ج ٣، ص ٥٢٦.with the notes «المحقق (من اسم الشاملة): الأرنؤوط» and three lines saying that edition number, publisher and city are not available. The citation names what is known and lists what is not, which is the honest shape for a classical text whose printing details the library did not record.
Other styles are shamela, short, bibtex and ris. Ask for the one your reader needs and keep the notes with it.