The whole canon, queryable.
Bible CLI is an offline study toolkit for AI agents and humans: four public-domain English translations, the tagged Hebrew and Greek originals with full morphology, lexicons, 345,000 cross-references, and a computed map of where the New Testament quotes the Old. Every command speaks JSON.
Install
$ npm install -g @divine-creative-ministries/bible-cli
That is the whole install. The scripture databases (~90 MB, checksummed) download automatically the first time a command needs them. Or try it with zero install:
$ npx @divine-creative-ministries/bible-cli passage "John 3:16"
Data lives in ~/.bible-cli (override with
BIBLE_CLI_DATA). To manage downloads manually, set
BIBLE_CLI_NO_AUTO_DOWNLOAD=1 and run
bible db download. The optional Septuagint layer —
which powers bible quotes — is a separate artifact under
its own license: bible db download-lxx.
Requires Node ≥ 20.
Quick start
$ bible passage "John 3:16"
[BSB] John
3:16 For God so loved the world that He gave His one and only Son,
that everyone who believes in Him shall not perish but have
eternal life.
$ bible search "living water" --book nt
$ bible search "covenant" --book Genesis --count
23 matching verses
$ bible compare "Rom 8:1" -t all
Romans 8:1
ASV There is therefore now no condemnation to them that are in Christ Jesus.
BSB Therefore, there is now no condemnation for those who are in Christ Jesus.
KJV There is therefore now no condemnation to them which are in Christ Jesus,
who walk not after the flesh, but after the Spirit.
WEB There is therefore now no condemnation to those who are in Christ Jesus...
Where translations diverge — as KJV does above, carrying a longer reading from its Greek source — an interpretive or textual decision is hiding. That is the signal to go one level down.
References are forgiving: John 3:16-18,
jn 3 16, 1jn2:5, Psalm 23,
Gen 1:1-2:3, and psa 51:title all work.
Scope flags accept books, ranges, and testaments:
--book Isaiah, --book Gen-Deu,
--book ot.
Original languages
$ bible interlinear "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
τὸν ton G3588 Art-AMS the
κόσμον kosmon G2889 N-AMS world
$ bible word chesed
H2617 חֶ֫סֶד (chesed) — goodness, kindness
occurrences: 247 in 241 verses | top books: Psalms (127), 2 Samuel (12) ...
gloss range: covenant loyalty ×168; loyalty ×41; favor ×3 ...
[bdb] full Brown-Driver-Briggs entry follows
$ bible grep-morph --stem niphal --tense participle --book Isaiah --count
98 matching words
$ bible original "John 1:18" --edition tr # Textus Receptus wording
$ bible lemma H2617 --book Psalms # every occurrence, in scope
The tagged text carries 469,000 Hebrew and Aramaic morphemes and
146,000 Greek words — each with parsing, disambiguated Strong's
numbers, and a context-sensitive gloss. Greek variant readings are
edition-tagged (NA, SBL, Textus Receptus, Byzantine), so
--edition renders real edition wording.
Pattern analysis
Start any study with survey — one call returning the
corpus's own structure for a topic before any interpretation:
$ bible survey chesed
H2617 חֶ֫סֶד (chesed) — goodness, kindness
occurrences: 247 in 241 verses | OT 247 / NT 0
distribution: Psalms 127, 2 Samuel 12, Proverbs 11, Genesis 11 ...
co-occurring distinctive words:
H5769 עוֹלָם "forever" — 57 shared verses
quotes is a computed map of where the New Testament
quotes, alludes to, and echoes the Old — built by matching the Greek
NT against the Septuagint, in labeled confidence tiers, at both
verbatim and lemma level:
$ bible quotes "Psalm 110:1"
Matthew 22:44 ⇐ Psalms 110:1 quotation 14w
Mark 12:36 ⇐ Psalms 110:1 quotation 14w
Hebrews 1:13 ⇐ Psalms 110:1 quotation 14w
Acts 2:34 ⇐ Psalms 110:1 quotation 10w ... 7 NT citations
$ bible quotes "Rev 1:7" --tier echo
Revelation 1:7 ⇐ Psalms 72:17 quotation 5w
Revelation 1:7 ⇐ Genesis 12:3 allusion 5w≈ lemma-level match
Revelation 1:7 ⇐ Daniel 7:13 echo 3w≈ "coming with the clouds"
$ bible xref "Isa 53:5" --text # 345k vote-ranked cross-references
$ bible freq --strongs H1285 --by-book # where does "covenant" concentrate?
$ bible cooccur --strongs H2617 --strongs H1285
$ bible similar "Isa 53:3-7" # shared distinctive vocabulary
$ bible name Zechariah # which of the ~30 Zechariahs?
For AI agents
Every command takes --json, errors are machine-readable
with did-you-mean suggestions, output is limit-disciplined with
count-only modes, and capabilities are discoverable at runtime
(bible books, translations,
morph-codes, licenses).
Install the study methodology
$ bible agent-setup claude # writes .claude/skills/bible-study/SKILL.md
$ bible agent-setup generic # appends to AGENTS.md (Codex, opencode, ...)
The methodology is a text-first protocol: evidence scaled to
the claim (a lookup needs one call; a "theology of" question needs the
full canon), discovery before thesis via survey,
mandatory attempts to falsify each thesis, and provenance
labels separating what is observed, what is counted, and what is
inferred — so answers come from the text, not from training data.
MCP server
$ claude mcp add bible -- bible mcp
bible mcp serves the same operations as typed MCP tools
over stdio for Claude Desktop, Cursor, and any MCP client. A hosted
endpoint for phone and web apps is
on the roadmap.
Command reference
| Reading | |
|---|---|
| passage <ref> | Read a passage; --context N includes surrounding verses, -t picks translations (BSB default) |
| search <query> | Full-text search; --phrase, --stem, --count, FTS5 operators, book/testament scoping |
| compare <ref> | Side-by-side translations — divergence marks interpretive decisions |
| Original languages | |
| interlinear <ref> | Word-by-word original with transliteration, Strong's, morphology, gloss |
| original <ref> | Original text; Greek editions via --edition na28|sbl|tr|byz|wh|treg |
| lemma <query> | Every occurrence of a Strong's number or lemma across the canon |
| word <query> | Word study: lexicons, usage stats, gloss range; accepts English, translit, or Strong's |
| morph <ref> | Full grammatical parse of each word in a verse |
| grep-morph | Search by grammar: --pos --stem --tense --voice --mood --case --book ... |
| Pattern analysis | |
| survey <query> | One-call corpus dossier for a word, Strong's number, or passage — the study entry point |
| quotes <ref> | Computed OT-in-NT parallels in tiers (quotation / allusion / echo), surface and lemma level |
| xref <ref> | Vote-ranked cross-references; --text, --reverse, --min-votes |
| freq | Distribution of a Strong's / lemma / English 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> | Disambiguated persons and places with identifying Strong's and spans |
| Introspection & infrastructure | |
| books / translations / editions / morph-codes / licenses | Runtime capability discovery |
| ref <text> | Parse and normalize any reference string |
| db | Database status / download / download-lxx / path |
| mcp | Run as an MCP server over stdio |
| agent-setup | Write the methodology for claude / codex / opencode / generic harnesses |
Every command documents itself: bible <command> --help.
Data & licensing
| Layer | Source | License |
|---|---|---|
| English translations | BSB (default), WEB, KJV, ASV | Public domain |
| Hebrew OT + morphology | STEPBible TAHOT (Leningrad text, ETCBC morphology) | CC BY 4.0 |
| Greek NT + morphology | STEPBible TAGNT (NA / TR / Byzantine / SBL marked) | CC BY 4.0 |
| Lexicons | Brown-Driver-Briggs (Enhanced), Abbott-Smith (ext.), Dodson | PD / CC BY / CC0 |
| Cross-references | OpenBible.info, ~345k vote-ranked | CC BY |
| Proper nouns | STEPBible TIPNR | CC BY 4.0 |
| Septuagint + quotation links (optional) | Swete edition + computed links | CC BY-SA 4.0 |
The databases are built by a reproducible pipeline with a
verification gate — canonical verse counts, versification edge cases,
morphology coverage — and full source attribution ships inside each
database: run bible licenses.