Bible Mcp

io.github.nirajagarwal由 GitHub 帳號 nirajagarwal 發布v0.15.0更新於 Oct 29, 2026

Bible corpus MCP server: scripture, Greek/Hebrew interlinear data, cross-refs, semantic search.

已驗證Streamable HTTP可網頁執行網頁搜尋與抓取知識與記憶AI 與機器學習

概覽

AI 產生的概覽

唯讀的聖經研究伺服器:提供經文、原文詞語研究、交叉引用、人物與概念查詢,以及以內建語料庫為基礎的語意檢索。

可以做什麼
  • 讀取 BSB 與 WEB 版本經文,並並排比較兩個版本
  • 依關鍵字檢索經文與散文著作(支援片語和 AND/OR/NOT),或以混合語意檢索依含意查找
  • 研究原文語言:依 Strong 編號、詞元或音譯做詞語研究,並查看逐詞對照經文
  • 查詢交叉引用、教父著作引用,以及某段經文關聯的人物、地點、事件與神學概念
  • 依段落範圍閱讀奧古斯丁、肯培、班揚、朱利安、使徒教父及伊士頓聖經辭典等散文著作
  • 查看語料庫包含的文件、分層與授權資訊
適用情境
適合需要經文文本、原文細節、主題或平行經文查找,以及教父與古典著作交叉連結的學習、教學或研究工作。
執行需求
可作為託管遠端端點使用,無需安裝;也可用 Python 與 mcp 套件在本機以 stdio 執行。選用的語意檢索層需要 fastembed 與 numpy,首次使用會下載約 65MB 的嵌入模型。本機方式需要預先建置的 SQLite 資料庫(約 400MB)或從來源資料重建。未宣告需要帳號、金鑰或請求標頭。
安裝前請注意
伺服器對其資料庫為唯讀,但使用託管端點時查詢會傳送給第三方服務。授權分層:來源為公有領域或 CC BY / CC BY-SA,程式碼為 PolyForm Noncommercial,彙編資料為 CC BY-NC 4.0,因此商業用途受限。引用涵蓋範圍依設計較為稀疏,詞幹化也可能把相關詞形混為一談。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Bible Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.nirajagarwal%2Fbible-mcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "bible": {
      "type": "http",
      "url": "https://bible-mcp-server.fly.dev/mcp"
    }
  }
}

README

bible-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.

What's in it (v0.15)

