{"name":"app.fojin/fojin-mcp","slug":"fojin-mcp","title":"fojin — Buddhist Canon Tools","description":"Buddhist canon tools: search, passages, cross-canon parallels, dictionaries — all URN-cited.","url":"https://mcp.market/server/fojin-mcp","rating":null,"grade":"A","score":89,"certified":false,"status":"active","category":"search","tags":["search"],"presence":{"score":47,"stars":345,"forks":63,"downloads_week":null,"last_push_at":"2026-09-23T12:18:22.000Z","license":"Apache-2.0"},"uptime":{"percent":100,"checks":22,"ok":22,"last_checked_at":"2026-09-24T17:36:00.039Z","last_ok_at":"2026-09-24T17:36:00.039Z","latency_ms":369},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/xr843/fojin","website":"https://fojin.app","version":"0.4.0","remotes":[{"type":"streamable-http","url":"https://mcp.fojin.ai/mcp"}],"packages":[],"tools":[{"name":"commentaries","description":"What the historical commentators said about a passage of Buddhist scripture.\n\n    Give a line of a sūtra and get back the classical commentaries that gloss\n    it — each with the commentator's own words, the work it comes from, a\n    quality tier, and a resolvable citation. This is the layer no other tool\n    exposes for the Chinese canon: CBETA marks up almost none of it, and the\n    alignment behind this was derived text by text.\n\n    Two things to read carefully rather than skim. `total` is how many\n    commentators the passage actually has — `truncated` says the list you got\n    is a sample. And coverage is partial: roughly half of what a commentator\n    wrote is not aligned, so an absent commentator means \"not in the data\",\n    never \"he said nothing\". When nothing matches, `available_sutras` tells\n    you which sūtras have data at all — do not read a miss as silence from the\n    tradition.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"quote":{"title":"Quote","type":"string"},"limit":{"default":8,"title":"Limit","type":"integer"}},"required":["quote"],"title":"commentariesArguments"}},{"name":"get_parallels","description":"Cross-canon parallel passages aligned to a fascicle.\n\n    fojin's alignment moat: given a Chinese fascicle, returns the aligned\n    Pali/Tibetan/Sanskrit parallels so you can compare how a passage is\n    rendered across traditions.\n\n    A fascicle returns parallels for the *whole* juan — often hundreds. To\n    narrow them to one passage, match the passage against `source_chunks[].text`\n    and keep the parallels whose `aligns_source_chunk` equals that chunk_index.\n\n    `urn` is filled for parallels that are fojin works; rows with\n    `source=\"mitra-parallel\"` are inline Skt/Tib sentences with no fojin work to\n    cite, so they carry `original_preview` instead and stay `urn: null`.\n    ","write_action":false,"price_micros":0,"input_schema":{"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"}},{"name":"lookup_dictionary","description":"Look up a Buddhist term across fojin's dictionaries (748K+ entries).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"term":{"title":"Term","type":"string"},"limit":{"default":10,"title":"Limit","type":"integer"}},"required":["term"],"title":"lookup_dictionaryArguments"}},{"name":"lookup_entity","description":"Search fojin's knowledge graph for entities — people, places, works,\n    doctrinal terms — matching `query`.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"title":"Query","type":"string"},"limit":{"default":10,"title":"Limit","type":"integer"}},"required":["query"],"title":"lookup_entityArguments"}},{"name":"read_passage","description":"Read the full content of one fascicle (卷) of a text, with its `urn`.\n\n    Use the `text_id`/`juan_num` from a search_corpus hit. Returns the actual\n    canonical text — quote from this, not from memory.\n    ","write_action":false,"price_micros":0,"input_schema":{"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"}},{"name":"resolve_urn","description":"Resolve a fojin URN (e.g. fojin:cbeta/T0001.1) to a reader URL and confirm\n    it exists in the corpus. Use to verify or dereference a citation.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"urn":{"title":"Urn","type":"string"}},"required":["urn"],"title":"resolve_urnArguments"}},{"name":"search_corpus","description":"Semantic search across fojin's Buddhist corpus (10K+ texts, 30+ langs).\n\n    Returns the most relevant passages, each with a `urn`, title, snippet and\n    similarity score. `lang` optionally filters by language code\n    (lzh=Classical Chinese, pi=Pali, sa=Sanskrit, bo=Tibetan, en=English).\n    ","write_action":false,"price_micros":0,"input_schema":{"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"}},{"name":"verify_quote","description":"Verify that a Buddhist-canon quote exists VERBATIM in the corpus.\n\n    Call this before presenting any quoted scripture to a reader: LLMs\n    routinely invent plausible-looking quotes. Returns `verbatim` (bool),\n    where it was found (`matches`, each with a resolvable `urn`), or the\n    closest near-miss window when it wasn't. `cite` optionally narrows the\n    search — a CBETA id (\"T0374\") or fojin URN (\"fojin:cbeta/T0374.13\") —\n    and `cite_matched` reports honestly whether the quote is where you\n    claimed (a hit in a different fascicle does NOT confirm your citation).\n    Quote must be ≥4 CJK chars after normalisation; Classical Chinese only.\n    Short quotes are answered but say less: a four-character phrase recurs\n    across the canon, so read `cite_matched` rather than `verbatim`, and check\n    `matches_capped` before treating the list as complete. Each match carries\n    an absolute `reader_url` — cite that, not a reconstructed third-party link.\n    ","write_action":false,"price_micros":0,"input_schema":{"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"}}],"scan":{"score":89,"grade":"A","scanned_at":"2026-09-23T21:39:44.357Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-23T21:39:44.273Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1729ms"]},"poisoning":{"score":15,"max":15,"notes":["8 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":7,"max":10,"notes":["namespace and repository owner differ","GitHub account older than a year","website matches verified namespace"]}},"findings":[],"inputs":{"probes":[{"url":"https://mcp.fojin.ai/mcp","reachable":true,"authRequired":false,"latencyMs":1729,"serverInfo":{"name":"fojin","version":"0.4.0"}}],"packages":[],"repo":{"found":true,"owner":"xr843","repo":"fojin","archived":false,"pushedAt":"2026-09-23T12:18:22Z","stars":345,"forks":63,"openIssues":21,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/137012659?v=4","ownerCreatedAt":"2023-06-18T23:54:47Z","license":"Apache-2.0"},"icon":{"url":"https://fojin.app/favicon.svg","source":"site"},"presence":{"stars":345,"forks":63,"downloadsWeek":null,"license":"Apache-2.0","lastPushAt":"2026-09-23T12:18:22.000Z","score":47}}}},"grade_history":[],"reviews":[]}