Dhamma.Gift — Pāli Canon
Search and read the Pāli Canon: Pāli root texts with Russian and English translations.
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"pali-canon": {
"url": "https://api.dhamma.gift/mcp"
}
}
}遠端端點
https://api.dhamma.gift/mcpstreamable-http它能做什麼
工具清單
工具(4)
🟡search(query, scope, exact, langs, translators, ...)
Search the Pali Canon on dhamma.gift by keyword/substring or REGEX (min 3 letters, no semantic search). Patterns like "kata.*dukkha", "vucc.*dukkha", "katha.*dukkha" find the canon's own definitions and expositions of a term. Returns a CENSUS of every matching sutta — id, title, match count, metaphor count, reader link — Pali only, ordered so that suttas that DEFINE the term come first, then ones NAMED after it, then by how often it occurs. Set include_segments for the matched Pali lines, include_translations (+ langs) for translations. 40 suttas by default (25 by occurrence count, plus 15 for suttas named after the term and ones defining it); metadata.totalFiles reports the true count, and limit takes a number or "all".
輸入結構描述
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Keyword, phrase, or REGEX pattern to search for (Pali or a translation word). Patterns work and are the way to find definitions: \"kata.*dukkha\" (Katamañca … dukkhaṁ?), \"vucc.*dukkha\" (idaṁ vuccati dukkhaṁ), \"katha.*dukkha\" (Kathañca … hoti?)."
},
"scope": {
"description": "default|all|dhamma|vinaya|abhi|khudakka|or comma-separated nikaya codes (dn,mn,...). Default: default (4 nikayas + 6 KN books).",
"type": "string"
},
"exact": {
"description": "Whole-word match only. Default: false.",
"type": "boolean"
},
"langs": {
"description": "Translation languages to include with include_translations, e.g. [\"ru\",\"en\"]. Default: none (Pali only).",
"type": "array",
"items": {
"type": "string"
}
},
"translators": {
"description": "Explicit translator keys, e.g. [\"en_sujato\"] to include Sujato, or [\"ru_sv\"]. Needed only to override the default translator choice.",
"type": "array",
"items": {
"type": "string"
}
},
"include_segments": {
"description": "Also return the matched Pali segments (segment id, text, reader link). Default: false — the census alone.",
"type": "boolean"
},
"include_translations": {
"description": "Also return translations of the matched segments (implies include_segments). Default: false.",
"type": "boolean"
},
"limit": {
"description": "How many suttas to list: a number, or \"all\" for every match. Default: 40, composed of 25 by occurrence count plus 15 for suttas named after the term and defining it. Strict — the cap means the cap. metadata.totalFiles always carries the true match count, so a truncated answer still tells you how much more there is. Suttas whose TITLE matches the query rank first within their collection.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
{
"type": "string",
"const": "all"
}
]
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_text(suttaId, langs, translators)
Fetch a sutta by id (e.g. "dn22", "mn1", "sn56.11") — the Pali root text of every segment. Pali only by default; pass langs for translations, translators to name a translator (e.g. ["en_sujato"]). Same data as dhamma.gift/api/text.
輸入結構描述
{
"type": "object",
"properties": {
"suttaId": {
"type": "string",
"description": "SuttaCentral-style id, e.g. dn22, mn1, sn56.11."
},
"langs": {
"description": "Translation languages to include, e.g. [\"ru\",\"en\"]. Default: none (Pali only).",
"type": "array",
"items": {
"type": "string"
}
},
"translators": {
"description": "Explicit translator keys, e.g. [\"en_sujato\"] to include Sujato.",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"suttaId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪compare_translations(segmentId, langs, translators)
One segment of the canon in the Pali root and every available translation side by side. Use a segment id from search/get_text, e.g. "mn129:21.3". Sujato (en_sujato) is excluded unless named in translators.
輸入結構描述
{
"type": "object",
"properties": {
"segmentId": {
"type": "string",
"description": "Segment id as returned by search, e.g. mn129:21.3 or dn22:1.1."
},
"langs": {
"description": "Limit to these languages, e.g. [\"ru\",\"en\"]. Default: all.",
"type": "array",
"items": {
"type": "string"
}
},
"translators": {
"description": "Explicit translator keys, e.g. [\"en_sujato\"] to include Sujato.",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"segmentId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_structure(prefix)
What texts exist. Without arguments: collections (sutta/vinaya/abhidhamma/khuddaka), books by id prefix with sutta counts, and translation languages with translators. With prefix (e.g. "mn", "sn56", "an4"): the suttas under it with titles.
輸入結構描述
{
"type": "object",
"properties": {
"prefix": {
"description": "Sutta id prefix such as mn, sn56, an4, dhp. Max 200 suttas are listed.",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}社群
證據