bible-mcp
About
MCP server for Christian scholarship and research — scripture, Greek/Hebrew word data, cross-references, patristic texts, and semantic search,
Details
- Author
- nirajagarwal
- Categories
- Search, Other, Knowledge Base
Jump to
Setup
Install bible-mcp in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/nirajagarwal/bible-mcp
Follow the installation instructions in the repository README, then restart your MCP client.
An MCP server for Christian scholarship and research. Non-commercial, aiming to become a public resource. Seecorpus-survey.mdfor the full source/license landscape andROADMAP.mdfor direction.
All in one SQLite file (db/bible.db, ~230MB) with FTS5 full-text search. Prose works are addressed asWORK.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 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, 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.
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.
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"] } } }
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)
This is anon-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 inNOTICE.md.
- 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
- Local (stdio)— clone, downloaddb/bible.dbfrom the latest GitHub Release (or rebuild fromdata/sources/), add the config above.
- Self-host—Dockerfileships the Streamable-HTTP server; seeDEPLOY.md.
- 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.
Search global news using natural language. Webz.io News Search API returns the most relevant articles and content, with filters for source, country, language, date, sentiment, and category.
An MCP server providing semantic search capabilities for APLCart data.
Access and search EPUB ebook collections using semantic vector search.
local-first semantic search in Lojban dictionaries
Search 419,000+ space regulatory filings from the FCC, ITU, UNOOSA, and FAA-AST — semantic search, entity dossiers, spectrum holdings, launch licenses, and alerts.
Self-hosted web search for AI agents — multi-engine parallel search with embedding-based result reranking. Zero API keys, pip install.
The MCP server provides end-to-end workflows for SEC filings and earnings call transcripts—including ticker resolution, document retrieval, OCR, embedding, on-disk resource discovery, and semantic search—exposed via MCP and powered by the same olmOCR and embedding backends as the vLLM backends.
MCP server that enables AI assistants to search Reddit conversations, explore subreddits, and access trending topics.
Provides semantic search across local files by creating vector embeddings from watched directories.
Embeddings, vector search, document storage, and full-text search with the open-source AI application database
Semantic search through Dickens' classic tale. Find passages by meaning, theme, or concept - not just keywords.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




