Skip to main content
Glama
dihannahdi

turath

by dihannahdi

turath

Cited ibaroh — raw, sourced passages — from a corpus of 7,872 classical Islamic books (kitab turats: fiqh, usul, hadith commentary, tafsir, and more), pulled through the Sahifah API.

You query in Indonesian, English, or Arabic; the corpus is searched in Arabic; you get back the original passage — not a paraphrase — with its full citation: book, author, table-of-contents path, juz, and page. A mu'tabar filter keeps results to works recognized as authoritative in the tradition.

This repo ships three ways to use it, all built on the same read-only, revocable Sahifah researcher API key (prefixed bm_):

  1. A Claude Code plugin bundling the /turath skill and a remote MCP connector.

  2. A /turath skill you can drop into any Claude Code project on its own.

  3. A remote MCP server (turath_search, get_ibaroh) for any MCP-speaking agent — plus the raw HTTP API underneath it.

Adab of naql (the ethic of transmission). Everything here surfaces what the Sahifah corpus indexed; it is not a substitute for opening the actual kitab. Every result ends with a reminder to verify the quotation against the primary source before relying on it — especially for anything bound for a fatwa, an argument, or published writing. Where a passage looks truncated or OCR-garbled, treat it as uncertain. Where the fuqaha differ, note the khilaf rather than picking a side. Allahu a'lam.

Getting an API key

Sign in at sahifah.online and create a key from the /api-keys dashboard. Keys are read-only, rate-limited, capped per user, and revocable at any time. The key is never stored or logged by anything in this repo — it is read from your environment or passed per-request.

export SAHIFAH_API_KEY=bm_your_key_here        # bash / zsh
$env:SAHIFAH_API_KEY = "bm_your_key_here"      # PowerShell

Related MCP server: hadith-mcp

1. Install as a Claude Code plugin

/plugin marketplace add dihannahdi/turath
/plugin install turath@sahifah

This registers the /turath skill and connects the remote MCP server (https://sahifah.online/mcp). Set SAHIFAH_API_KEY in your environment first so the MCP connector can authenticate (see .mcp.json).

2. Use the /turath skill directly

The skill lives in skills/turath/ and drives a stdlib-only Python script — no dependencies to install.

# search for candidate passages
python skills/turath/scripts/turath.py search "hukum zakat fitrah dengan uang" --max 10

# restrict to mu'tabar (authoritative) kitab only
python skills/turath/scripts/turath.py search "penyakit hasad dalam hati" --mutabar-only

# fetch a full passage by the book_id / toc_id printed above
python skills/turath/scripts/turath.py ibaroh 123 456

See skills/turath/SKILL.md for the full command reference and the adab of naql the skill carries through its output.

3. Remote MCP server

The server is a stateless Streamable HTTP MCP server exposing two tools:

  • turath_search — search the corpus; returns each passage's citation, book/author, TOC path, page/juz, madhhab, era, and relevance score.

  • get_ibaroh — given a book_id/toc_id from a search, fetch the full passage text and complete citation.

Add it as a Claude connector (or with claude mcp add):

claude mcp add turath --transport http https://sahifah.online/mcp \
  --header "X-Sahifah-Api-Key: bm_your_key_here"

The server never hardcodes or stores a key. For each request it resolves the key to forward from, in order: an Authorization: Bearer <key> header, an X-Sahifah-Api-Key / X-Api-Key header, or its own SAHIFAH_API_KEY env var (single-tenant fallback). The key is never logged.

Self-hosting the MCP server

The TypeScript source is in src/ and is what runs behind https://sahifah.online/mcp. To run your own instance:

npm install
npm run build      # tsc -> dist/
npm start          # node dist/index.js   (listens on PORT, default 8795)

Put a reverse proxy in front for TLS and never expose the raw port publicly. See the comments in src/index.ts and ecosystem.config.cjs (PM2) for the deployment shape. Configuration lives in .env (see .env.example): SAHIFAH_API_BASE is fixed at startup and never taken from request input.

Underlying HTTP API

Both the skill and the MCP server sit on the public Sahifah API:

  • POST /api/v1/search{ query, max_results?, mutabar_only?, include_ai? }, auth via X-API-Key. include_ai defaults to false — raw ibaroh first.

  • POST /api/v1/passage{ book_id, toc_id } → full passage + citation.

Layout

turath/
├── .claude-plugin/
│   ├── plugin.json        # plugin manifest
│   └── marketplace.json   # single-plugin marketplace (name: sahifah)
├── .mcp.json              # remote MCP connector (auto-discovered by the plugin)
├── skills/turath/
│   ├── SKILL.md           # the /turath skill
│   └── scripts/turath.py  # stdlib-only client
├── src/                   # TypeScript MCP server (Express + @modelcontextprotocol/sdk)
├── package.json
├── tsconfig.json
├── ecosystem.config.cjs   # PM2
└── .env.example

Validate before publishing

claude plugin validate .

License

MIT — see LICENSE.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    B
    maintenance
    Enables fetching and searching canonical hadith texts (Arabic and English) with cross-references and citation-safe URLs for assistants, built on FastMCP.
    1
    GPL 3.0
  • A
    license
    -
    quality
    B
    maintenance
    An MCP server for retrieving hadith text and metadata from auditable sources, providing exact references, Arabic text, English translations, and source-attributed grading.
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    MCP server for querying a page-citable research knowledge base built from PDFs, with exact filename and page citations.
    6

View all related MCP servers

Related MCP Connectors

  • Bible corpus MCP server: scripture, Greek/Hebrew interlinear data, cross-refs, semantic search.

  • Academic research MCP server for paper search, citation checks, graphs, and deep research.

  • MCP server for Project Gutenberg — 75,000+ public-domain ebooks with full plain-text retrieval.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dihannahdi/turath'

If you have feedback or need assistance with the MCP directory API, please join our Discord server