Dhamma.Gift — Pāli Canon について
Dhamma.GiftのNode.jsバックエンドで、パーリ語経典を検索・閲覧できます。原文とロシア語・英語訳を参照する読者向けに、SQLite/FTS5の検索インデックス、区分リンク、オフラインミラーデータに対応しています。
主な機能
- 01SQLite/FTS5による経典検索
- 02経典閲覧用ルートの提供
- 03区分リンクとスクロール位置指定
- 04オフラインミラーデータに対応
- 05旧PHP/Apacheとの互換性を維持
活用シーン
- 01語句からパーリ語経典を検索
- 02経典全文または特定区分を閲覧
- 03オフラインミラーのテキストデータを利用
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://api.dhamma.gift/mcpclaude mcp add --transport http gift-dhamma-pali-canon https://api.dhamma.gift/mcp{"mcpServers":{"gift-dhamma-pali-canon":{"type":"http","url":"https://api.dhamma.gift/mcp"}}}Cursor で開く{"servers":{"gift-dhamma-pali-canon":{"type":"http","url":"https://api.dhamma.gift/mcp"}}}VS Code で開く{"mcpServers":{"gift-dhamma-pali-canon":{"type":"http","url":"https://api.dhamma.gift/mcp"}}}{"mcpServers":{"gift-dhamma-pali-canon":{"serverUrl":"https://api.dhamma.gift/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
dg-node
SuttaCentral Bilara と DhammaGift の翻訳を使用して、パーリ仏典のテキストを検索・閲覧するための Node.js バックエンドです。
このプロジェクトは、従来の Dhamma.Gift スタック向けに、検索インデックス、リーダーのエンドポイント、静的アセット、互換性レイヤーを提供します。本番サーバーでは Fastify を実行し、古い Express ベースの実装はレガシーサポートのためだけに維持されています。
アーキテクチャと開発ルール:CLAUDE.md
機能
- SQLite/FTS5 を使用したパーリ仏典全体の検索
/dn22や/dn22:12.1などの簡潔な URL に対応するリーダールート- セグメント対応リンクとスクロール位置指定
- オフラインミラーデータと環境に応じたパス解決に対応
- 古い PHP/Apache フロントエンドとのレガシー互換性
クイックスタート
git pull
npm install
npm run build-search-db # build dg.db (SQLite/FTS5) from fresh Bilara data
npm start # run the production server (dg-fastify.js), port 3000
ソーステキストや翻訳がディスク上で変更された場合は、build-search-db を再実行してください。サーバーはディスクから直接データを読み込み、必要に応じて検索インデックスを再構築します。
SC_BILARA、DG_OFFLINE、オフラインミラーなどのデータパスは、実行環境(Termux、Windows 開発環境、ローカルサーバーなど)に応じて自動的に解決されます。
unused/dg-light.js と unused/dblight.js(npm run start:express)はレガシーの Express + grep サービスであり、本番環境では使用されません。詳細は CLAUDE.md を参照してください。
デプロイ時の確認
curl "http://localhost:3000/search?q=kacchapa&scope=dhamma&langs=ru,en"
curl -I "http://localhost:3000/assets/js/datatables/datatables.min.js" # 200 from public/overrides/js/datatables, not from the legacy repo
curl -I "http://localhost:3000/dn22" # reader via clean URL
curl -I "http://localhost:3000/dn22:10.5" # segment link (scroll to 10.5)
ブラウザーでの手動確認:
/nodejs/res/?q=kacchapa&scope=dhamma— 検索、DataTables、エクスポート/dn22— 全文リーダー- パーリ語/ロシア語の切り替え(3 つのモード:パーリ語 + 翻訳 → パーリ語のみ → 翻訳のみ)— コンテンツが正しく表示/非表示になること
/?q=dn22#12.1(レガシー形式)—/dn22:12.1と併せて引き続き動作すること
Apache/PHP 向けデプロイ時の注意事項
公開中の Dhamma.Gift サイトが Apache/PHP でホストされ、Node が別のバックエンドとして動作し、/search へのリクエストのみがプロキシされている場合は、以下に注意してください。
- 検索リクエストは Node バックエンドにルーティングされる場合があります
- 静的ファイルとリーダールートは引き続き Apache/PHP から配信される場合があります
- ルートドメインのルーティングは、ローカル開発環境とは異なる場合があります
dg-fastifyは最新のバックエンドであり、レガシー PHP ページは互換性のため並行して維持されています
プロジェクト構成
dg-fastify.js — production server (Fastify + SQLite/FTS5, dg.db): /search, /api/text/:suttaId,
static files (search/, reader/, siteroot/assets/), offline mirrors,
clean URLs (/dn22, /dn22:12.1)
unused/dg-light.js — legacy Express + grep server, not used in production (see CLAUDE.md)
unused/dblight.js — build script for dg-light.js → dg_db_light.json (legacy, not needed with dg.db)
search/ — search page (DataTables); legacy URL remains /nodejs/res/... (see CLAUDE.md)
reader/ — reader frontend (reader-template.html + megareader.js)
configs/ — project JSON configs (openapi, reader/*, search/*), see CLAUDE.md
docs/ — project documentation and compatibility notes (SPA plans, backward compatibility)
siteroot/ — root-site publication: assets/ (legacy assets), 4nt/config/login/,
memo/read (legacy tools), see CLAUDE.md
ライセンス
プロジェクトのルートにあるリポジトリのライセンスとプロジェクト固有の注意事項を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。