bible-cli

bible-cli

Offline command-line toolkit for biblical study, allowing AI agents to access original-language texts, perform morphological searches, cross-references, and more, with all results traceable to queries.

Category
Visit Server

README

Bible CLI

A Bible study operating system for AI agents — and the humans working with them.

bible is an offline command-line toolkit that lets any coding agent (Claude Code, Codex, opencode, or anything with a shell) do serious biblical study from the text itself: plain reading, original-language word study, morphology search, cross-translation comparison, and canon-wide pattern analysis — with every claim traceable to a query instead of to training data.

$ bible interlinear "John 3:16" | head -6
John 3:16
Οὕτως     Houtōs    G3779  Adv       so
γὰρ       gar       G1063  Conj      For
ἠγάπησεν  ēgapēsen  G0025  V-AIA-3S  loved
ὁ         ho        G3588  Art-NMS   -
Θεὸς      Theos     G2316  N-NMS     God

$ bible grep-morph --stem niphal --tense participle --book Isaiah --count
98 matching words
  H0539 אָמַן  8
  H5375 נָשָׂא  7
  ...

$ bible freq --strongs H1285 --by-book     # where does "covenant" concentrate?
$ bible xref "Isa 53:5" --text             # how does the canon take this verse up?
$ bible compare "Rom 8:1" -t all           # where do translations diverge?

Everything is offline, deterministic, and open-licensed: two SQLite databases built from public-domain and CC-BY scholarly sources (see Data), downloaded once on first run.

Why

LLMs already "know" the Bible — approximately, unverifiably, and shaped by whatever their training data emphasized. Bible CLI gives an agent the opposite: a set of precise instruments over the actual text, so study becomes evidence-based. The agent reads the passage it cites, checks what a Greek or Hebrew word actually means by how it is actually used, counts patterns instead of gesturing at them, and reports what the text says as distinct from what it concludes. The bundled methodology (bible agent-setup) teaches exactly that discipline — a biblical theology workflow: plain reading → lexical analysis → context → canonical patterns → labeled synthesis.

Install

npm install -g @divine-creative-ministries/bible-cli

That's it — the scripture databases download automatically on first use (~90 MB, checksummed; set BIBLE_CLI_NO_AUTO_DOWNLOAD=1 to manage them manually with bible db download). Or try it with zero install:

npx @divine-creative-ministries/bible-cli passage "John 3:16"

For agents, add the study methodology to your project:

bible agent-setup claude       # writes .claude/skills/bible-study/SKILL.md
bible agent-setup generic      # appends a section to AGENTS.md (codex, opencode, …)

Or run it as an MCP server: bible mcp (stdio) exposes all commands as tools.

Commands

Every command supports --json (machine-readable output), forgiving references (John 3:16-18, jn 3 16, 1jn2:5, Psalm 23, Gen 1:1-2:3), scoping (--book Isaiah, --book Gen-Deu, --book ot), and helpful errors (Unknown book 'Pslams'. Did you mean: Psalms…).

Command What it does
survey <query> One-call corpus dossier — the discovery-first entry point for studies
passage <ref> Read a passage (default BSB; -t WEB,KJV,ASV,BSB, --context N)
search <query> FTS5 full-text search (--phrase, --stem, --count, AND/OR/NOT)
compare <ref> Side-by-side translations — divergence marks interpretive decisions
interlinear <ref> Word-by-word Hebrew/Greek with translit, Strong's, morphology, gloss
original <ref> Original text; Greek editions: --edition na28|sbl|tr|byz|wh|treg
lemma <H2617|ἀγάπη> Every occurrence of a lemma/Strong's across the canon
word <query> Word study: lexicons, usage stats, gloss range, derivations; English reverse lookup
morph <ref> Full grammatical parse of each word in a verse
grep-morph Search by grammar: --stem niphal --tense participle --book Isaiah
xref <ref> Ranked cross-references (--text, --reverse, --min-votes)
quotes <ref> OT-in-NT parallels in confidence tiers, at surface and lemma level
freq Distribution of a Strong's/lemma/word across books or testaments
cooccur Verses containing multiple lemmas together; passage vocabulary profiling
similar <ref> Passages sharing distinctive vocabulary (idf-weighted lemma overlap)
name <query> Who/what is this? Disambiguated persons & places (which of the ~30 Zechariahs)
books · translations · editions · morph-codes · licenses Introspection (agents discover capabilities at runtime)
ref <text> Normalize any reference string
db · mcp · agent-setup Data management, MCP server, agent onboarding

