Ana içeriğe atlaSkip to main content
AskSakina

AskSakina

سكينة

For developers · MCP server

AskSakina MCP Server

Curated Islamic knowledge for AI agents and applications.

Four lookup tools: Quranic verses, traditional du’as, and the 99 Names of Allah, wrapped in a presentation contract that instructs the calling agent not to misrepresent them. Listed on the official MCP registry ascom.asksakina/islamic-knowledge.

Tools

Each tool returns a record plus a _sakina_meta envelope: disclaimer, presentation contract, and educational context. These tell the calling agent what claims it can and cannot make.

get_quran_verse

Verbatim Quranic verse lookup by surah:ayah. Arabic + locale-aware translation + canonical surah name. The quran presentation contract instructs the client AI not to paraphrase, to cite surah:ayah, and to label the translation “Translation of the Meaning”.

Example query

{ "surah": 2, "ayah": 186, "locale": "en" }

Example response (truncated)

{
  "_sakina_meta": {
    "content_type": "quran_verse",
    "presentation_contract": { "quran": { "no_paraphrase": true, "require_citation": "surah:ayah" } }
  },
  "content": {
    "surah": { "number": 2, "name_arabic": "البقرة", "name_english": "Al-Baqarah" },
    "ayah": 186,
    "arabic": "وَإِذَا سَأَلَكَ عِبَادِي عَنِّي فَإِنِّي قَرِيبٌۖ ...",
    "translation": "And when My servants question thee concerning Me, then surely I am nigh. ..."
  }
}

get_dua

Traditional du’a lookup by life context (anxiety, grief, morning, travel, ...). Crisis keyword detection runs on every request, when triggered, the response attaches a mandatory crisis_resource block with the appropriate hotline.

Example query

{ "context": "anxiety" }

Example response (truncated)

{
  "_sakina_meta": { "content_type": "dua_collection" },
  "content": {
    "category": "anxiety",
    "duas": [
      {
        "arabic": "اللَّهُمَّ إِنِّي أَعُوذُ بِكَ مِنَ الْهَمِّ وَالْحَزَنِ ...",
        "transliteration": "Allahumma inni a'udhu bika minal-hammi wal-hazan ...",
        "translation": "O Allah, I seek refuge in You from grief and sadness ...",
        "source": "Sahih al-Bukhari 2893"
      }
    ]
  }
}

get_name_of_allah

One of the 99 Names by number (1–99) or string (transliteration, Arabic, or English meaning). Returns Arabic, transliteration, locale-aware meaning, reflection, and Quranic references.

Example query

{ "number": 29 }

Example response (truncated)

{
  "_sakina_meta": { "content_type": "name_of_allah" },
  "content": {
    "number": 29,
    "arabic": "الحَكَم",
    "transliteration": "Al-Hakam",
    "meaning": "The Judge",
    "reflection": "Allah is the absolute Judge ...",
    "quran_references": ["6:114", "13:41"]
  }
}

find_verses

Topic lookup beside get_quran_verse’s reference lookup. The query is normalised and each word is matched to a theme of AskSakina’s thematic verse index (anxiety, gratitude, patience, trust, grief, hope, forgiveness, morning, friday, ramadan, encouragement), by theme name or a fixed synonym list. Deterministic: no embedding, no AI call. Crisis detection runs first, as on get_dua: any hard crisis (self-harm or abuse) returns crisis_resource_only, with no verses and no theme list.

Example query

{ "query": "patience" }

Example response (truncated)

{
  "_sakina_meta": { "content_type": "verse_collection" },
  "content": {
    "verses": [
      {
        "reference": "2:153",
        "arabic": "…",
        "translation": "…",
        "translation_source": "Pickthall",
        "relevance_note": "Listed under "patience" in AskSakina's thematic verse index."
      }
    ]
  }
}

Connect

The package speaks MCP over stdio out of the box, or you can connect to the hosted streamable-HTTP endpoint. Both transports return the identical envelope and the same rate-limit budget (60 requests / minute / IP).

Quick start (any MCP client)

npx -y @asksakina/islamic-knowledge-mcp --stdio

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%/Claude/claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "sakina": {
      "command": "npx",
      "args": ["-y", "@asksakina/islamic-knowledge-mcp", "--stdio"]
    }
  }
}

Cursor

// ~/.cursor/mcp.json (or .cursor/mcp.json in your workspace)
{
  "mcpServers": {
    "sakina": {
      "command": "npx",
      "args": ["-y", "@asksakina/islamic-knowledge-mcp", "--stdio"]
    }
  }
}

Generic MCP client over remote HTTP

{
  "mcpServers": {
    "sakina": {
      "type": "streamable-http",
      "url": "https://sakina-mcp.fly.dev/mcp"
    }
  }
}

Direct HTTP / health

POST https://sakina-mcp.fly.dev/mcp      // MCP JSON-RPC 2.0
GET  https://sakina-mcp.fly.dev/health   // { "status": "ok", ... }

Content integrity

New and changed content is reviewed by AskSakina’s specialist-AI “Gem” review chain before shipping. The chain has nine reviewers; four of them gate every Islamic-knowledge release.

  • Quran & Translation Verification. Ayah accuracy, surah/ayah citation correctness, hadith grading, source attribution.
  • Fiqh Diversity (Multi-Madhab). Cross-school accuracy across Hanafi, Maliki, Shafi’i, and Hanbali; no single-madhab framing on contested topics.
  • Islamic Psychology & Pastoral Care. Comfort window safety, crisis filter coverage, no guilt-based motivation.
  • Explorer / New-to-Islam Accessibility. Glossing of Arabic terms for non-Muslim audiences, plain-English fiqh.

Architectural safeguards

  • The Unicode prophet salutation (U+FDFA) is replaced with “(peace be upon him)” at every data-loader boundary. The response builder rejects any output containing the symbol.
  • Each du’a record carries its grading status (Quranic, graded, or not recorded). Where no grading is recorded, the response says so and instructs the calling agent not to supply one.
  • Crisis keyword detection runs on every get_dua request, the same keyword list used by the main app’s safety gate.

Privacy

No tracking and no request logging. The server records the IP for the rate-limit window (60 seconds) only. What it keeps is a set of running totals: calls per tool by outcome, response time averages, how many responses carried a teaching block, a tally of the optional audience argument's fixed values, and fetches of each learning prompt. Totals are kept per UTC day for at most 90 days on the hosted server. Nothing is kept per person, session or client, and no query text, verse reference or other argument is ever stored. Full detail is in the server README's Privacy and Analytics section.

Sacred Use License

This server is distributed under a Sacred Use License. Permitted uses centre on dawah, education, personal worship, and respectful integration into Muslim-serving applications. The license forbids monetisation that frames Islamic knowledge as scarce or paywalled. Full license text in the repository.

Questions? Contact us.