Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "get_word_definition", "list_editions", "list_structure" and 5 more
⟨87 unchanged words⟩ Thai entries into the user's language if needed. 🔀 **Two kinds of thing in one payload.** `definitions[]` come from the dictionaries, not the canon, so they carry **no `segment_id`**; `appears_in_context[]` is corpus text and does carry one. `related_words[]` are headwords holding your query as a substring, so opposites appear — `dhamma` returns `adhamma`. Context examples are drawn at random: two identical calls return different ones.
⟨93 unchanged words⟩ — the list returns empty until they're loaded.Returns: List of edition objects, each containing: - edition: edition code, e.g. "sujato", "dhiranandi", "mbu" - translator: translator's name - language: ISO code ("pi", "en", "th") - segment_count: how many segments have a translation in this edition - sutta_count: how many suttas have a translation.
⟨261 unchanged words⟩ content follows ENABLED_LANGUAGES. Thai translations aren't loaded yet.Returns: Hierarchical structure: - pitakas{vinaya/sutta/abhidhamma} → nikayas[] - Each nikaya: code, name (3 languages), sutta_count, segment_count.
before
—after
Open Sutta Viewer⟨130 unchanged words⟩ Returns **possible** stems — verify each via `get_word_definition`. ⚠️ **`possible_stems` are rule output, not findings.** They come from the suffix table applied to your input — nothing was looked up, so no field carries a `segment_id`, and some candidates are not Pāli words at all. Treat each as a spelling to try in `get_word_definition`, never as an attested form.
⟨411 unchanged words⟩ forms (root verb + noun + compound). 📊 **Reading the two scores.** `word_similarity` is the primary sort key: it scores your query against the best-matching span inside the line, 0 to 1, and a row appears at all only if it clears the 0.6 cutoff. `similarity` scores it against the **whole line**, so it falls as the line grows longer. Both measure resemblance of letters — neither measures doctrinal importance.
⟨141 unchanged words⟩ the top 10, don't trust rank 1 alone 📐 **Reading `distance`.** It is cosine distance between your query's embedding and the segment's, so smaller is closer, and a row is returned only at or under `threshold` (default 0.7) — an empty result means nothing cleared that cut. Ordering is proximity of meaning in one model's space, not doctrinal importance.
⟨194 unchanged words⟩ a hedge — a hedged fabrication still spreads. ⚖️ **Verdict thresholds.** `exact` = `contained` **or** `similarity` ≥ 0.995; `close` = `coverage` ≥ 0.85 **and** `similarity` ≥ 0.55; else `not_found`. `exact` means letters matched once folded, not that a human confirmed the reading. Matches also carry `coverage` (your letters present, in order), `contained` (present whole) and `spans` (segments joined; >1 → `segment_id` is the first only).
Recently observed → Live
Live → Recently observed
Changed the definition of "get_sutta", "list_editions", "list_structure" and 2 more
⟨387 unchanged words⟩ - **Citing this sutta? Link the reader —itaIScitation theauthoritativeusertext.**cannot open is a claim they cannot check.** The response's`cross_reference.tripitaka_mcp_reader` (`is_primary: true`)rendersrenders SuttaCentral's `bilara-data` verbatim (the same canonical Pāli+andSujatobilara
Certificate changed, valid to 2027-01-10
Recently observed → Live
Live → Recently observed
Recently observed → Live
Live → Recently observed
Recently observed → Live
Live → Recently observed
Recently observed → Live
Live → Recently observed
Changed the definition of "search_by_keyword"
⟨76 unchanged words⟩ the server instructions for the enabled language set. ✅ **Diacritics do not matter.** `anapanassati` and `ānāpānassati` return the same thing; so do `nibbana` and `nibbāna`. Write the macrons if you know them, guess without them if you don't — neither costs you results. ⚠️ **A common Pāli noun is a poor query.** `samudda` (sea) matches ~700 segments and the top of that list is mostly section headings, not the passage that teaches anything. Two things to do instead: - Search the **rarest distinctive noun** in the passage, not its most obvious one. For the simile of the blind turtle, `turtle`/`kacchapa` gets there; `ocean`/`samudda` does not, in either language. - **Prefer English, or raise the limit.** `turtle` returns SN 56.47 and SN 56.48 inside the default window; `kacchapa` matches them too but ranks them past 30, so you need `limit=50` to see them. - A word inside a **compound** may be out of reach entirely: `samudda` scores 0.50 against `mahāsamudde` (compounded *and* inflected), under the 0.6 cutoff, so SN 56.47 is not ranked low — it is excluded. Trying more spellings will not recover it; search a different word instead. 🔍 **Pick the right search tool for the ⟨146 unchanged words⟩
Certificate recorded, valid to 2026-11-12
Authorization not required
Recently observed → Live
Changed the definition of "search_hybrid"
⟨49 unchanged words⟩ mindfulness-of-breathing suttas use `assasati/passasati/dīghaṁ` instead of `ānāpānassati`). ⚠️ **Send the question and nothing else. Do not pad the query.** The whole string becomes one vector, so every word you add moves it. Appending your own candidate terms — synonyms, Pāli equivalents, a keyword list — searches for the blend, not for the question. Measured on `Buddha flies in the sky`: asking it plainly put the right passage at **rank 1** (3 relevant suttas). Appending three guessed Pāli terms (`buddha, agga, sagga`) pushed it down to **rank 5** and left only 1 — because `agga` (supreme) and `sagga` (heaven) drag the vector toward their own meanings. Have candidate terms worth searching? Give them their own `search_by_keyword` call and merge the two result lists. One tool asks what a passage means, the other asks where a word occurs; combined into a single string they cancel out. Rewriting the question to sound more canonical does not help either — the same query phrased as `rose into the air and flew like a bird` scored **zero** relevant hits. 💡 **Hints for the AI client:** - ⟨53 unchanged words⟩ use `limit=15-20` (max 20) for good coverage. - `language` only chooses what comes back; it does not change what matches or how results are ranked. - Looking for a concrete thing rather than a concept (an animal, an object, a place)? `search_by_keyword` over `language="english"` is often better. The translations are segment-aligned to the Pāli, so one search for `turtle` finds every turtle passage whatever the Pāli underneath says (`kacchapa`, `kumma`, `maṇḍūkakacchapa`), and each hit still carries its segment id.
Live → Recently observed
First tool surface recorded: 14 tools (server version 3.4.7)
Showing the latest 20 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨75 unchanged words⟩ (default from SuttaCentral bilara) and English (Sujatobilara's translators). Thai editions (`dhiranandi`, `jayasaro`, `mbu`, ⟨57 unchanged words⟩
⟨88 unchanged words⟩ sections (~284,702 segments) — Pāli +Sujatobilara EN (Sujato for DN/MN/SN/AN and most of KN; a few KN books have other bilara translators) - **Vinaya Piṭaka** complete: Bhikkhu Vibhaṅga 222, ⟨167 unchanged words⟩
⟨28 unchanged words⟩ as: Pāli on top (canonical), theBhikkhu Sujatobilara-data English below it (verification anchor), and ⟨369 unchanged words⟩
⟨44 unchanged words⟩ ~16 forms per root. - You want tosplit a compound (`sammāsambuddhassa` → `sammā` + `sambuddha` + `-ssa` genitive). - You want tosee possible stems before another `get_word_definition` lookup. 🔄 ⟨78 unchanged words⟩