Criterion

io.github.BalajSaleem由 GitHub 帳號 BalajSaleem 發布v1.0.0更新於 Nov 2, 2026

Semantic search across 6,236 Quran verses and 12,416 authentic Hadiths for Islamic guidance.

已驗證Streamable HTTP可網頁執行網頁搜尋與抓取知識與記憶

概覽

AI 產生的概覽

遠端 MCP 伺服器,對古蘭經經文與可靠聖訓進行語意檢索,為伊斯蘭教義問題回傳附引用的段落。

可以做什麼
  • 以自然語言檢索全部 6,236 節古蘭經經文
  • 檢索六部聖訓集中的聖訓,可依等級與合集篩選
  • 依章節與節號等引用取得特定一節經文
  • 對排序在前的结果附上前后文與來源引用
適用情境
適合讓助理在回答伊斯蘭教義相關問題時,以古蘭經與聖訓原文為依據,而非依賴一般知識,可用於學習、了解或研究。
執行需求
需要一個遠端 MCP 端點;未宣告任何套件、帳號或 API 金鑰。README 中的自架說明(Node.js、PostgreSQL、XAI 與 Google AI 金鑰)僅適用於自行部署副本,與託管端點無關。
安裝前請注意
查詢會傳送到第三方託管服務,問題與檢索詞會離開本機。README 說明專案避開教派與爭議話題,並預設採用 Sahih 等級聖訓,因此結果反映這些編輯取向;引用請對照原始來源核實。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Criterion,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.BalajSaleem%2Fcriterion/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "criterion": {
      "type": "http",
      "url": "https://criterion.life/api/mcp"
    }
  }
}

README

Criterion - Islamic Knowledge Assistant

An AI-powered Da'i (invitor to Islam) bringing authentic Islamic guidance to seekers worldwide.

Built on the Quran and authentic Hadith. Free forever. For the sake of Allah.

Mission · Features · Tech Stack · Getting Started · MCP Server · Documentation


Mission

Criterion exists to bring authentic Islamic knowledge to anyone seeking truth, using modern technology to make divine guidance accessible to all of humanity — freely, forever, for the sake of Allah alone.

Our Four Pillars

  1. Truth & Authenticity — Every response is grounded in verified sources (Quran and Sahih Hadith). We never fabricate or hallucinate.
  2. Fundamentals & Simplicity — We focus on core Islamic teachings that unite. We avoid sectarian debates and controversial topics.
  3. For the Sake of Allah — Criterion will always be free, with no monetization or organizational promotion. This is Sadaqah Jariyah.
  4. State of the Art — We use cutting-edge AI to deliver Islamic guidance effectively to the masses.

👉 Read the full mission and vision in MISSION.md

Key Differentiators