DataSourceLicense
Berean Standard Bible (66 books)berean.biblePublic Domain
World English Bible, Ecumenical (83 books incl. Apocrypha)ebible.orgPublic Domain
Septuagint (Brenton translation, 1851) — OT + Apocrypha, incl. Susanna/Bel and the Dragon/Epistle of Jeremiah as separate books; Psalms remapped to standard English/KJV numbering (LXX's own numbering diverges throughout most of the Psalter — verified verse-by-verse against WEB); Jeremiah, Daniel-Greek, Exodus, Job, Esther-Greek, and Baruch retain Brenton's native LXX chapter/verse structure, which differs from BSB/WEB in these books (reordering and/or length, not just numbering)ebible.orgPublic Domain
Septuagint, Greek text (Swete edition, Cambridge 1887–1894) — Genesis through Malachi plus Apocrypha, Theodotion Daniel/Susanna/Bel; same Psalms remap and native-structure caveats as the English Brenton text above. Word-level (surface form only, no lemma/Strong's/morphology), powers get_interlinear alongside the Hebrew/Aramaic OT and Greek NTOpen Greek and Latin Project / First1KGreek, via github.com/nathans/lxx-sweteCC BY-SA 4.0
613,690 original-language words: Greek NT + Hebrew/Aramaic OT with lemmas, Strong's, morphology, glosses, semantic domainsMACULA (Clear-Bible/Biblica)CC BY 4.0
Brown-Driver-Briggs Hebrew and English Lexicon (1906, 9,290 entries) + Strong's Hebrew Dictionary (1890, revised, 8,674 entries) — full scholarly entries (etymology, sense divisions, verse citations) keyed by Strong's number, including BDB's own lettered homographs (e.g. H2617a "lovingkindness" vs H2617b "reproach" — genuinely different words, same spelling); surfaces in word_study alongside the existing short glossOpenScriptures HebrewLexiconCC BY 4.0 (markup; underlying BDB/Strong's text is Public Domain)
Abbott-Smith's Manual Greek Lexicon of the New Testament (1922, 517 entries) — same treatment for Greek NT wordsFirst1KGreek / Open Greek and Latin Project, via github.com/biblicalhumanities/Abbott-SmithPublic Domain
~345,000 ranked cross-referencesopenbible.infoCC BY
~4,800 people/places/events/groups + 53,000 verse linksTheographic Bible MetadataCC BY-SA 4.0
Six PD classics: Augustine's Confessions, Imitation of Christ, Pilgrim's Progress, Practice of the Presence of God, Julian's Revelations, Chesterton's OrthodoxyProject GutenbergPublic Domain
The Apostolic Fathers, ten works: 1 & 2 Clement, Epistle of Barnabas, Polycarp to the Philippians, Martyrdom of Polycarp, Epistles of Ignatius (shorter recension), Martyrdom of Ignatius, Epistle to Diognetus, Pastor of Hermas, Fragments of PapiasANF (Roberts-Donaldson-Crombie), Project Gutenberg #77576Public Domain
Irenaeus: Against Heresies, Books I–V + Fragments — 806 sections addressed as IREN-AH<book>.<chapter>.<section> so standard citations (AH 3.3.4) resolve directly; 1,598 tier-1 scripture citationsANF vol. I (Roberts-Rambaut), Wikisource transcriptionPublic Domain
Justin Martyr: First Apology, Second Apology, Dialogue with Trypho, Martyrdom of Justin — 423 sections, ~408 tier-1 citationsANF vol. I, Wikisource transcriptionPublic Domain
Tier-1 citation graph: scripture citations extracted from the translators' own footnotes across the patristic shelf (see DESIGN.md §4)——
Versemap: 988 empirically derived MT/NA ↔ English verse alignments across 31 books (Joel 2–4, Malachi 3–4, Hosea, Isaiah 64, Kings/Chronicles/Nehemiah seams, 3 John, Acts 19, Rev 12…), gloss-validated; plus the Psalms superscription offsetsderived from corpus—
Research outputs layer (layer='output'): Layer 0 corpus surveys + Layer 2 research briefs for potter-and-clay, living water, wilderness — searchable, embedded, with draws_on links back to their grounding refsgenerated in-project—
~112,400 embeddings (verse/window/paragraph) for semantic + hybrid search across every layerbge-small-en-v1.5, generated locally—
Easton's Bible Dictionary (1897 3rd edition, 2,491 entries) — a full corpus document like the PD classics above: searchable (search(version="EASTON")), readable (read_work("EASTON", ...)), embedded for semantic searchTheographic's structured JSON re-derivationPublic Domain
OT+NT concept graph: 5,718 concept nodes (theological themes + lexical keywords, seeded from Easton's Bible Dictionary) and ~175,000 typed/associated edges (broader/narrower/causes/part_of/symbol_of/fulfills/same_as/contrasts/associated) linking concepts to each other, to entities, and to verse anchors across both Testaments; ~440 typed edges hand-reviewed against cited evidence (Phase 5/6), each served with its reason, the rest mechanical associated overlap counts served with the shared verse or cross-reference behind them. Live via get_concept/concepts_in_passage/get_concept_relations, see DESIGN.md §5derived from corpus + Easton's Bible Dictionary—

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.

Tools

  • 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.

Prompts

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.

Setup

bash
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)

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:

json
{  "mcpServers": {    "bible-mcp": {      "command": "python3",      "args": ["/path/to/bible-mcp/server.py"]    }  }}

Layout

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)

Public edition

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:

  1. Remote (no install) — add the hosted endpoint as a custom connector in any MCP client (Claude: Settings → Connectors → Add custom connector): https://bible-mcp-server.fly.dev/mcp
  2. Local (stdio) — clone, download db/bible.db from the latest GitHub Release (or rebuild from data/sources/), add the config above.
  3. Self-host — Dockerfile ships the Streamable-HTTP server; see DEPLOY.md.

Design notes

  • Canonical addressing: OSIS-style refs (Gen.1.1) everywhere; every table keys on them.
  • Provenance: every document row carries source, license, and license tier (A=free, B=share-alike, C=non-commercial, D=closed — we are non-commercial, so C is usable).
  • The 16 verses "missing" from BSB (Matt 17:21, John 5:4, Acts 8:37…) are the standard critical-text omissions, not bugs.
  • Versification: 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.
  • Ignatius ships in the shorter (Middle) recension only; the ANF longer recension is a later expansion and would duplicate every chapter in search.
  • The research outputs layer is generated, clearly tagged (layer='output'), and can never be confused with primary sources; draws_on links tie each artifact to its grounding refs.
  • Next per ROADMAP.md: Irenaeus (source acquisition), tier-2 citation shingling (three confirmed footnote-index misses as fixtures), TVTMS proper.

來源:README.md,提交 aa35075

工具

16

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必填

get_cross_references

Cross-references for a verse (OpenBible.info, ranked by community votes), with the target text included. E.g. reference='Romans 5:12'.

輸入參數limitreference必填

get_entity

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_type

entities_in_passage

List the people, places, and events linked to a verse or chapter, e.g. 'Genesis 14' or 'John 3:16'.

輸入參數reference必填

get_concept

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_type

concepts_in_passage

List 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必填

get_concept_relations

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必填verblimit

compare_versions

Show a verse or short range in both BSB and WEB side by side.

輸入參數reference必填

word_study

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必填language

get_interlinear

Word-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_work

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必填startchapter

find_similar

Find 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必填

get_citations

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必填

corpus_info

What's in the corpus: documents, layers, licenses, and counts.

無需輸入參數。

版本歷史

4
  1. v0.15.0最新Oct 29, 2026
  2. v0.14.1Sep 29, 2026
  3. v0.14.0Sep 28, 2026
  4. v0.12.0Sep 16, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。