fojin — Buddhist Canon Tools
Buddhist canon tools: search, passages, cross-canon parallels, dictionaries — all URN-cited.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen lookup_dictionary
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"fojin-mcp": {
"url": "https://mcp.fojin.ai/mcp"
}
}
}Puntos de conexión remotos
https://mcp.fojin.ai/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (8)
🟢search_corpus(query, limit, lang)
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).
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"title": "Query",
"type": "string"
},
"limit": {
"default": 10,
"title": "Limit",
"type": "integer"
},
"lang": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Lang"
}
},
"required": [
"query"
],
"title": "search_corpusArguments"
}🟢read_passage(text_id, juan_num)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"text_id": {
"title": "Text Id",
"type": "integer"
},
"juan_num": {
"title": "Juan Num",
"type": "integer"
}
},
"required": [
"text_id",
"juan_num"
],
"title": "read_passageArguments"
}🟢get_parallels(text_id, juan_num)
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`.
Esquema de entrada
{
"type": "object",
"properties": {
"text_id": {
"title": "Text Id",
"type": "integer"
},
"juan_num": {
"title": "Juan Num",
"type": "integer"
}
},
"required": [
"text_id",
"juan_num"
],
"title": "get_parallelsArguments"
}⚪lookup_dictionary(term, limit)
Look up a Buddhist term across fojin's dictionaries (748K+ entries).
Esquema de entrada
{
"type": "object",
"properties": {
"term": {
"title": "Term",
"type": "string"
},
"limit": {
"default": 10,
"title": "Limit",
"type": "integer"
}
},
"required": [
"term"
],
"title": "lookup_dictionaryArguments"
}🟢lookup_entity(query, limit)
Search fojin's knowledge graph for entities — people, places, works, doctrinal terms — matching `query`.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"title": "Query",
"type": "string"
},
"limit": {
"default": 10,
"title": "Limit",
"type": "integer"
}
},
"required": [
"query"
],
"title": "lookup_entityArguments"
}⚪resolve_urn(urn)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"urn": {
"title": "Urn",
"type": "string"
}
},
"required": [
"urn"
],
"title": "resolve_urnArguments"
}🟢verify_quote(quote, cite, juan)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"quote": {
"title": "Quote",
"type": "string"
},
"cite": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cite"
},
"juan": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Juan"
}
},
"required": [
"quote"
],
"title": "verify_quoteArguments"
}🟢commentaries(quote, limit)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"quote": {
"title": "Quote",
"type": "string"
},
"limit": {
"default": 8,
"title": "Limit",
"type": "integer"
}
},
"required": [
"quote"
],
"title": "commentariesArguments"
}Prompts recomendados
search_corpussearch_corpusread_passageread_passagesearch_corpusread_passageComunidad
Evidencia