criterion について
Criterion は、クルアーンと真正なハディース集を対象にセマンティック検索を行うイスラム知識アシスタントです。基本的な教えについて出典付きの回答を求める求道者、新しくムスリムになった方、学習者を想定しています。出典の確かさと引用の明示を重視し、宗派的な論争を避けています。
主な機能
- 01クルアーンの節をセマンティック検索
- 02等級でフィルタリングできるハディース検索
- 03検索結果に前後の文脈を含む
- 04出典の引用とリンク付きの回答
- 05章と節の参照による直接照会
活用シーン
- 01自然言語の質問に関連するクルアーンの節を探す
- 02真正性の等級で絞り込んでハディースを検索する
- 03Claude Desktop や Cursor から節とハディースを検索する
MCP 対応
本プロジェクトは、criterion.life/api/mcp でホストされるMCPサーバーを通じて search_quran、search_hadith、get_verse のツールを公開し、AIアシスタントから利用できるようにします。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://criterion.life/api/mcpclaude mcp add --transport http balajsaleem-criterion https://criterion.life/api/mcp{"mcpServers":{"balajsaleem-criterion":{"type":"http","url":"https://criterion.life/api/mcp"}}}Cursor で開く{"servers":{"balajsaleem-criterion":{"type":"http","url":"https://criterion.life/api/mcp"}}}VS Code で開く{"mcpServers":{"balajsaleem-criterion":{"type":"http","url":"https://criterion.life/api/mcp"}}}{"mcpServers":{"balajsaleem-criterion":{"serverUrl":"https://criterion.life/api/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Criterion - イスラム知識アシスタント
AI 搭載のダイー(イスラムへの招待者)として、世界中の求道者に信頼できるイスラムの導きを届けます。
クルアーンと真正なハディースに基づいています。永遠に無料です。アッラーのために。
使命 · 機能 · 技術スタック · はじめに · MCP サーバー · ドキュメント
使命
Criterion は、真理を求めるすべての人に信頼できるイスラムの知識を届けることを目指しています。現代のテクノロジーを用いて、すべての人類が神の導きにアクセスできるようにします。無料で、永遠に、アッラーのみのために。
私たちの4つの柱
- 真理と信頼性 — すべての回答は、検証済みの情報源(クルアーンとサヒーフ・ハディース)に基づいています。捏造や幻覚は決して行いません。
- 基本と簡潔さ — 人々を結びつけるイスラムの基本的な教えに焦点を当てます。宗派間の議論や論争の的となる話題は避けます。
- アッラーのために — Criterion は常に無料であり続け、収益化や組織の宣伝は行いません。これはサダカ・ジャーリヤです。
- 最先端 — 最先端の AI を活用し、イスラムの導きを多くの人々に効果的に届けます。
主な差別化要因
使命に沿った特徴:
- ✨ 永遠に無料 — ペイウォールも広告も収益化もありません。フィー・サビリッラー(アッラーのため)に構築されています
- 📚 基本に重点 — 宗派間の議論を避け、普遍的に受け入れられているイスラムの教えに焦点を当てます
- 🛡️ 信頼を第一に — 等級で絞り込まれた真正なハディース(デフォルトはサヒーフ)のみを使用し、検証済みの情報源に限定します
- 🤝 求道者を中心に — 好奇心旺盛な人、新しいムスリム、知識を学ぶ人のために設計されています
- 🕌 ダイーの人格 — 思いやりがあり、知識豊富で、謙虚な導きを提供します
技術面での優れた点:
- 🎯 セマンティック検索 — 自然言語でのクエリから、6,236のクルアーンの節と21,641のハディースの伝承の中から関連するものを返します
- 📖 文脈に応じた検索 — 上位の検索結果には、適切な文脈を理解できるよう、前後±2節/伝承が含まれます
- 🌐 多言語対応 — 英語(高速)とスロバキア語で読めます(10以上の言語に拡張可能)
- 🔗 正確な引用 — すべての回答に、ハイパーリンク付きの情報源(Quran.com、Sunnah.com)が含まれます
- ⚡ 高速 — クエリの応答時間は150ms未満です
機能
Criterion の機能
✅ クルアーンのセマンティック検索 — 自然言語で質問すると、関連する節が見つかります
✅ ハディースのセマンティック検索 — 信頼できるハディースを、等級や集成で絞り込んで検索できます
✅ 文脈の理解 — 上位の検索結果には、意味を正しく理解するための周辺の文脈が含まれます
✅ 正確な引用 — すべての回答で、ハイパーリンク付きの実際の情報源を引用します
✅ 多言語での閲覧 — 英語(高速)とスロバキア語(単一の JOIN で200ms未満)
✅ 共有可能な URL — メタデータ付きの /quran/search?q=patience、/hadith/search?q=charity、/quran/2/255
✅ リアルタイムストリーミング — トークンごとに配信する段階的な回答生成
✅ ツールベースの RAG — LLM がクルアーン/ハディースから情報を取得するタイミングを自律的に判断します
技術スタック
- Next.js 15 App Router、React 19、Tailwind CSS
- LLM の統合とストリーミングに Vercel AI SDK
- インテリジェントな自然言語応答に XAI Grok 4
- ベクトル検索に pgvector を使用した PostgreSQL
- 型安全なデータベースアクセスに Drizzle ORM
- Google Gemini text-embedding-004(768次元)
- 150ms未満の類似検索を実現する HNSW インデックス
- 認証に Auth.js
- Vercel でデプロイ
仕組み
RAG パイプライン
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)
データ
-
全114章から6,236節のクルアーン
- アラビア語テキスト(Tanzil Quran)
- 英語訳(master)
- スロバキア語訳(追加可能)
- 768次元の埋め込み(Gemini text-embedding-004)
-
6つの主要な伝承集(Kutub al-Sittahの一部)から21,641件のハディース伝承
- 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)
- グレードによる絞り込み(Sahih、Hasan、Da'if)
- 768次元の埋め込み
パフォーマンス
- クルアーン検索:150ミリ秒未満(英語)、200ミリ秒未満(翻訳)
- ハディース検索:150ミリ秒未満
- ベクトル検索:HNSWインデックスを使用
- ストリーミング:トークンごとにリアルタイムで配信
はじめに
前提条件
- Node.js 18+ および pnpm
- PostgreSQL データベース(Neonを推奨)
- API キー:
- XAI API Key(Grok LLM 用)
- Google AI Studio API Key(埋め込み用)
インストール
- リポジトリをクローンする
git clone <repo-url>
cd criterion
- 依存関係をインストールする
pnpm install
- 環境変数を設定する
.env.local ファイルを作成します:
# Database
POSTGRES_URL=postgresql://...
# AI APIs
XAI_API_KEY=xai-...
GOOGLE_GENERATIVE_AI_API_KEY=...
# Authentication (optional)
AUTH_SECRET=...
- pgvector 拡張機能を有効にする
pnpm db:enable-pgvector
- データベースのマイグレーションを実行する
pnpm db:migrate
- クルアーンデータを取り込む(6,236節の埋め込みを生成します)
pnpm ingest:quran
完了までに10〜15分かかります。
- クルアーン検索をテストする
pnpm test:quran
- 開発サーバーを起動する
pnpm dev
アプリは localhost:3000 で実行されます。
使用可能なコマンド
開発
pnpm dev # Start dev server
pnpm build # Build for production
pnpm start # Start production server
データベース
pnpm db:generate # Generate Drizzle schema
pnpm db:migrate # Run migrations
pnpm db:studio # Open Drizzle Studio (GUI)
データの取り込みとテスト
# Quran
pnpm clear:quran # Clear all Quran data
pnpm ingest:quran # Ingest Quran verses and generate embeddings
pnpm ingest:quran:slovak # Ingest Slovak translation
pnpm test:quran # Test Quran search functionality
# Hadith
pnpm clear:hadith # Clear all Hadith data
pnpm ingest:hadith # Ingest Hadith and generate embeddings
MCP サーバー
Criterion は、**Model Context Protocol(MCP)**を通じてセマンティック検索機能を提供し、Claude Desktop や Cursor などの AI アシスタントがクルアーンとハディースを直接検索できるようにします。
クイックセットアップ:
{
"mcpServers": {
"criterion": {
"url": "https://criterion.life/api/mcp"
}
}
}
使用可能なツール:
search_quran— 6,236節のクルアーンを検索search_hadith— 6つの伝承集から21,641件の真正なハディースを検索get_verse— 参照番号(例:「2:255」)で指定した節を取得
プロジェクト構成
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
ドキュメント
Criterion について
- MISSION.md — 私たちのビジョン、価値観、そしてより深い目的です。Criterion を開発する 理由 を理解するため、まずこちらをお読みください。
- CRITERION_DETAILED.md — アーキテクチャ、実装履歴、パフォーマンス指標を含む、包括的な技術ドキュメントです。
- CRITERION.md — セットアップと主要な概念をまとめたクイックリファレンスガイドです。
主なセクション
| ドキュメント | 目的 |
|---|---|
| MISSION.md | ビジョン、価値観、柱となる理念、長期目標 |
| CRITERION_DETAILED.md | 技術アーキテクチャ、データベーススキーマ、コンポーネント、ベストプラクティス |
| CRITERION.md | クイックスタート、コマンド、主要な概念 |
| README.md | はじめに、機能、プロジェクト概要 |
アーキテクチャの概要
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)
データの帰属表示
- クルアーンのテキスト:Tanzil.net — Creative Commons Attribution 3.0
- クルアーンの翻訳:適切な帰属表示を付した複数のソース
- ハディースの伝承集:Sunnah.com、IslamicNetwork.com
- 埋め込み:Google Gemini text-embedding-004
私たちの取り組み
Criterion は、次の取り組みのもとに構築されています。
- ✅ イスラムの知識を決して収益化しない
- ✅ 適切な参照情報を添えて、常に出典を明記する
- ✅ 節やハディースを決して捏造しない
- ✅ 基本事項に焦点を当てる — 宗派間の議論を避ける
- ✅ コミュニティのために開発する — これはすべてのムスリムに属し、人類全体の利益となるものです
- ✅ 最先端を維持する — 最新鋭のテクノロジーを活用する
貢献
私たちの使命に賛同する開発者、研究者、コミュニティメンバーからの貢献を歓迎します。ガイドラインについては、CONTRIBUTING.mdをご覧ください。
ライセンス
- Quran Text:Creative Commons Attribution 3.0(Tanzil.net)
- Hadith Data:適切な帰属表示を伴う、検証済みのイスラム教資料に基づいています
- コード:詳細はLICENSEファイルをご覧ください
「あなたの主の道へ、英知と善い訓戒をもって招きなさい。そして、最善の方法で彼らと議論しなさい。」 — Quran 16:125
アッラーがこの活動を受け入れ、あらゆる場所で求道者を導く手段としてくださいますように。アーミーン。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。