
Tripitaka MCP
Gives Claude direct access to the complete Pāli Canon, the foundational Buddhist scriptures. You get 10 tools: hybrid search combining keyword and semantic matching, dictionary lookups across 20,000+ entries with inflection stripping, full sutta retrieval by ID, translation comparison at the segment level, and academic citation generation. All responses include deep links to SuttaCentral for verification. Runs as a hosted service over streamable HTTP or SSE, or install locally via pipx for fully offline operation with SQLite. The hosted version uses PostgreSQL with pgvector for semantic search; the local edition drops to FTS5 and omits vector tools but keeps the full 444K segment dataset. Offered as Dhamma Dāna, free for personal study and non-commercial research.
- GitHub stars
- 1
- tools
- 14
- transport
- HTTP, SSE
- last updated
- May 12, 2026
Install
From registry metadata$ npx add-mcp https://mcp.tripitaka-mcp.com/mcp --name tripitaka-mcpRun in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add --transport http tripitaka-mcp https://mcp.tripitaka-mcp.com/mcpRun in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 14 toolsVerified live against the running server on Nov 6, 2026.
search_by_keywordKeyword search across the Pāli Tipiṭaka (trigram word-similarity). Searches the configured enabled language(s) on the server. Filterable by pitaka and translation edition. 💡 **Hints for the AI client:** The system's canonical reference is Romanised Pāli (from SuttaCentral). I...5 params
Keyword search across the Pāli Tipiṭaka (trigram word-similarity). Searches the configured enabled language(s) on the server. Filterable by pitaka and translation edition. 💡 **Hints for the AI client:** The system's canonical reference is Romanised Pāli (from SuttaCentral). I...
editionvaluekeyword*stringlanguagestringpali · english · thaidefault: palilimitintegerpitakavaluesurvey_corpusExhaustively survey the WHOLE Tipiṭaka for a term — guaranteed complete. Use this (not `search_by_keyword`) when the question is about **coverage or counting** rather than "show me the best passages": - "How many times does Kusinārā appear in the canon?" - "Every place ānāpāna...9 params
Exhaustively survey the WHOLE Tipiṭaka for a term — guaranteed complete. Use this (not `search_by_keyword`) when the question is about **coverage or counting** rather than "show me the best passages": - "How many times does Kusinārā appear in the canon?" - "Every place ānāpāna...
cursorintegerkeyword*stringlanguagestringpali · englishdefault: palimatch_scopestringword · stemdefault: wordmodestringfast · thoroughdefault: fastpage_sizeintegerpitakavaluesem_limitintegersem_thresholdnumberget_suttaFetch a sutta's content — OR its table of contents (`mode="outline"`). ⚡ **Decide which mode BEFORE calling — don't fetch the whole sutta and parse it yourself:** - The user wants the **structure / outline / table of contents**, or asks **"how many sections/parts"** / "what's...9 params
Fetch a sutta's content — OR its table of contents (`mode="outline"`). ⚡ **Decide which mode BEFORE calling — don't fetch the whole sutta and parse it yourself:** - The user wants the **structure / outline / table of contents**, or asks **"how many sections/parts"** / "what's...
aroundvalueeditionvaluelanguagestringpali · thai · english · alldefault: palilimitvaluemodestringfull · outlinedefault: fulloffsetintegersegment_rangevaluesutta_id*stringwindowintegersearch_semanticSemantic search — match by meaning, not exact words. Uses vector similarity (cosine distance) over `text_pali` embedded with a multilingual MiniLM model. 🤔 **In most cases you should use `search_hybrid` instead** — it combines this semantic search with keyword search and rank...4 params
Semantic search — match by meaning, not exact words. Uses vector similarity (cosine distance) over `text_pali` embedded with a multilingual MiniLM model. 🤔 **In most cases you should use `search_hybrid` instead** — it combines this semantic search with keyword search and rank...
languagestringlimitintegerquery*stringthresholdnumbersearch_hybridHybrid search — combines keyword + semantic search via RRF. Uses Reciprocal Rank Fusion (RRF) to merge exact-word results with meaning-based results. **This is the recommended tool for "discourses about X" / concept queries**, because the semantic side catches suttas that disc...3 params
Hybrid search — combines keyword + semantic search via RRF. Uses Reciprocal Rank Fusion (RRF) to merge exact-word results with meaning-based results. **This is the recommended tool for "discourses about X" / concept queries**, because the semantic side catches suttas that disc...
languagestringlimitintegerquery*stringlist_structureShow the structure of all three pitakas with coverage statistics. 💡 **Use this tool when:** - The user asks for an overview of the Tipiṭaka (what's in it / which collections). - You need to check coverage before promising a search will find something — `segment_count > 0` is...
Show the structure of all three pitakas with coverage statistics. 💡 **Use this tool when:** - The user asks for an overview of the Tipiṭaka (what's in it / which collections). - You need to check coverage before promising a search will find something — `segment_count > 0` is...
No parameters. Call it with no arguments.
get_referenceBuild a proper citation string for a sutta. 💡 **Use this tool when:** - The user wants a citation for academic work, an article, or a reference. - You need to know the canonical location of a sutta (pitaka / nikāya). - You want a ready-to-use formatted citation string. 🔗 vs...1 params
Build a proper citation string for a sutta. 💡 **Use this tool when:** - The user wants a citation for academic work, an article, or a reference. - You need to know the canonical location of a sutta (pitaka / nikāya). - You want a ready-to-use formatted citation string. 🔗 vs...
sutta_id*stringlist_editionsList the translation editions available, with coverage stats. 💡 **Use this tool when:** - Before calling `compare_translations` or `get_sutta(edition=...)`, so you know which edition values are valid and worth comparing. - The user asks which editions are loaded in the DB. 🔍...
List the translation editions available, with coverage stats. 💡 **Use this tool when:** - Before calling `compare_translations` or `get_sutta(edition=...)`, so you know which edition values are valid and worth comparing. - The user asks which editions are loaded in the DB. 🔍...
No parameters. Call it with no arguments.
compare_translationsCompare every available translation for a single segment. 💡 **Use this tool when:** - The user asks about the meaning/translation of a single Pāli line and wants to see multiple translators side-by-side. - Checking how different translators interpret the same line — technical...1 params
Compare every available translation for a single segment. 💡 **Use this tool when:** - The user asks about the meaning/translation of a single Pāli line and wants to see multiple translators side-by-side. - Checking how different translators interpret the same line — technical...
segment_id*stringget_word_definitionLook up the dictionary meaning of a Pāli word, with sutta context. Serves as a Pāli Dictionary Bridge — pairs the "definition" with the "context where the Buddha actually used the word". 📖 **About the dictionary sources:** This tool draws from multiple primary dictionaries, i...3 params
Look up the dictionary meaning of a Pāli word, with sutta context. Serves as a Pāli Dictionary Bridge — pairs the "definition" with the "context where the Buddha actually used the word". 📖 **About the dictionary sources:** This tool draws from multiple primary dictionaries, i...
languagestringen · thai · th · alldefault: alllimit_contextintegerword*stringverify_quoteVerify, check, or confirm a Buddha quote — does the canon really say it? Fact-check a quotation attributed to the Buddha. Catches fake, misquoted, misattributed and misremembered passages, and finds the true reading. Paste a line that has been quoted or half-remembered — Pāli...2 params
Verify, check, or confirm a Buddha quote — does the canon really say it? Fact-check a quotation attributed to the Buddha. Catches fake, misquoted, misattributed and misremembered passages, and finds the true reading. Paste a line that has been quoted or half-remembered — Pāli...
limitintegertext*stringdefine_from_suttasFind how the **suttas and Vinaya define a Pāli term in their own words**. The canon defines its own terms with fixed formulas — "Katamañca … dukkhaṁ?" (what is X?) … "ayaṁ vuccati … dukkhaṁ" (this is called X), "X adhivacana" (X is a designation for …), or the Vinaya "X nāma"....3 params
Find how the **suttas and Vinaya define a Pāli term in their own words**. The canon defines its own terms with fixed formulas — "Katamañca … dukkhaṁ?" (what is X?) … "ayaṁ vuccati … dukkhaṁ" (this is called X), "X adhivacana" (X is a designation for …), or the Vinaya "X nāma"....
include_similesbooleanlimitintegerterm*stringparse_pali_wordStrip Pāli inflectional suffixes to find the root form (basic stem). 💡 **Use this tool when:** - You find an inflected Pāli word (e.g. `dukkhassa`, `bhikkhūnaṁ`) and `get_word_definition` doesn't find it directly — Pāli inflects nouns across 7 cases × 2 numbers, ~16 forms per...1 params
Strip Pāli inflectional suffixes to find the root form (basic stem). 💡 **Use this tool when:** - You find an inflected Pāli word (e.g. `dukkhassa`, `bhikkhūnaṁ`) and `get_word_definition` doesn't find it directly — Pāli inflects nouns across 7 cases × 2 numbers, ~16 forms per...
word*stringopen_sutta_viewerOpen an interactive sutta viewer inside the chat — Pāli + English, plus an optional third row in the user's own language translated BY YOU. Renders each segment as: Pāli on top (canonical), the bilara-data English below it (verification anchor), and — when you supply `translat...7 params
Open an interactive sutta viewer inside the chat — Pāli + English, plus an optional third row in the user's own language translated BY YOU. Renders each segment as: Pāli on top (canonical), the bilara-data English below it (verification anchor), and — when you supply `translat...
aroundvalueoffsetintegersutta_id*stringtranslation_disclaimervaluetranslation_languagevaluetranslationsvaluewindowintegerSponsors
Readme
Details
- Repository
- github.com/dhamma-seeker/tripitaka-mcp
- Website
- tripitaka-mcp.com
- Category
- Search & Web Crawling
- Transport
- HTTP, SSE
- Registry
- MCP registry, active
- Resources
- 2
- Tools verified
- Nov 6, 2026