bible-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@bible-mcpstudy the Greek word behind "love" in 1 Corinthians 13 with Strong's"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.12)
Data | Source | License |
Berean Standard Bible (66 books) | berean.bible | Public Domain |
World English Bible, Ecumenical (83 books incl. Apocrypha) | ebible.org | Public 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.org | Public 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 | Open Greek and Latin Project / First1KGreek, via github.com/nathans/lxx-swete | CC BY-SA 4.0 |
613,690 original-language words: Greek NT + Hebrew/Aramaic OT with lemmas, Strong's, morphology, glosses, semantic domains | MACULA (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 | OpenScriptures HebrewLexicon | CC 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 words | First1KGreek / Open Greek and Latin Project, via github.com/biblicalhumanities/Abbott-Smith | Public Domain |
~345,000 ranked cross-references | openbible.info | CC BY |
~4,800 people/places/events/groups + 53,000 verse links | Theographic Bible Metadata | CC 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 Orthodoxy | Project Gutenberg | Public 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 Papias | ANF (Roberts-Donaldson-Crombie), Project Gutenberg #77576 | Public Domain |
Irenaeus: Against Heresies, Books I–V + Fragments — 806 sections addressed as | ANF vol. I (Roberts-Rambaut), Wikisource transcription | Public Domain |
Justin Martyr: First Apology, Second Apology, Dialogue with Trypho, Martyrdom of Justin — 423 sections, ~408 tier-1 citations | ANF vol. I, Wikisource transcription | Public 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 offsets | derived from corpus | — |
Research outputs layer ( | generated in-project | — |
~112,400 embeddings (verse/window/paragraph) for semantic + hybrid search across every layer | bge-small-en-v1.5, generated locally | — |
All in one SQLite file (db/bible.db, ~370MB) with FTS5 full-text search. Prose works are addressed as WORK.chapter.paragraph. See DESIGN.md for the architecture rationale.
Related MCP server: mcp-bible
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 requiresversion="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.versionalso 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".kindoptional: 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.languageoptional: 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). Complementsget_cross_references(scripture→scripture); this is patristic text→scripture. Coverage is sparse by design — an empty result doesn't mean uncited; full-textsearchwithin 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_typeoptional: person | place | event | people_group.entities_in_passage(reference)— People, places, and events linked to a verse or chapter, e.g.Genesis 14.read_work(work, chapter=1, start=1, end=5)— Read a prose work by paragraph range (CONFESSIONS, IMITATION, PILGRIM, PRESENCE, JULIAN, ORTHODOXY, 1CLEMENT, BARNABAS, and others — seecorpus_info()for the full list). Usesearch(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
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:
{
"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 alignments
data/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.py
db/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:
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/mcpLocal (stdio) — clone, download
db/bible.dbfrom the latest GitHub Release (or rebuild fromdata/sources/), add the config above.Self-host —
Dockerfileships the Streamable-HTTP server; seeDEPLOY.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_onlinks 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.
This server cannot be deployed
Maintenance
Related MCP Connectors
Free, no-key Bible MCP server — 86 translations in 32 languages, from any MCP client.
Read-only scripture-study engine: complete-or-fail concordance over Greek NT, Hebrew OT, LXX.
Read-only BSB and WEB Scripture evidence with provenance, context, comparison, and search.
Bible MCP — wraps the Bible API (free, no auth)
Related MCP Servers
- AlicenseAqualityAmaintenanceFree, no-key MCP server for reading scripture from 35+ public-domain translations in 8 languages. Lets users fetch verses, chapters, and passages via natural language from any MCP client.7MIT
- AlicenseAqualityAmaintenanceMCP server for Bible study, providing multi-version verse lookup, keyword/semantic search, cross-references, and word studies with original language and lexicon details.6MIT
- AlicenseNot gradedqualityDmaintenanceBiblical text analysis with textual criticism support. An MCP server for morphological analysis, manuscript variants, and concordance searches across Hebrew and Greek biblical texts.MIT
- AlicenseNot gradedqualityBmaintenancePostgreSQL-backed MCP server for deep Bible study, integrating 140+ translations, Greek/Hebrew lexicons, cross-references, and semantic search.MIT