Mission-Aligned:

  • ✨ Free Forever — No paywalls, no ads, no monetization. Built fi sabilillah (for Allah's sake)
  • 📚 Fundamentals-Focused — Avoids sectarian debates, focuses on universally accepted Islamic teachings
  • 🛡️ Trust-First — Grade-filtered authentic Hadith (defaults to Sahih), verified sources only
  • 🤝 Seeker-Oriented — Designed for curious minds, new Muslims, and students of knowledge
  • 🕌 Da'i Personality — Compassionate, knowledgeable, humble guidance

Technical Excellence:

  • 🎯 Semantic Search — Natural language queries return relevant verses from 6,236 Quran verses + 21,641 Hadith narrations
  • 📖 Contextual Retrieval — Top results include ±2 surrounding verses/narrations for proper context
  • 🌐 Multilingual — Read in English (fast) + Slovak (expandable to 10+ languages)
  • 🔗 Accurate Citations — All responses include source references with hyperlinks (Quran.com, Sunnah.com)
  • ⚡ Fast — <150ms query response time

Features

What Criterion Does

✅ Semantic Quran Search — Ask natural language questions, get relevant verses
✅ Semantic Hadith Search — Search authentic Hadith with grade & collection filtering
✅ Contextual Understanding — Top results include surrounding context for proper meaning
✅ Accurate Citations — Every response cites real sources with hyperlinks
✅ Multilingual Reading — English (fast) + Slovak (single JOIN <200ms)
✅ Shareable URLs — /quran/search?q=patience, /hadith/search?q=charity, and /quran/2/255 with metadata
✅ Real-time Streaming — Progressive response generation with token-by-token delivery
✅ Tool-Based RAG — LLM autonomously decides when to retrieve from Quran/Hadith

Technical Stack

How It Works

The RAG Pipeline

User Question    ↓XAI Grok 4 LLM (decides which tools to use)    ↓Tool Selection:  - queryQuran → 6,236 verses (top 7 for chat, top 20 for search)  - queryHadith → 21,641 hadiths from 6 collections (top 3 for chat, top 15 for search, with grade filtering)    ↓Vector Search (768-dim Gemini embeddings)    ↓Context Enhancement (top 3 get ±2 surrounding verses)    ↓LLM Generates Response with Citations    ↓Real-time Stream to User (Server-Sent Events)

Data

  • 6,236 Quran verses from all 114 Surahs

    • Arabic text (Tanzil Quran)
    • English translation (master)
    • Slovak translation (expandable)
    • 768-dimensional embeddings (Gemini text-embedding-004)
  • 21,641 Hadith narrations from 6 major collections (Kutub al-Sittah subset)

    • Sahih Bukhari (7,558)
    • Sahih Muslim (2,920)
    • Jami` at-Tirmidhi (3,951)
    • Sunan Abi Dawud (5,274)
    • 40 Hadith Nawawi (42)
    • Riyad as-Salihin (1,896)
    • Grade filtering (Sahih, Hasan, Da'if)
    • 768-dimensional embeddings

Performance

  • Quran search: <150ms (English), <200ms (translated)
  • Hadith search: <150ms
  • Vector search: Powered by HNSW indexes
  • Streaming: Real-time token-by-token delivery

Getting Started

Prerequisites

  • Node.js 18+ and pnpm
  • PostgreSQL database (recommend Neon)
  • API Keys:
    • XAI API Key (for Grok LLM)
    • Google AI Studio API Key (for embeddings)

Installation

  1. Clone the repository
bash
git clone <repo-url>cd criterion
  1. Install dependencies
bash
pnpm install
  1. Set up environment variables

Create a .env.local file:

bash
# DatabasePOSTGRES_URL=postgresql://...
# AI APIsXAI_API_KEY=xai-...AI_GATEWAY_API_KEY=...
# Authentication (optional)AUTH_SECRET=...
  1. Enable pgvector extension
bash
pnpm db:enable-pgvector
  1. Run database migrations
bash
pnpm db:migrate
  1. Ingest Quran data (generates embeddings for 6,236 verses)
bash
pnpm ingest:quran

This will take 10-15 minutes to complete.

  1. Test the Quran search
bash
pnpm test:quran
  1. Start the development server
bash
pnpm dev

Your app should now be running on localhost:3000.

Available Commands

Development

bash
pnpm dev          # Start dev serverpnpm build        # Build for productionpnpm start        # Start production server

Database

bash
pnpm db:generate  # Generate Drizzle schemapnpm db:migrate   # Run migrationspnpm db:studio    # Open Drizzle Studio (GUI)

Data Ingestion & Testing

bash
# Quranpnpm clear:quran         # Clear all Quran datapnpm ingest:quran        # Ingest Quran verses and generate embeddingspnpm ingest:quran:slovak # Ingest Slovak translationpnpm test:quran          # Test Quran search functionality
# Hadithpnpm clear:hadith  # Clear all Hadith datapnpm ingest:hadith # Ingest Hadith and generate embeddings

MCP Server

Criterion exposes its semantic search capabilities through the Model Context Protocol (MCP), allowing AI assistants like Claude Desktop and Cursor to search Quran and Hadith directly.

Quick Setup:

json
{  "mcpServers": {    "criterion": {      "url": "https://criterion.life/api/mcp"    }  }}

Available Tools:

  • search_quran — Search 6,236 Quran verses
  • search_hadith — Search 21,641 authentic Hadiths from 6 collections
  • get_verse — Retrieve specific verse by reference (e.g., "2:255")

👉 Read full MCP documentation in MCP.md

Project Structure

criterion/├── app/│   ├── (auth)/          # Authentication routes│   ├── (chat)/          # Chat interface and API│   │   └── api/chat/    # Main chat endpoint│   ├── search/          # Quran search page│   │   └── api/         # Quran search API│   ├── hadith/│   │   └── search/      # Hadith search page and API│   └── quran/           # Quran reading pages├── lib/│   ├── ai/│   │   ├── embeddings.ts     # Core RAG logic│   │   ├── prompts.ts        # Da'i system prompts│   │   └── tools/│   │       ├── query-quran.ts   # Quran search tool│   │       └── query-hadith.ts  # Hadith search tool│   └── db/│       ├── schema.ts         # Database schema│       └── migrations/       # SQL migrations├── components/│   ├── chat.tsx              # Main chat UI│   ├── quran-verses.tsx      # Quran display component│   ├── hadith-narrations.tsx # Hadith carousel│   └── hadith/│       └── hadith-card.tsx   # Reusable hadith card├── scripts/│   ├── ingest-quran.ts       # Quran data ingestion│   ├── ingest-hadith.ts      # Hadith data ingestion│   └── test-*.ts             # Test scripts└── data/    ├── quran*.txt            # Quran translations    └── *-full.json           # Hadith collections

Documentation

Understanding Criterion

  • MISSION.md — Our vision, values, and deeper purpose. Read this first to understand why we build Criterion.
  • CRITERION_DETAILED.md — Comprehensive technical documentation including architecture, implementation history, and performance metrics.
  • CRITERION.md — Quick reference guide for setup and key concepts.

Key Sections

DocumentPurpose
MISSION.mdVision, values, pillars, and long-term goals
CRITERION_DETAILED.mdTechnical architecture, database schema, components, and best practices
CRITERION.mdQuick start, commands, and core concepts
README.mdGetting started, features, and project overview

Architecture Overview

components/├── Chat UI (QuranVerses, HadithNarrations, MessageActions)├── Search Pages (Quran and Hadith semantic search with filters)├── Hadith Components (reusable HadithCard for search and chat)├── Quran Pages (shared components for context, language selection)└── UI Components (buttons, inputs, etc.)
lib/├── ai/│   ├── embeddings.ts (vector search logic)│   ├── prompts.ts (Da'i system prompts)│   └── tools/ (queryQuran, queryHadith, requestSuggestions)├── db/│   ├── schema.ts (Drizzle ORM definitions)│   └── queries.ts (database functions)└── monitoring/ (performance tracking)
app/├── (chat)/api/chat (main chat endpoint)├── quran/search/ (Quran search page and API)├── hadith/search/ (Hadith search page and API)├── quran/ (Quran reading pages)└── (auth)/ (authentication)

Data Attribution

  • Quran Text: Tanzil.net — Creative Commons Attribution 3.0
  • Quran Translations: Multiple sources with proper attribution
  • Hadith Collections: Sunnah.com, IslamicNetwork.com
  • Embeddings: Google Gemini text-embedding-004

Our Commitment

Criterion is built with these commitments:

  • ✅ Never monetize Islamic knowledge
  • ✅ Always cite sources with proper references
  • ✅ Never fabricate verses or hadiths
  • ✅ Focus on fundamentals — avoid sectarian debates
  • ✅ Build for the community — this belongs to all Muslims and benefits all humanity
  • ✅ Stay at the forefront — leverage state-of-the-art technology

Contributing

We welcome contributions from developers, scholars, and community members who share our mission. Please see CONTRIBUTING.md for guidelines.

License

  • Quran Text: Creative Commons Attribution 3.0 (Tanzil.net)
  • Hadith Data: From verified Islamic sources with proper attribution
  • Code: See LICENSE file for details

"Invite to the way of your Lord with wisdom and good instruction, and argue with them in a way that is best." — Quran 16:125

May Allah accept this work and make it a means of guidance for seekers everywhere. Ameen.

來源:README.md,提交 691e714

工具

0
SourceWeft 尚未讀取此伺服器的工具。

版本歷史

1
  1. v1.0.0最新Sep 16, 2026

評分

已滿足適用檢查項的 75%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。