fojin — Buddhist Canon Tools
by fojin.app · remote · no sign-in to list tools · v0.4.0 · published by app.fojin
Buddhist canon tools: search, passages, cross-canon parallels, dictionaries — all URN-cited.
8 tools: 2 change things and 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things2Claude Code: ask: see these tools
- Only reads6Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http fojin https://mcp.fojin.ai/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
8 tools
Changes things 2Claude Code: ask
commentariesWhat the historical commentators said about a passage of Buddhist scripture.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it What the historical commentators said about a passage of Buddhist scripture. Give a line of a sūtra and get back the classical commentaries that gloss it — each with the commentator's own words, the work it comes from, a quality tier, and a resolvable citation. This is the layer no other tool exposes for the Chinese canon: CBETA marks up almost none of it, and the alignment behind this was derived text by text. Two things to read carefully rather than skim. `total` is how many commentators the passage actually has — `truncated` says the list you got is a sample. And coverage is partial: roughly half of what a commentator wrote is not aligned, so an absent commentator means "not in the data", never "he said nothing". When nothing matches, `available_sutras` tells you which sūtras have data at all — do not read a miss as silence from the tradition.
verify_quoteVerify that a Buddhist-canon quote exists VERBATIM in the corpus.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Verify that a Buddhist-canon quote exists VERBATIM in the corpus. Call this before presenting any quoted scripture to a reader: LLMs routinely invent plausible-looking quotes. Returns `verbatim` (bool), where it was found (`matches`, each with a resolvable `urn`), or the closest near-miss window when it wasn't. `cite` optionally narrows the search — a CBETA id ("T0374") or fojin URN ("fojin:cbeta/T0374.13") — and `cite_matched` reports honestly whether the quote is where you claimed (a hit in a different fascicle does NOT confirm your citation). Quote must be ≥4 CJK chars after normalisation; Classical Chinese only. Short quotes are answered but say less: a four-character phrase recurs across the canon, so read `cite_matched` rather than `verbatim`, and check `matches_capped` before treating the list as complete. Each match carries an absolute `reader_url` — cite that, not a reconstructed third-party link.
Only reads 6Claude Code: allow
get_parallelsCross-canon parallel passages aligned to a fascicle.No findings
Why it is in this group
- The name "get_parallels" says "get": a word for reading.
Description, as the server wrote it Cross-canon parallel passages aligned to a fascicle. fojin's alignment moat: given a Chinese fascicle, returns the aligned Pali/Tibetan/Sanskrit parallels so you can compare how a passage is rendered across traditions. A fascicle returns parallels for the *whole* juan — often hundreds. To narrow them to one passage, match the passage against `source_chunks[].text` and keep the parallels whose `aligns_source_chunk` equals that chunk_index. `urn` is filled for parallels that are fojin works; rows with `source="mitra-parallel"` are inline Skt/Tib sentences with no fojin work to cite, so they carry `original_preview` instead and stay `urn: null`.
lookup_dictionaryLook up a Buddhist term across fojin's dictionaries (748K+ entries).No findings
Why it is in this group
- The name "lookup_dictionary" says "lookup": a word for reading.
Description, as the server wrote it Look up a Buddhist term across fojin's dictionaries (748K+ entries).
lookup_entitySearch fojin's knowledge graph for entities — people, places, works, doctrinal terms — matching `query`.No findings
Why it is in this group
- The name "lookup_entity" says "lookup": a word for reading.
Description, as the server wrote it Search fojin's knowledge graph for entities — people, places, works, doctrinal terms — matching `query`.
read_passageRead the full content of one fascicle (卷) of a text, with its `urn`.No findings
Why it is in this group
- The name "read_passage" says "read": a word for reading.
Description, as the server wrote it Read the full content of one fascicle (卷) of a text, with its `urn`. Use the `text_id`/`juan_num` from a search_corpus hit. Returns the actual canonical text — quote from this, not from memory.
resolve_urnResolve a fojin URN (e.g.No findings
Why it is in this group
- The name "resolve_urn" says "resolve": a word for reading.
Description, as the server wrote it Resolve a fojin URN (e.g. fojin:cbeta/T0001.1) to a reader URL and confirm it exists in the corpus. Use to verify or dereference a citation.
search_corpusSemantic search across fojin's Buddhist corpus (10K+ texts, 30+ langs).No findings
Why it is in this group
- The name "search_corpus" says "search": a word for reading.
Description, as the server wrote it Semantic search across fojin's Buddhist corpus (10K+ texts, 30+ langs). Returns the most relevant passages, each with a `urn`, title, snippet and similarity score. `lang` optionally filters by language code (lzh=Classical Chinese, pi=Pali, sa=Sanskrit, bo=Tibetan, en=English).
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.4.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http fojin https://mcp.fojin.ai/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__fojin__search_corpus",
"mcp__fojin__read_passage",
"mcp__fojin__get_parallels",
"mcp__fojin__lookup_dictionary",
"mcp__fojin__lookup_entity",
"mcp__fojin__resolve_urn"
],
"ask": [
"mcp__fojin__verify_quote",
"mcp__fojin__commentaries"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as fojin. Review it before you use it.