← Registry

Learning Resources

dhamma.gift

An MCP server for searching and retrieving Pali Canon texts, comparing translations, and exploring the canon's structure as a learning resource.

1 endpoint4 known toolsFirst detected October 17, 2026Last detected October 17, 2026

ENDPOINT 1

https://api.dhamma.gift/mcp

No auth detected

MCP server metadata

Name
dg-node
Version
1.2.0
Capabilities
tools.listChanged
Server instructions

Dhamma.gift: the Pali Canon (Sutta, Vinaya, Abhidhamma) with Pali root text and translations (25 languages, including Russian and English). - search is a literal substring/keyword search (min 3 letters, diacritics ignored: "kacchap" finds mahakacchapa, "tanha" finds taṇhā). It does NOT understand meaning: for a topic ("turtle") try the Pali word(s) and translation words yourself (kacchapa, kummo; turtle, tortoise; черепаха) and merge the results. The answer is a CENSUS of every matching sutta, ordered so that suttas that DEFINE the term come first, then ones named after it, then by how often it occurs — read the top of the list first: a definition tells you what the term means, which a list of similarly-named suttas does not. - THE WAY TO FIND WHERE THE CANON DEFINES A TERM is to search the formula itself as a REGEX (the engine supports patterns). Three patterns cover the whole apparatus, and they are the sharpest tool here — sharper than reading a census: "kata.*<term>" -> "Katamañca, bhikkhave, <term>? …" the definition question. e.g. kata.*dukkha finds dn22:18.1 "Katamañca, bhikkhave, dukkhaṁ ariyasaccaṁ?" "vucc.*<term>" -> "… idaṁ vuccati, bhikkhave, <term>" the closing line. e.g. vucc.*dukkha finds dn22:18.20 "idaṁ vuccati, bhikkhave, dukkhaṁ." "katha.*<term>" -> "Kathañca, bhikkhave, … <term> … hoti?" the exposition question, answered right after. e.g. katha.*dukkha finds mn48:8.1 A pattern matches within ONE segment, so a definition split across segments may show under only one of the three — run all three and merge. Pass scope: "all" to search Vinaya and Abhidhamma too: the Abhidhamma (vb13, paṭisambhidāmagga) defines terms the suttas only describe (mettā is defined as "Tattha katamā mettā?" in vb13, while the suttas describe it by practice). - The answer is Pali only by default. That is deliberate for research: the translations of this corpus are renderings of the same root text, so they are evidence to be examined, not a neutral convenience. Add include_translations + langs (["ru","en"]) when you need to quote a translation, and always name the translator. - The census is capped at 40 suttas by default, strictly: 40 means 40, nothing is pushed in past the cap. Those 40 are COMPOSED, not just the top of the ranking: 25 are the suttas that mention the term most, and 15 are reserved for the most useful kinds of match — 10 named after the term plus 5 that define or explain it, or 15 named when nothing does. That is why a term matching 1498 suttas still surfaces its definitions. metadata.totalFiles is the TRUE number that matched, so never read the 40 as the whole answer. Pass limit as a number for more rows, or limit: "all" for every match. Ordering is by collection first (dhamma, then khuddaka, then vinaya, then abhidhamma), so when the four nikayas already fill the cap, later collections are deliberately not shown. - Reading the census: "matches" is how many TIMES the query occurs in that sutta's Pali root text (the number the ordering uses, so the order can be checked against it — it is not the count of matched segments); "metaphors" is how many metaphors the old site counted in the text. A short sutta carrying several metaphors is a descriptive, figurative one — judge that yourself from the id and title. "metaphors" is 0 for 91% of the corpus, so 0 means "never counted", not "none". - Sujato (en_sujato) is never included unless you name him in translators. Everything else follows the project's translator priority. - get_text reads a sutta (Pali only unless you pass langs); include_segments in search gives the matched Pali lines; compare_translations shows one segment in all translations; list_structure tells which texts exist. - Sutta ids are SuttaCentral-style: dn22, mn1, sn56.11, an4.41, snp1.1, dhp1-20. Read the census, then pull the text for the suttas you actually need — do not try to read the whole canon in one call.

Known tools 4

search

Search the Pali Canon on dhamma.

Inferred read-only
get_text

Fetch a sutta by id (e.

Inferred read-only
compare_translations

One segment of the canon in the Pali root and every available translation side by side.

Inferred read-only
list_structure

What texts exist.

Inferred read-only

CONNECT WITH APPROVAL

Client installation

Review this server and its permissions before adding it. Secret placeholders must be set locally.

Codex

~/.codex/config.toml

[mcp_servers.dg-node]
url = "https://api.dhamma.gift/mcp"
enabled = true
Claude Code

.mcp.json

{
  "mcpServers": {
    "dg-node": {
      "type": "http",
      "url": "https://api.dhamma.gift/mcp"
    }
  }
}
Claude Desktop

Settings → Connectors → Add custom connector

Name: dg-node
Remote MCP URL: https://api.dhamma.gift/mcp

Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "dg-node": {
      "url": "https://api.dhamma.gift/mcp"
    }
  }
}
Visual Studio Code

.vscode/mcp.json

Add to Visual Studio Code
{
  "servers": {
    "dg-node": {
      "type": "http",
      "url": "https://api.dhamma.gift/mcp"
    }
  }
}
Generic MCP

Client-specific MCP configuration

{
  "name": "dg-node",
  "transport": "streamable-http",
  "url": "https://api.dhamma.gift/mcp"
}
MCP Inspector

Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.

TRUST AND VERIFICATION EVIDENCE

Loading Trust v2 evidence…

Checking the associated registrable domain. The BuiltWith key remains server-side.

Indexed

Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.