Tripitaka MCP
MCP server for the full Pāli Tipiṭaka — ~444,000 segments at parity with SuttaCentral (Sutta + Vinaya + Abhidhamma). Hybrid search, full-sutta fetch with cross-references, segment-aligned translation comparison, and Pāli word lookup. Offered as Dhamma Dāna.
https://tripitaka-mcp--dhamma-seeker.run.tools
How to connect
-
Smithery (hosted)
1. Open https://smithery.ai/servers/dhamma-seeker/tripitaka-mcp 2. Click Connect and complete OAuth in your MCP client (Claude, Cursor, VS Code, etc.) 3. MCP endpoint: https://tripitaka-mcp--dhamma-seeker.run.tools
Tools (10)
-
search_by_keywordค้นหาข้อความในพระไตรปิฎกด้วย keyword ค้นหาแบบ trigram (word similarity) บนภาษาที่เปิดใช้งานในเซิร์ฟเวอร์. สามารถกรองผลลัพธ์ตามปิฎกและฉบับแปลได้. 💡 **คำแนะนำสำหรับ AI client:** Canonical reference ของระบบคือบาลีโรมัน (จาก SuttaCentral). ถ้า user ถามเป็นภาษาที่ปิด (หรือไม่อยู่ใน supported set) ให้แปล keyword เป็น บาลีโรมัน (preferred) หรืออังกฤษก่อนเรียก tool นี้ — เช่น "ทุกข์" → "dukkha", "อานาปานสติ" → "ānāpānassati". ดูภาษาที่ใช้ได้ใน server instructions ด้านบน. 🔍 **เลือก tool ค้นหาให้เหมา
-
get_suttaดึงเนื้อหาสูตร/กัณฑ์ตาม ID — return เนื้อหาเต็มทุก segment ใช้รหัสมาตรฐาน SuttaCentral เช่น: - `mn1` = มัชฌิมนิกาย สูตรที่ 1 (Mūlapariyāyasutta — มูลปริยายสูตร, 334 segments) - `dn22` = ทีฆนิกาย สูตรที่ 22 (Mahāsatipaṭṭhānasutta — มหาสติปัฏฐาน, 454 segments) - `dn16` = ทีฆนิกาย สูตรที่ 16 (Mahāparinibbānasutta — สูตรยาวที่สุด 1,664 segments) - `sn56.11` = สังยุตต์ 56.11 (Dhammacakkappavattana — ธัมมจักกัปปวัตตนะ) - `mn62` = มัชฌิมนิกาย 62 (Mahārāhulovāda — สอนพระราหุล) - `dhp1-20` = Dhammapada
-
search_semanticค้นหาแบบ semantic — ค้นหาตามความหมาย ไม่จำเป็นต้องตรงคำ ใช้ vector similarity search (cosine distance) บน `text_pali` ที่ embed ด้วย multilingual MiniLM model. 🤔 **ส่วนใหญ่คุณควรใช้ `search_hybrid` แทน** — มันรวม semantic นี้กับ keyword search แล้ว ranking ดีกว่า. ใช้ tool นี้เฉพาะเมื่อ: - ต้องการ pure semantic (ไม่ต้องการ keyword influence) - อยาก tune `threshold` ละเอียด (hybrid ใช้ RRF ปรับยาก) - debug ดูว่า semantic จับอะไรได้บ้างเทียบกับ keyword ⚠️ ข้อจำกัดที่ทราบ: - Index = บาลีเท่านั้
-
search_hybridค้นหาแบบผสมผสาน (Hybrid Search) — รวมพลัง Keyword + Semantic ใช้เทคนิค RRF (Reciprocal Rank Fusion) เพื่อนำผลลัพธ์จาก การค้นหาคำตรงๆ มารวมกับผลลัพธ์จากการค้นหาความหมาย — **เป็น tool ที่แนะนำสำหรับ "หาเนื้อหาเรื่อง X"** เพราะ semantic ช่วย จับสูตรที่พูดถึง concept เดียวกันแม้ใช้คำต่างกัน (เช่น คำสอน อานาปานสติบางสูตรใช้ `assasati/passasati/dīghaṁ` แทน `ānāpānassati`). 💡 **คำแนะนำสำหรับ AI client:** - Query ภาษาอังกฤษมักได้ผลดี (เช่น `mindfulness of breathing`) เพราะ embedding model เป็น mult
-
list_structureแสดงโครงสร้างพระไตรปิฎกทั้ง 3 ปิฎก พร้อมสถิติ coverage 💡 **ใช้ tool นี้เมื่อ:** - User ถามภาพรวมพระไตรปิฎก (มีอะไรบ้าง / นิกายอะไร) - ตรวจ coverage ก่อนสัญญาว่าจะค้นได้ — ดู segment_count > 0 เป็นตัว ตัดสินว่า sub-collection นั้นโหลดแล้ว - Verify scope สำหรับการ compile artifact 📊 **State ปัจจุบัน v1.1+ (เทียบเท่า SuttaCentral bilara-data):** - **Sutta Piṭaka** ครบ: DN 37, MN 155, SN 1,829, AN 1,419, KN 2,351 sections (~284,702 segments รวม) — Pāli + Sujato EN - **Vinaya Piṭaka** ครบ: Bh
-
get_referenceสร้างข้อมูลอ้างอิง (citation) ที่ถูกต้องสำหรับสูตร 💡 **ใช้ tool นี้เมื่อ:** - User ขอ citation สำหรับงานวิชาการ/บทความ/อ้างอิง - ต้องการรู้ตำแหน่งในพระไตรปิฎก (ปิฎก/นิกาย) ของสูตร - ต้องการ formatted citation string พร้อมใช้ 🔗 vs `get_sutta`: tool นี้ return เฉพาะ metadata + citation ไม่มี segments; ใช้คู่กับ `get_sutta` เมื่ออยากได้ทั้งเนื้อหา + citation
-
list_editionsแสดงรายการฉบับแปลที่มีในระบบ พร้อมสถิติ coverage 💡 **ใช้ tool นี้เมื่อ:** - ก่อนเรียก `compare_translations` หรือ `get_sutta(edition=...)` — เพื่อรู้ว่าใช้ค่า edition อะไรได้บ้างและฉบับไหนคุ้มเทียบ - User ถามว่ามีฉบับแปลใดบ้างใน DB 🔍 **กรอง:** Tool นี้ filter ตาม `TRIPITAKA_ENABLED_LANGUAGES` ของเซิร์ฟเวอร์ — Thai disabled → return empty list. ทำงานเฉพาะภาษาที่เปิดอยู่ ⚠️ **State ปัจจุบัน:** DB ส่วนใหญ่มีแต่ Pāli (default จาก SuttaCentral bilara) + English (Sujato). Thai editions (`dhiran
-
compare_translationsเปรียบเทียบคำแปลทุกฉบับที่มีสำหรับ segment เดียวกัน 💡 **ใช้ tool นี้เมื่อ:** - User ถามความหมาย/การแปลของบรรทัดเดียวจากบาลี ที่อยากเทียบหลายผู้แปล - ตรวจสอบว่าผู้แปลแต่ละคนตีความต่างกันยังไง (เช่น คำเทคนิค `dukkha`, `anattā`, `nibbāna` มี nuance ในการแปลต่างกัน) - งานวิชาการที่ต้อง quote multiple translations 🔍 **vs `get_sutta`:** tool นี้ targets **1 segment** (line-level), ส่วน `get_sutta` targets **ทั้งสูตร**. ถ้าอยากเทียบทั้งสูตร ต้องเรียก `compare_translations` หลาย segment 📋 **Form
-
get_word_definitionดึงความหมายพจนานุกรมของคําศัพท์บาลี พร้อมด้วยตัวอย่างประโยคบริบทในพระสูตร ใช้เป็น Pali Dictionary Bridge เพื่อทำความเข้าใจความหมายแท้จริงของคำ โดยนำเสนอ "นิยาม" ควบคู่กับ "บริบทที่พระพุทธองค์ทรงใช้จริง" 📖 **เกี่ยวกับฐานข้อมูลพจนานุกรม:** Tool นี้ใช้พจนานุกรมต้นฉบับหลายเล่ม รวมถึง "พจนานุกรมพุทธศาสน์ ฉบับ ประมวลศัพท์" ของสมเด็จพระพุทธโฆษาจารย์ (ป. อ. ปยุตฺโต) ที่เป็นภาษาไทย — เนื้อหาเหล่านี้เป็น **ผลงานต้นฉบับวิชาการที่สมบูรณ์อยู่แล้ว** (ไม่ใช่ คำแปล) จึง **เปิดให้ใช้ได้เสมอ** แม้ ENABLED_LANG
-
parse_pali_wordวิเคราะห์คำบาลีเพื่อหารากศัพท์ (Stemming / Lemmatization เบื้องต้น) 💡 **ใช้ tool นี้เมื่อ:** - เจอคำบาลีในข้อความ (เช่น `dukkhassa`, `bhikkhūnaṁ`) แล้ว `get_word_definition` หาไม่เจอ — Pāli inflect คำตามวิภัตติ ๘ × วจน ๒ = ๑๖ form ต่อราก - ต้องการแยก compound word (`sammāsambuddhassa` → `sammā` + `sambuddha` + `-ssa` genitive) - ดู possible stems ก่อนค้นต่อใน `get_word_definition` 🔄 **Workflow แนะนำ:** `parse_pali_word(inflected_form)` → ได้ `possible_stems[]` → เรียก `get_word_definit