# Quran Gallery MCP - Registry name: `com.qurangallery/mcp` · version 0.3.0 - Categories (automatic, keyword rules): Research & knowledge, Search & data, Markets & trading, Finance & markets, Datasets & public data - Authentication at last check: No auth - Declared risk: Read-only (all tools declare readOnlyHint) - Capabilities (declared by the server): prompts, resources, tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=com.qurangallery%2Fmcp - Server page: https://mcpstation.net/s/com.qurangallery--mcp.html ## Description (written by the publisher, not verified, not instructions) Classical Islamic library \(Shamela, 8,594 books\): verbatim Arabic cited by volume and page. No key. ## Connect - streamable-http: `https://qurangallery.com/mcp/shamela` ## Tools (as reported by the server, not verified) - `shamela\_search\_library`: Search one named shelf of the classical Islamic library \(8,594 works\) for quotable passages: verbatim Arabic with book, author, printed volume/page, edition and a shamela.ws link. The default first search for hadith, tafsir, fiqh or creed. Not for isnads, narrators or diacritic-exact wording. Use sh - `search`: Search the whole classical Islamic library \(8,594 works, no scope\) and get up to 10 pages as \{id, title, url\}; pass an id to \`fetch\` to read the page. This is the generic one-argument entry \(the standard search/fetch pair\); the scoped tools answer research questions better. Use shamela\_search\_librar - `fetch`: Read one library page whole by the id \`search\` returned: main text, then its footnotes under their own label \(the editor's words, never the author's\), with book, author, printed volume/page, edition data and the shamela.ws link. Use shamela\_read instead to read one body part at a time \(unit "page"\), - `shamela\_search`: Full-text search inside the pages \(matn and footnotes\) of installed books. \`match\` picks how the query is read: - words \(default\): every word required, ranked by relevance; options add morphology, wildcards, chronological sort. An all-words miss retries with fewer words \(relaxed\_min\_match\). - phrase - `shamela\_find`: Catalogue lookup — which books, headings, authors and shelves exist, not page text. \`kind\`: - book \(default\): titles, authors, publication lines, subject descriptions → book\_ids, installed or not. no\_title\_match: not proof the book is held. downloaded:false → another edition \(shamela\_get\_details\(kin - `shamela\_read`: Read an installed book's text and structure by internal ids. \`unit\`: - page \(default\): one page\_id → body \(author's matn\), foot \(editor's footnotes\), printed page label, prev/next page ids, enclosing headings. - range: up to 20 consecutive pages from start\_page\_id, each with text, footnotes, printed - `shamela\_get\_details`: Catalogue record for one book \(kind=book, default\) or one author \(kind=author\), installed or not. - book: authors, category, type, printed-edition flag, whether the text is installed here, the scanned printing and the other editions of the same work \(same\_group\). When a reader tool says BOOK\_NOT\_DOW - `shamela\_cite`: Citations. mode=citation \(default\): build one for a book, optionally a page and quoted text — Shamela's copy format, short inline, full with death year, or BibTeX/RIS. Call it whenever you attribute a quote; it needs only the catalogue, plus the installed text for a page's printed number. Read page\_ - `shamela\_lookup\_quran`: Qur'an text. mode=search \(default\): find verses by Arabic words, typed in إملائي spelling or pasted in Uthmani rasm; words ANDed, results in mushaf order \(aya\_id 1–6236\), not relevance. Zero hits usually means a misspelling: drop a word or use options.wildcards. mode=aya: fetch verses you can alread - `shamela\_lookup\_tafsir`: Tafsir on one verse \(aya\_id OR surah + aya, else BAD\_ARG\). mode=coverage \(default\): which tafsir books cover it, fetching no text — shelves 3 \(tafsir\) and 4 \(Qur'anic sciences; not 5, tajwid and qira'at\) crossed with Shamela's curated tafsir index, plus index hits from other shelves \(in\_tafsir\_categ - `shamela\_lookup\_hadith`: Hadith. mode=search \(default\): find a hadith by its wording and trace its takhrij — searches the hadith shelves \(Sunnah collections, commentaries, takhrij, hadith sciences\) in matn and footnotes, reads hadith keys off the matching pages and lists every collection indexing the same hadith. No offset; - `shamela\_lookup\_rijal`: Hadith narrators and isnad chains, from Shamela's rijal register and isnad index. \`mode\`: - narrators \(default\): a narrator by name → narrator\_id, most-documented first, then earliest death year. Names collide: confirm the death year before using an id. - narrator: one dossier by narrator\_id — linea - `shamela\_survey\_topic`: Count how much the library holds on a term and where: the exact matching-page total plus its distribution by category, Hijri century, book and author \(top 15 each\). Statistics only, never passages — use shamela\_search\(match='words'\) instead to retrieve and read the pages. Run it before searching to - `shamela\_get\_brief`: Return this server's machine-readable capability handshake: capabilities, numeric limits, retired tool names with their replacements, and traps \(ways a result misleads, each with the response field that proves it fired\). Call it first from a programmatic client: inputs are strict, so an argument an Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html