Tripitaka MCP について
Tripitaka MCP は、パーリ三蔵を調査・引用するための MCP サーバーです。仏教の学習や研究向けに、検索、翻訳比較、辞書検索、出典リンクを提供し、ホスト型とオフライン型を選べます。
主な機能
- 01三蔵全体の検索
- 02ハイブリッド・キーワード・セマンティック検索
- 03段落対応した翻訳の比較
- 04パーリ語と語根の検索
- 05全文取得と引用生成
- 06二言語リーダーへのリンク
活用シーン
- 01仏教のテーマに関する箇所の検索
- 02経典の翻訳比較
- 03パーリ語の辞書項目の確認
- 04経典の引用と出典確認
MCP 対応
検索、本文、辞書、構造の機能を MCP クライアントに提供し、三蔵の構造、経典、語句のリソースも公開します。Streamable HTTP、旧式の SSE、ローカル stdio に対応します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.tripitaka-mcp.com/mcpclaude mcp add --transport http dhamma-seeker-tripitaka https://mcp.tripitaka-mcp.com/mcp{"mcpServers":{"dhamma-seeker-tripitaka":{"type":"http","url":"https://mcp.tripitaka-mcp.com/mcp"}}}Cursor で開く{"servers":{"dhamma-seeker-tripitaka":{"type":"http","url":"https://mcp.tripitaka-mcp.com/mcp"}}}VS Code で開く{"mcpServers":{"dhamma-seeker-tripitaka":{"type":"http","url":"https://mcp.tripitaka-mcp.com/mcp"}}}{"mcpServers":{"dhamma-seeker-tripitaka":{"serverUrl":"https://mcp.tripitaka-mcp.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.tripitaka-mcp.com/mcphttps://mcp.tripitaka-mcp.com/sseツール
13| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| keyword | string | はい | 検索する単語/フレーズ。 |
| language | enum | いいえ | 検索言語 — サーバーの ENABLED_LANGUAGES に含まれている必要があります (デフォルト:「pali」)。無効な言語を指定するとエラーが返されます。pali | english | thai |
| edition | any | いいえ | タイ語の翻訳版 — 「dhiranandi」、「jayasaro」、「mbu」、 「royal」または None。language="thai" で、サーバー上でタイ語が有効な場合にのみ使用されます。 |
| pitaka | any | いいえ | pitaka で絞り込み — 「vinaya」、「sutta」、「abhidhamma」または None (すべて)。✅ v1.1 以降:3 つの pitaka すべてが SuttaCentral bilara と同等です。最新の件数は list_structure を参照してください。 |
| limit | integer | いいえ | 最大結果数(デフォルト:10、上限:50)。 |
詳細
Tripitaka MCP サーバー
パーリ語三蔵の内容を検索し、引用するための MCP サーバーです。 Claude や Cursor などの AI クライアントで経典を検索し、教えを引用したり、言語間で翻訳を比較したりできます。
🙏 このプロジェクトは Dhamma Dāna として提供されています:完全無料、非営利目的でのみ利用できます。 ライセンスの詳細:LICENSE(コード)および NOTICE.md(データ)
✨ 機能
- SuttaCentral と同等の、三蔵全体を網羅した収録範囲。 三つの蔵すべてがインデックス化されており、約 444K セグメントを収録しています。経蔵にはパーリ語と英語が含まれます。英訳は
bilara-dataの翻訳者によるもので、DN/MN/SN/AN と小部の大部分は Bhikkhu Sujato、一部の小部の書は John Kelly、Bhikkhu Kovilo などが担当しています。律蔵にはパーリ語と Bhikkhu Brahmali による英訳が含まれます。論蔵はパーリ語のみです。これは、上流のbilara-dataに論蔵の英訳が一つもないためです。list_structureで最新の件数を確認できます。 - ハイブリッド検索では、キーワード検索とセマンティック検索の結果を Reciprocal Rank Fusion(RRF)で統合します。検索ツールの中で最も精度が高く、設定も不要です。
- キーワード検索では、トライグラムによる曖昧一致と、言語間の対応付けを利用できます。
- セマンティック検索では、ベクトル類似度(pgvector)を用いて意味から検索できます。
- 翻訳の比較では、版ごとの翻訳をセグメント単位で対応付けて比較できます。
- 辞書連携により、20,000 件以上の項目(P. A. Payutto、PTS、DPPN)を利用できます。
- 経典の取得と引用。 ID(
mn1、pli-tv-bu-vb-pj1、patthana1.1)で経典を取得し、適切な書式の学術的な引用を生成できます。 - パーリ語単語アナライザーは、辞書検索で見つからなかった場合に屈折語尾を取り除いて語幹を検索します(
bhikkhūnaṁ→bhikkhu)。 - すべての応答に相互参照 URL を付与: プロジェクト独自の二言語リーダー(パーリ語+英語)への、クリック可能なディープリンクです。セグメントアンカーにより、引用された偈がハイライト表示されます。リーダーは SuttaCentral の
bilara-dataをそのまま表示するため、権威あるテキストを確認できます。また、AI クライアントがリンクを表示するため、ユーザーはワンクリックで出典を確認できます。 - 二つのトランスポート方式: 従来の SSE(
/sse)と、標準の Streamable HTTP(/mcp、MCP 仕様 2025-03-26)。 - MCP リソース:
tripitaka://structure、tripitaka://sutta/{id}、tripitaka://word/{w}。リソースとしてコンテキストを固定するクライアント向けです。 - 厳選された参考ページは
/topics/*にあります。正典の構成、利用開始方法とツールの選び方、場所(マハージャナパダ、聖地、宇宙論)、出典の中核となる箇所を示した 10 の基礎的なテーマ、約 30 人の主要人物、そして釈迦の 45 年にわたる活動を段階ごとにまとめた年表を扱う、6 つの Markdown ページです。経典 ID は実データと照合済みで、AI クライアントは 30 回以上のツール呼び出しを行わずに、ページを 1 つ取得できます。 - Claude スキル。
skills/tipitaka-research.mdは、Claude Desktop と Claude Code で複数段階の調査パターン(明確化 → 収録範囲の確認 → 検索 → 詳細調査 → 引用)を有効にする、すぐにインストールできるワークフローファイルです。 - API のテストに使える Postman コレクションが含まれています。
🏗️ 技術スタック
| 技術 | 役割 |
|---|---|
| Python + FastMCP | MCP サーバー |
| PostgreSQL + pgvector | データベース + ベクトル検索 |
| sentence-transformers | セマンティック検索用の埋め込み |
| Docker Compose | インフラストラクチャ |
🚀 クイックスタート
🌐 セットアップ不要:公開されている Dhamma Dāna サーバーに接続する
メンテナーは tripitaka-mcp.com で無料の公開インスタンスを運用しています。
| エンドポイント | 用途 |
|---|---|
https://mcp.tripitaka-mcp.com/mcp | ストリーマブル HTTP(MCP 仕様 2025-03-26) |
https://mcp.tripitaka-mcp.com/sse | レガシー SSE(古いクライアント向け) |
Claude Desktop への接続は 3 ステップで完了します。Node.js 以外にインストールするものはなく、Docker や GPU も不要です。
1. npx の絶対パスを確認します。Claude Desktop はシェルのプロファイルを読み込まないため、npx だけでは解決できません。ターミナルを開きます。
which npx
# example: /Users/you/.nvm/versions/node/v22.14.0/bin/npx
2. claude_desktop_config.json(macOS では ~/Library/Application Support/Claude/、Windows では %APPDATA%\Claude\)を開き、以下のエントリを追加します。YOUR_NPX_PATH をステップ 1 の出力に、YOUR_NODE_BIN_DIR をそのパスの親ディレクトリに置き換えてください。
{
"mcpServers": {
"tripitaka": {
"command": "YOUR_NPX_PATH",
"args": ["-y", "mcp-remote", "https://mcp.tripitaka-mcp.com/mcp"],
"env": { "PATH": "YOUR_NODE_BIN_DIR:/usr/local/bin:/usr/bin:/bin" }
}
}
}
3. Claude Desktop を完全に終了し(macOS では ⌘Q、Windows ではシステムトレイ → 終了)、再度開きます。左下の 🔌 インジケーターに tripitaka が表示され、14 個のツールが利用可能になっているはずです。
初回の接続には 5~10 秒かかります。
npxが必要に応じてmcp-remoteをダウンロードするためです。失敗したと判断する前に、再起動後、Claude Desktop が接続するまで少し待ってください。
接続したら、次のような質問を Claude にしてみてください。
- 「呼吸へのマインドフルネスについて、ブッダは何を教えていますか?MN 118 から関連する経典の一節を引用してください。」
- 「Karaṇīyamettasutta の全文を、パーリ語と英語で表示してください。」
- 「Payutto 辞典によると、パーリ語の sati はどういう意味ですか?」
- 「ブッダが怒りについて説いている経典を探してください。」
Claude が適切なツールを選択して正典のパーリ語本文を取得し、確認用にプロジェクトの二言語リーダーへのクリック可能なリンクを表示します。
ホスト型サーバーは、個人の学習、研究、ダンマの実践向けに提供される小規模な無料サービスです。リクエスト頻度は適切に保ってください。短時間に大量のリクエストを送ると、エッジでスロットリングされる場合があります。再配布または商用利用の前に、NOTICE.md をお読みください。
💻 完全にオフラインで実行する(pipx、ローカル SQLite、サーバー不要)
ホスト型サーバーへのネットワーク接続をせず、すべてを自分のマシン上に置きたい場合は、ローカル版をインストールしてください。パーリ語経典全体を単一の SQLite ファイル(約120 MB)として収録し、ローカルの stdio MCP サーバーとして動作します。
pipx install tripitaka-mcp # needs Python 3.10+
tripitaka-mcp init # one-time: downloads the SQLite database
tripitaka-mcp serve # runs the MCP server over stdio
次のようなエラーでインストールに失敗する場合:
Because the current Python version (3.9.6) does not satisfy Python>=3.10
pipx が想定とは異なるインタープリターを使っています。pipx は意図的に独自の隔離環境を構築し、アクティブな venv を無視するため、入力したシェルで Python 3.12 が使われていても、古いシステム Python が選ばれることがあります。使用する Python を指定してください。
pipx install --python python3.12 tripitaka-mcp
(3.10 以降であればどのバージョンでも動作します。デフォルトの設定は pipx environment で確認できます。)
次に、npx ブリッジもインターネット接続も使わず、ローカルコマンドを Claude Desktop または Cursor に設定します。
{
"mcpServers": {
"tripitaka": {
"command": "tripitaka-mcp",
"args": ["serve"]
}
}
}
(tripitaka-mcp がクライアントの PATH にない場合は、which tripitaka-mcp で表示される絶対パスを使用してください。)
stdio ではなく URL が必要ですか? スクリプト、ノートブック、複数のクライアントで1つのサーバーを共有する場合は、サブプロセスではなく HTTP エンドポイントを使用してください。
tripitaka-mcp serve --http # http://127.0.0.1:8765/mcp
tripitaka-mcp serve --http --port 9000 # or MCP_HOST / MCP_PORT
指定がない場合は 127.0.0.1 にバインドします。経典データは読み取り専用ですが、呼び出し元を確認する機能はないため、パブリックインターフェイスにバインドする前によく検討してください。
ホスト型とローカル版の比較
どちらも同じ約444Kセグメントの経典を提供します。違いは次のとおりです。
ホスト型(mcp.tripitaka-mcp.com) | ローカル(pipx) | |
|---|---|---|
| ツール | 14個すべて | 11個、または TRIPITAKA_MCP_APP=1 を指定すると12個。search_semantic と search_hybrid はありません |
| 概念検索/セマンティック検索 | ✅ ベクトル検索(pgvector) | ❌ 代わりに search_by_keyword を使用 |
| キーワード検索 | PostgreSQL のトライグラム検索:あいまい検索、誤字を許容、類似度順に表示 | SQLite FTS5:単語全体/トークンで照合するため、ホスト型とは結果と順位が異なる場合があります |
| 経典データ | 常に最新 | init を実行した時点のスナップショット。更新するには tripitaka-mcp init を再実行 |
| 更新 | 自動 | コードは pipx upgrade tripitaka-mcp、データは init を再実行 |
| プライバシー | クエリはホスト型サーバーに送信されます(ログには記録されません。プライバシーポリシーを参照) | マシンの外にデータが送信されません |
| インターネット | 必要 | init の実行後は不要 |
| レート制限 | 短時間に大量のリクエストを送ると、エッジでスロットリングされる場合があります | なし |
| セットアップ | 不要/ワンクリック | Python 3.10 以降、pipx、一度限りの約120 MBのダウンロード |
search_semantic、search_hybrid、トライグラムキーワードインデックスには PostgreSQL、pgvector、約1 GBの埋め込みモデルが必要です。軽量なローカルインストールには適さないため、ホスト型のみで提供しています。ローカルモードでは、これら2つのツールは登録されません。接続したクライアントに表示されるのは、実際に呼び出せる11個のツールだけです。
ローカルサーバーは標準的な stdio MCP サーバーなので、完全にオフラインの AI スタックも実現できます。Ollama などのローカルモデルと、MCP 対応のチャット UI を組み合わせれば、何もマシンの外に送信されません。
🏎️ 最速のローカルセットアップ:インストーラー(開発者以外におすすめ)
git clone https://github.com/dhamma-seeker/tripitaka-mcp.git
cd tripitaka-mcp
./scripts/install.sh
インストーラーは、Hugging Face(dhamma-seeker/tripitaka-mcp-dump)から用意済みのデータベースダンプをダウンロードして復元します。これにより、セットアップにかかる時間を2~4時間(データの読み込みと埋め込みの生成)から約5分に短縮できます。 (ダンプファイルがすでにディスク上にある場合は、そのファイルを使用します。)
インストーラーは次の処理を行います。
docker、compose、openssl、curlがインストールされていることを確認します- ランダムなパスワードを生成して
.envを作成します(管理者ユーザーと読み取り専用ユーザーの両方) - Hugging Face からダンプをダウンロードします(ローカルにない場合)
- DB を起動し、ダンプを復元します
- 読み取り専用ロールとランタイムのタイムアウトを設定します
- そのまま貼り付けられる Claude Desktop の設定を表示します
オプション:
./scripts/install.sh --dump PATH # use an existing dump file
./scripts/install.sh --dump-url URL # override the dump source
./scripts/install.sh --no-dump # skip restore (load data yourself later)
🔧 手動セットアップ(開発者向け)
1. クローンとセットアップ
git clone https://github.com/dhamma-seeker/tripitaka-mcp.git
cd tripitaka-mcp
cp .env.example .env
# Set POSTGRES_PASSWORD in .env to a random password
2. データベースを起動
docker compose up db -d
3. 依存関係をインストール
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
4. データベースを初期化してデータを読み込む
# 1. Seed metadata (pitaka, nikāya)
python scripts/seed_metadata.py
# 2. Download & load Sutta Piṭaka data from SuttaCentral
python scripts/data_loader.py
# 3. Load Thai CC0 translations (Dhīranando & Jayasāro)
python scripts/load_thai_cc0.py
# 4. Load dictionaries (DPD, PTS, DPPN, and the Payutto dictionary)
python scripts/load_dictionary.py
# 5. Generate embeddings for semantic / hybrid search
python scripts/generate_embeddings.py
5. MCP サーバーを実行
python main.py
🧪 Postman でのテスト
SSE モードで Postman からツールを実行できます。
- 次のコマンドでサーバーを起動します:
MCP_TRANSPORT=sse python main.py - postman_collection.json を Postman にインポートします
- ツールを直接実行します
🚢 本番環境へのデプロイ
本番環境では、データを再読み込みして埋め込みモデルを再実行する代わりに、データベースダンプから復元してください。
docker compose -f docker-compose.prod.yml up -d --build
本番環境のスタックでは、5 つのサービスを実行します。
db:PostgreSQL + pgvector(内部専用、公開ポートなし)mcp-server:レガシー SSE 経由の FastMCP、/sseの背後で稼働(読み取り専用の DB ユーザー、読み取り専用 FS、cap_drop: ALL)mcp-server-http:同じサーバーを Streamable HTTP 経由で稼働、/mcpの背後に配置reader:相互参照 URL のリンク先となるバイリンガルリーダー、/read/*の背後に配置caddy:リバースプロキシおよび Let's Encrypt。MCP サイトのrate_limitブロックは定義されていますが、 記述どおりには動作しません。DEPLOYMENT.md で説明しています
セキュリティをさらに強化するには、Caddy の前段に Cloudflare を配置してください(DNS プロキシ、レート制限ルール、無料プランの DDoS 保護)。
詳細は DEPLOYMENT.md をご覧ください。
🔧 Claude Desktop への接続
このリポジトリには、すぐに使えるエントリが 3 つ記載された claude_desktop_config.example.json が含まれています。ご利用の環境に合ったものを claude_desktop_config.json(macOS では ~/Library/Application Support/Claude/、Windows では %APPDATA%\Claude\)にコピーし、絶対パスを編集してください。
| エントリ | 使用する場面 | トランスポート |
|---|---|---|
tripitaka-local | Claude Desktop と同じマシンでインストーラーを実行した場合 | stdio(ネットワーク不要) |
tripitaka-remote | VPS でサーバーをセルフホストし、最新のトランスポートを使いたい場合 | Streamable HTTP(/mcp) |
tripitaka-remote-sse | クライアントがまだ Streamable HTTP に対応していない場合 | レガシー SSE(/sse) |
リモート用のエントリは mcp-remote を介して接続します。これは Claude Desktop から npx を経由してリモート MCP サーバーにつなぐブリッジです。サンプルファイルでは各フィールドにコメントが付いています。保存する前に _comment キーを削除してください。
nvm ユーザー向け:
commandとenv.PATHには絶対パスの node パスが必要です。Claude Desktop はシェルプロファイルを読み込まないためです。通常のシェルを使用中にwhich npxとwhich pythonを実行して確認してください。
任意:リサーチスキルのインストール
Claude Desktop と Claude Code では、同梱のスキルをコピーすると、複数ステップのリサーチワークフローを有効にできます。
mkdir -p ~/.claude/skills
cp skills/tipitaka-research.md ~/.claude/skills/
# Restart Claude Desktop (Cmd+Q then reopen) to pick up the skill
詳細は skills/README.md をご覧ください。
📦 MCP ツール(全 14 種)
| ツール | 説明 |
|---|---|
search_hybrid | RRF を使ったキーワード検索とセマンティック検索の組み合わせです。「X に関する言説」を探すなど、概念検索におすすめです。 |
search_by_keyword | トライグラムによるキーワード検索です。appamāda や ānāpānassati など、特定の語で上位数件を探すのに最適です。 |
survey_corpus | コーパスを網羅的に調査します。正確な総数、ピタカごとの内訳、該当する語形を返します。「何回出てくるか」や「X が登場するすべての箇所」など、上位の一致ではなく全出現箇所が必要な場合に使います。mode=thorough を指定すると、概念レベルのセマンティック検索による再現率が向上します。 |
search_semantic | ベクトル類似度だけを使った検索です。通常は search_hybrid の方が適しています。 |
verify_quote | 引用を再掲する前に、経典と照合します。一致するセグメントとともに exact / close / not_found を返すため、記憶に頼らず、出典を明示して一節を引用できます。 |
get_sutta | ID(例:mn1、dn22、dhp1-20)で経典を取得し、相互参照 URL も返します。デフォルトでは経典全体を取得します。長い経典では、mode="outline"(目次、本文なし)、around="<segment_id>"+window(ヒット箇所の前後の文脈)、または segment_range/offset+limit で一部だけを取得できます。 |
open_sutta_viewer | インタラクティブな経典ビューアー(MCP Apps)です。経典をチャット内に表示し、パーリ語と英語を並べて表示するとともに、引用されたセグメントを強調表示します。呼び出し元のモデルは、表示されたセグメントをユーザーの言語に AI 翻訳し、明確にバッジを付けた 3 行目として追加できます(translations パラメーター)。経典そのものはパーリ語と英語のままです。MCP Apps 対応ホスト(Claude、Claude Desktop、VS Code Copilot など)が必要です。それ以外のホストではテキスト表示に切り替わります。 |
get_reference | すべての出典 URL を含む、適切な形式の学術引用を生成します。 |
compare_translations | 1 つのセグメントについて、各版の訳文を比較します。 |
list_structure | ニカーヤごとのセグメント数と収録状況を含めて、ティピタカの構成を表示します。 |
list_editions | 同梱されているパーリ語版と英語版以外に読み込まれている翻訳版を一覧表示します。現在、公開サーバーには追加の版がないため、追加の版がないことをそのまま回答します。 |
get_word_definition | パーリ語辞書(PTS、DPPN、Payutto のタイ語辞典)を検索します。 |
define_from_suttas | 経典や律蔵が用語を独自の言葉でどのように定義しているかを探します。「Katamañca X? ... ayaṁ vuccati X」、「X adhivacana」、律蔵の「X nāma」など、経典に見られる定型表現を検索します。get_word_definition が辞書の訳語を示すのに対し、こちらは一次資料に基づく定義を提示します。 |
parse_pali_word | get_word_definition で見つからない場合に、パーリ語の接尾辞を取り除いて語根を特定します(bhikkhūnaṁ → bhikkhu)。 |
⚠️ search_semantic に関する注意
ベクトルインデックスは text_pali のみを対象として構築されており、パーリ語専用に訓練されていない多言語 MiniLM モデルを使用しています。(bilara-data にタイ語が含まれているのは全 6 ファイルのみで、公開サーバーにはタイ語版が読み込まれていません。)そのため:
- パーリ語と英語のクエリは精度が高く、言語をまたいだ対応付けも良好です。
- タイ語のクエリは大まかな一致を返すため、おすすめしません。
appamādaのような正確なキーワードには、search_by_keywordの方が高精度です。- 汎用的な検索には、制約の影響を最も受けにくい
search_hybrid(キーワード検索+セマンティック検索)を使ってください。
bge-m3 などのパーリ語で訓練された埋め込みモデルへの移行と、タイ語版の埋め込みは、どちらも今後のロードマップに含まれています。
📁 プロジェクト構成
tripitaka-mcp/
├── main.py # Main MCP Server (14 tools, 1 resource + 2 resource templates)
├── cli.py # `tripitaka-mcp` CLI (init / serve) for the pipx edition
├── sutta_verify.py # Quote matching behind `verify_quote`
├── sutta_definitions.py # Canonical definition formulas behind `define_from_suttas`
├── sutta_titles.py # Sutta title resolution
├── mcp_app.py # MCP Apps registration (env-gated, `TRIPITAKA_MCP_APP`)
├── db/
│ ├── connection.py # Database connection pool
│ └── schema.py # Schema (supports translation table)
├── embedding/
│ └── model.py # SentenceTransformer wrapper
├── scripts/
│ ├── install.sh # One-shot installer (HF dump → DB)
│ ├── deploy.sh # Deploy / restart on a VPS
│ ├── backup.sh # pg_dump → S3-compatible store
│ ├── dump_and_publish.sh # Verify embeddings → pg_dump → upload to HuggingFace
│ ├── seed_metadata.py # Seed pitaka/nikāya metadata
│ ├── data_loader.py # Load Sutta Piṭaka (Pāli + bilara EN, per-book translator)
│ ├── load_vinaya.py # Vinaya loader (Vibhaṅga + Pātimokkha + Khandhaka + Parivāra, Brahmali EN)
│ ├── load_abhidhamma.py # Abhidhamma loader (7 books, Pāli — bilara has no EN)
│ ├── load_thai_cc0.py # Thai translation loader
│ ├── load_dictionary.py # Load dictionary data
│ ├── scrape_payutto.py # Web scraper for the Payutto dictionary
│ ├── generate_embeddings.py # Generate vector embeddings
│ ├── run_embedding_with_retry.sh # Resilient wrapper around embedding generation (retries on DB drop)
│ ├── check_embedding_progress.py # Live progress snapshot (or --watch mode) for the embedding job
│ ├── smoke_test.sh # Endpoint smoke test (TLS + /sse + /mcp + /health)
│ ├── test_full_sutta.py # Full-content smoke test (22 size-tiered suttas, exact pinned counts)
│ ├── test_corpus_parity.py # Check the corpus against the bilara-data clone it claims parity with
│ ├── test_definitions.py # `define_from_suttas` regression + snapshot + backend parity
│ ├── test_verify_quote.py # `verify_quote` regression, both backends
│ ├── test_survey_counts.py # `survey_corpus` count drift
│ ├── test_pagination.py # Slice / window / offset behaviour
│ └── test_mcp_prompts.py # Prompt-level test — a real model picks the tools, a judge reads the answer
├── reader/ # Bilingual reader served at /read/* (FastAPI)
│ ├── app.py # Routes: /read/, /read/{sutta_id}, search, browse
│ ├── queries.py # Read-side queries
│ ├── featured.py # Landing-page sutta cards
│ └── sutta_id_decoder.py # Turn a sutta id into a human-readable location
├── site/ # Static landing page served at the apex domain
├── topics/ # Static markdown pages served at /topics/*
│ ├── README.md # Index of available topic pages
│ ├── tipitaka-overview.md # Canon structure + coverage
│ ├── getting-started.md # Connection paths, tool selection, prompt patterns
│ ├── places.md # Geography of the suttas (Mahājanapada, holy sites, cosmology)
│ ├── themes.md # 10 foundational teachings + locus classicus
│ ├── people.md # ~30 major figures (chief disciples, lay supporters, kings)
│ └── timeline.md # Phase-based timeline of the 45-year teaching career
├── skills/ # Portable Claude skills for AI clients
│ ├── README.md # How to install
│ └── tipitaka-research.md # Multi-step research workflow
├── infra/ # Reverse proxy + deploy config
│ ├── Caddyfile # Caddy: TLS, CORS for /mcp, /topics, /sse, /mcp
│ ├── Dockerfile.caddy # Caddy + caddy-ratelimit plugin
│ ├── cloud-init.yml # VPS bootstrap
│ └── *.tf # Terraform (provider-agnostic)
├── docs/
│ └── CAPACITY.md # Capacity planning per VPS spec
├── claude_desktop_config.example.json
├── docker-compose.yml # Dev (single mcp-server)
├── docker-compose.prod.yml # Prod (db + 2 mcp-server + reader + caddy)
├── Dockerfile
└── requirements.txt
📜 データソースとライセンス
このプロジェクトは、異なるライセンスの複数のソースからデータを集約しています。 再配布する前に、NOTICE.md を最後までお読みください。
| ソース | ライセンス | 備考 |
|---|---|---|
| ソースコード | MIT | 自由に使用、フォーク、変更できます |
| SuttaCentral bilara-data | CC0 | パブリックドメイン |
| タイ語訳(Dhīranando、Jayasāro) | CC0 | SuttaCentral 経由 |
| Somdet Phra Buddhaghosacariya (P. A. Payutto) 著 Dictionary of Buddhism | Dhamma Dāna | ⚠️ 非営利目的の使用に限ります |
| PTS / DPPN / Dhammika Dictionaries | パブリックドメイン / CC |
⚠️ フォークまたは再配布を予定している場合
- ✅ 無料のプロジェクト、ダンマ・ダーナのプロジェクト、または教育プロジェクトで使用できます
- ✅ 個人使用のために、ご自身のマシンで実行できます
- ❌ Payutto の辞書が含まれているため、有料の製品やサービスでは使用しないでください
- ❌ 辞書の内容を変更しないでください
商用利用の場合:辞書コンポーネントを削除するか、Wat Nyanavesakavan に許可をお問い合わせください。
🙏 クレジットと帰属表示
貢献者の詳細は CREDITS.md、ライセンス条件は NOTICE.md をご覧ください。
感謝を捧げます:
- Somdet Phra Buddhaghosacariya (P. A. Payutto) + Wat Nyanavesakavan
- SuttaCentral、およびタイ語・英語の翻訳者の皆様
- 84000.org
Sādhu 🙏
このダンマの共有が、すべての生きとし生けるものに利益と幸福をもたらしますように。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。