get_passage
Get Bible text for a reference like 'John 3:16', 'John 3:16-18', 'Genesis 1', or 'Tobit 4:5' (Apocrypha requires version='WEB'). Versions: BSB, WEB.
versionreference必填
io.github.nirajagarwal由 GitHub 帳號 nirajagarwal 發布v0.15.0更新於 Oct 29, 2026
Bible corpus MCP server: scripture, Greek/Hebrew interlinear data, cross-refs, semantic search.
唯讀的聖經研究伺服器:提供經文、原文詞語研究、交叉引用、人物與概念查詢,以及以內建語料庫為基礎的語意檢索。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/io.github.nirajagarwal%2Fbible-mcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。把它新增到你客戶端的 mcpServers 設定中。
{
"mcpServers": {
"bible": {
"type": "http",
"url": "https://bible-mcp-server.fly.dev/mcp"
}
}
}An MCP server for Christian scholarship and research. Non-commercial, aiming to become a public resource. See corpus-survey.md for the full source/license landscape and ROADMAP.md for direction.
All in one SQLite file (db/bible.db, ~400MB) with FTS5 full-text search. Prose works are addressed as WORK.chapter.paragraph. See DESIGN.md for the architecture rationale.
get_passage(reference, version="BSB") — Bible text for a reference, e.g. John 3:16, John 3:16-18, Genesis 1. Versions: BSB, WEB (Apocrypha requires version="WEB").search(query, version="BSB", book="", limit=20) — Full-text search, stemmed and ranked (BM25). Supports quoted phrases and AND/OR/NOT, e.g. faith AND works NOT law. version also takes any prose work id. Note: stemming conflates related surface forms (e.g. "desert" also matches "deserted") — quote exact phrases or add AND-terms to disambiguate.semantic_search(query, top_k=12, kind="", hybrid=True) — Meaning-based search across the whole corpus (scripture + prose), hybrid-fused with keyword search (RRF) by default. Finds passages on a theme even with no shared words, e.g. "divine self-emptying". kind optional: verse | window | paragraph.find_similar(reference, top_k=10) — Nearest passages by embedding to a given verse or prose paragraph, across scripture, Apocrypha, and the classics. Powers parallel-finding across corpus layers.word_study(query, language="", limit=15) — Original-language word study by Strong's number (zero-padding optional), lemma (pointed or unpointed), Hebrew/Aramaic transliteration (e.g. miqweh, macrons optional), or English gloss. Returns occurrence counts, gloss range, book distribution, a full scholarly lexicon entry when available (BDB/Strong's for Hebrew, Abbott-Smith for Greek — richer than the gloss, truncated to ~700 chars), and sample verses. Lettered homograph variants (e.g. H4723 vs H4723a — same written form, different word) are surfaced together. language optional: grc | hbo | arc.get_interlinear(reference) — Word-by-word original language for a verse or short range: surface form, lemma, Strong's, gloss, morphology (Hebrew/Aramaic OT, Greek NT). Versemap-corrected across all books, not just Psalms. For OT verses also shows Septuagint Greek surface text where available (no lemma/Strong's/morphology in that source).get_cross_references(reference, limit=20) — Cross-references for a verse (OpenBible.info, ranked by community votes), with the target text included.get_citations(reference, limit=20) — Where a verse is cited by name in the patristic corpus, extracted from the translators' own footnotes (tier 1). Complements get_cross_references (scripture→scripture); this is patristic text→scripture. Coverage is sparse by design — an empty result doesn't mean uncited; full-text search within the patristic works is the thorough probe.get_entity(name, entity_type="") — Look up a biblical person, place, event, or people group by name (Theographic knowledge graph); returns details and where they appear. entity_type optional: person | place | event | people_group.entities_in_passage(reference) — People, places, and events linked to a verse or chapter, e.g. Genesis 14.get_concept(name, concept_type="") — Look up a theological concept or lexical keyword in the OT+NT concept graph (seeded from Easton's Bible Dictionary); returns its definition, verse anchors, same-as equivalents, instantiating entities, and a relation-count summary. Follows Easton's own "See X" cross-references (Righteousness → Justification). concept_type optional: theme | keyword. Also accepts a Strong's number.concepts_in_passage(reference) — Theological concepts and keywords linked to a verse or chapter, e.g. Genesis 15. Complements entities_in_passage.get_concept_relations(name, verb="", limit=20) — Typed relations for a concept: broader/narrower/causes/part_of/symbol_of/fulfills/same_as/contrasts, hand-reviewed against cited evidence, each with the reason (why:) it was assigned. Excludes the much larger mechanical associated tier by default — pass verb="associated" to include it, each edge shown with the shared verse or cross-reference that produced it.read_work(work, chapter=1, start=1, end=5) — Read a prose work by paragraph range (CONFESSIONS, IMITATION, PILGRIM, PRESENCE, JULIAN, ORTHODOXY, 1CLEMENT, BARNABAS, EASTON, and others — see corpus_info() for the full list). Use search(version=<WORK>) to find passages first.compare_versions(reference) — A verse or short range in BSB and WEB, side by side.corpus_info() — What's in the corpus: documents, layers, licenses, and counts.The server also exposes the synthesis pipeline as MCP prompts, generated from .claude/skills/ (the source of truth): corpus_survey(theme) — Layer 0 raw reading discipline; corpus_composer(theme) — Layer 2 research-brief composition. Any MCP client that installs bible-mcp gets the discipline bundled with the data.
The first semantic query downloads the embedding model (~65MB, one time). Without fastembed/numpy installed, all non-semantic tools work normally. See DESIGN.md for architecture decisions (model choice, chunking, hybrid retrieval).
Claude Desktop / Cowork — add to MCP config:
This is a non-commercial public resource. Licensing is layered — sources keep
their own licenses (all PD / CC BY / CC BY-SA); the code is PolyForm Noncommercial
1.0.0; the compilation and derived data (versemap, citation graph, embeddings,
outputs layer) are CC BY-NC 4.0. Full details: LICENSE.md, attributions in
NOTICE.md.
Three ways to use it:
https://bible-mcp-server.fly.dev/mcpdb/bible.db from the latest GitHub
Release (or rebuild from data/sources/), add the config above.Dockerfile ships the Streamable-HTTP server; see DEPLOY.md.Gen.1.1) everywhere; every table keys on them.versemap (all books) + psalm_offsets (superscriptions) align MACULA's MT/NA numbering to English. Both derived empirically from the corpus's own two witnesses and validated by gloss-text overlap; the table schema is TVTMS-compatible so the STEPBible data can extend it to other traditions (LXX, Vulgate) later.layer='output'), and can never be confused with primary sources; draws_on links tie each artifact to its grounding refs.來源:README.md,提交 aa35075
Get Bible text for a reference like 'John 3:16', 'John 3:16-18', 'Genesis 1', or 'Tobit 4:5' (Apocrypha requires version='WEB'). Versions: BSB, WEB.
versionreference必填Full-text search (stemmed, ranked). Supports phrases in quotes, AND/OR/NOT, e.g. 'living water', 'faith AND works NOT law'. Optional book filter e.g. 'Psalms'. NOTE: porter stemming conflates related surface forms — 'desert' also matches 'deserted' and 'deserts' (as merits) in prose layers; quote exact phrases or add AND-terms to disambiguate.
booklimitquery必填versionCross-references for a verse (OpenBible.info, ranked by community votes), with the target text included. E.g. reference='Romans 5:12'.
limitreference必填Look up a biblical person, place, event, or people group by name (Theographic knowledge graph). Returns details and where they appear. entity_type optional: person | place | event | people_group.
name必填entity_typeList the people, places, and events linked to a verse or chapter, e.g. 'Genesis 14' or 'John 3:16'.
reference必填Look up a theological concept or lexical keyword in the OT+NT concept graph (~5,700 nodes seeded from Easton's Bible Dictionary — see DESIGN.md #5). Returns its definition (with a pointer to the full Easton entry), verse anchors, same-as equivalents, and entities that instantiate it (e.g. Abraham for Covenant). Easton cross-reference stubs are followed (Righteousness -> Justification). concept_type optional: theme | keyword. A Strong's number ('G225') also resolves directly to its keyword node. For typed relations to OTHER concepts (broader/narrower/ causes/part_of/symbol_of/fulfills/associated), use get_concept_relations(name).
name必填concept_typeList theological concepts and lexical keywords linked to a verse or chapter via the OT+NT concept graph (seeded from Easton's Bible Dictionary), e.g. 'Genesis 14' or 'John 3:16'. Complements entities_in_passage (people/places/ events) with abstract themes and keyword nodes.
reference必填Typed relations for a concept in the OT+NT concept graph: broader/narrower (taxonomy), causes, part_of, symbol_of, fulfills, same_as (alternate name or translation equivalent, e.g. Christ/Messiah), contrasts — each hand-reviewed against cited evidence and returned with that reason ('why:'), see DESIGN.md #5. Excludes the much larger 'associated' tier by default (~143,000 mechanical shared-evidence edges, mostly unreviewed) — pass verb='associated' for it; each associated edge shows the shared verse or cross-reference that produced it. verb optional: restrict to one verb (broader | narrower | causes | part_of | symbol_of | fulfills | same_as | contrasts | associated).
name必填verblimitShow a verse or short range in both BSB and WEB side by side.
reference必填Original-language word study across the whole Bible. Query by Strong's number ('G26', 'H2617', zero-padding optional — 'H953' works), lemma (pointed or unpointed: 'חֶסֶד' or 'חסד', accented or bare Greek), Hebrew/Aramaic transliteration ('miqweh' finds מִקְוֶה, macrons optional), or English gloss ('lovingkindness'). Returns occurrence counts, gloss range, book distribution, a full scholarly lexicon entry for the top-matching word (BDB and/or Strong's for Hebrew/Aramaic, Abbott-Smith for Greek, when available — richer than the gloss, truncated to ~700 chars), and sample verses. NOTE: homographs are split by letter-suffixed Strong's variants (e.g. H4723 'hope' vs H4723a 'gathering of waters' — same written form) — when a gloss range looks too narrow for a word you suspect is richer, probe the lettered variants; the output lists every variant lemma it finds under your query. Gloss-keyed queries match substrings and may conflate lemmas — prefer Strong's or lemma queries for exact counts. language optional: grc | hbo | arc.
limitquery必填languageWord-by-word original language for a verse or short range: surface form, lemma, Strong's, gloss, morphology (Hebrew/Aramaic OT, Greek NT). For OT verses also shows Septuagint Greek surface text where available (Swete edition — Genesis-Malachi plus Apocrypha, Theodotion Daniel/Susanna/Bel; no lemma/Strong's/ morphology in that source, surface form only). E.g. 'John 1:1' or 'Genesis 1:1-3'.
reference必填Read a prose work from the corpus by paragraph range. Works: CONFESSIONS (Augustine), IMITATION (à Kempis), PILGRIM (Bunyan), PRESENCE (Brother Lawrence), JULIAN (Julian of Norwich), ORTHODOXY (Chesterton), 1CLEMENT (Clement of Rome), BARNABAS (Epistle of Barnabas). Chapters = books/chapters of the work; use search(version=<WORK>) to find passages first, or corpus_info() for the full list.
endwork必填startchapterMeaning-based search across the whole corpus — scripture AND prose works — using embeddings, optionally fused with keyword search (hybrid, recommended). Finds passages about a theme even with no shared words, e.g. 'divine self-emptying', 'the soul's dark night'. kind optional: verse | window | paragraph.
kindquery必填top_khybridFind passages semantically similar to a given verse or prose paragraph ref — across scripture, Apocrypha, and the classics. E.g. 'Philippians 2:7' or 'JULIAN.27.2'. Powers parallel-finding across corpus layers.
top_kreference必填Where a Bible verse is cited by name in the patristic corpus, extracted from the translators' own footnotes (tier 1). E.g. reference='Ephesians 5:21'. Complements get_cross_references, which links scripture to scripture; this links patristic text to scripture. COVERAGE NOTE: footnote extraction has known recall gaps — an empty result is normal and does NOT mean the verse is uncited; full-text `search` within the patristic works is the thorough probe (verbatim quotations are regularly found that the footnote index missed).
limitreference必填What's in the corpus: documents, layers, licenses, and counts.
無需輸入參數。
已滿足適用檢查項的 90%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
請在儲存庫或註冊中心條目中宣告授權條款。
pip install -r requirements.txt # core: just `mcp`pip install fastembed numpy # optional semantic tier (semantic_search, find_similar)python3 scripts/build_db.py # rebuild db from data/sources (optional; db ships built)python3 scripts/embed.py # regenerate embeddings (optional; ships built; resumable){ "mcpServers": { "bible-mcp": { "command": "python3", "args": ["/path/to/bible-mcp/server.py"] } }}data/sources/ raw acquired sources (immutable; re-derive, never edit)data/versemap.tsv derived MT/NA <-> English verse alignmentsdata/additions-*.json prepared incremental ingestions (applied via scripts/ingest_additions.py)scripts/ schema.sql, lib_refs.py, build_db.py, build_versemap.py, align_splits.py, ingest_additions.pydb/bible.db the built corpus (SQLite + FTS5)outputs/ synthesis-pipeline artifacts (Layer 0 surveys, Layer 2 briefs, reports).claude/skills/ corpus-survey + corpus-composer (pipeline skills; source for MCP prompts)server.py MCP server (FastMCP, read-only on the db)