The data

All redistributable, all attributed (see bible licenses):

Layer Source License
English translations WEB, KJV, ASV (eBible.org), BSB Public domain
Hebrew OT + morphology STEPBible TAHOT (WLC, dStrongs, ETCBC morphology, Ketiv/Qere) CC BY 4.0
Greek NT + morphology STEPBible TAGNT (NA/TR/Byz/SBL words with edition markers) CC BY 4.0
Lexicons BDB Enhanced (full Brown-Driver-Briggs), STEPBible TBESG (ext. Abbott-Smith), Dodson PD + CC BY / CC BY 4.0 / CC0
Cross-references OpenBible.info (~345k, vote-ranked) CC BY
Proper nouns STEPBible TIPNR (individualised persons/places) CC BY 4.0
Septuagint† Swete edition + computed NT quotation links CC BY-SA 4.0

† The LXX ships as a separate optional artifact (bible db download-lxx) because its digitization carries CC BY-SA; the core and study databases stay public domain + CC BY only.

The databases are built by a reproducible pipeline in this repo (npm run pipeline) with a verification stage that checks canonical verse counts, versification edge cases (Psalm titles, Malachi 3/4, Joel 2/3), Ketiv/Qere handling, and morphology-code coverage — the build fails loudly rather than shipping silently wrong data.

Design notes

  • Verse IDs are integers (BBCCCVVV; Gen 1:1 = 1001001) on a KJV-English spine; Hebrew/Greek versification differences are mapped at build time and preserved for display. Psalm superscriptions are verse 0.
  • One row per morpheme: Hebrew prefixes/suffixes and Greek crasis components are individually tagged, so grep-morph and frequency counts are exact. Analytics default to the default text stream (Qere; NA-stream Greek) so textual variants never inflate counts.
  • The CLI is the single source of truth; the MCP server shells into it, so both interfaces always agree.
  • Quotation detection is computed, not curated, in three labeled confidence tiers — quotation (5+ identical words in a row), allusion (4+ word or lemma run), echo (gated 3-lemma runs or shared rare vocabulary; speculative by design and excluded from default output) — at two match levels: surface (verbatim) and lemma (inflection-independent, via a dictionary derived from the tagged NT; marked ≈). The lemma level is what catches Rev 1:7 ⇐ Dan 7:13. Purely thematic connections remain bible xref's domain.
  • The methodology is a text-first protocol: three lanes matching evidence to the claim (lookup / word-passage / study), discovery-before-thesis via survey, mandatory falsification attempts, and provenance tags separating what is OBSERVED, what is PATTERN, and what is INFERENCE — with anything from outside the corpus labeled as interpretive tradition.

Known limitations (honest edges)

  • --edition Greek texts are reconstructed from TAGNT's word-set + variant apparatus — accurate wording, but not a facsimile of a printed edition's punctuation or orthography.
  • ~80 Aramaic Strong's numbers lack formal lexicon entries (gaps in the BDB mapping); their entries are synthesized from the tagged text's own glosses and labeled as such.
  • English reverse lookup (bible word lovingkindness) is heuristic: lexicon glosses first, then which original words underlie verses containing the English word.
  • The Swete LXX digitization lacks Ecclesiastes; Daniel uses Theodotion (which the NT normally follows).

Roadmap

Semantic similarity via local embeddings, pericope/discourse boundaries, versification traditions beyond Hebrew/Greek (Vulgate), additional open translations (non-English included), and syntax-aware search (MACULA trees). PRs welcome.

License

Code: MIT. Data: see docs/DATA-SOURCES.md and bible licenses — public domain, CC BY 4.0, and CC0 in the core/study databases; the optional LXX artifact is CC BY-SA 4.0.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured