# io.github.nirajagarwal/bible-mcp

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

- name: io.github.nirajagarwal/bible-mcp
- version: 0.14.1
- connection class: R0 (autonomous)
- trust: 94/100
- quality: 76/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.nirajagarwal%2Fbible-mcp
- tools: https://api.protogrid.dev/v1/servers/io.github.nirajagarwal%2Fbible-mcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

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


## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 80
- drivers: +repository +namespace-matches-repo +reachable +uptime-100% +updated-22d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 76/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 64 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 1 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: search (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_entity (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_concept (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 2,232 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: 3 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 16, about 2,232 tokens to load them all
- tool set hash: 6ea66cf94c53f98c5db010f29078f846
- tools last changed: 2026-09-28T18:09:52.978Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.nirajagarwal/bible-mcp.svg)](https://protogrid.dev/servers/io.github.nirajagarwal/bible-mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-09-28 `get_concept_relations` added
  - Typed relations for a concept in the OT+NT concept graph: broader/narrower (taxonomy), causes, part_of, symbol_of, fulfills, contrasts — ~430 edges, hand-reviewed against cited evidence (Phase 5/6, weight>=10 only, see DESIGN.md #5). Excludes the much larger 'associated' fallback tier by default (~139,000 mechanical shared-evidence edges, unreviewed) — pass verb='associated' to include it. verb optional: restrict to one verb (broader | narrower | causes | part_of | symbol_of | fulfills | contrasts | associated).
- 2026-09-28 `concepts_in_passage` added
  - 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.
- 2026-09-28 `get_concept` added
  - Look up a theological concept or lexical keyword in the OT+NT concept graph (5,673 nodes seeded from Easton's Bible Dictionary — see DESIGN.md #5). Returns its definition (with a pointer to the full Easton entry), verse anchors, and entities that instantiate it (e.g. Abraham for Covenant). 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).

Full history: https://api.protogrid.dev/v1/servers/io.github.nirajagarwal%2Fbible-mcp/changes

## Remotes

- https://bible-mcp-server.fly.dev/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (16)

- `compare_versions`: Show a verse or short range in both BSB and WEB side by side.
- `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.
- `corpus_info`: What's in the corpus: documents, layers, licenses, and counts.
- `entities_in_passage`: List the people, places, and events linked to a verse or chapter,
    e.g. 'Genesis 14' or 'John 3:16'.
- `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.
- `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).
- `get_concept`: Look up a theological concept or lexical keyword in the OT+NT concept graph
    (5,673 nodes seeded from Easton's Bible Dictionary — see DESIGN.md #5). Returns
    its definition (with a pointer to the full Easton entry), verse anchors, and
    entities that instantiate it (e.g. Abraham for Covenant). 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).
- `get_concept_relations`: Typed relations for a concept in the OT+NT concept graph: broader/narrower
    (taxonomy), causes, part_of, symbol_of, fulfills, contrasts — ~430 edges,
    hand-reviewed against cited evidence (Phase 5/6, weight>=10 only, see
    DESIGN.md #5). Excludes the much larger 'associated' fallback tier by default
    (~139,000 mechanical shared-evidence edges, unreviewed) — pass
    verb='associated' to include it. verb optional: restrict to one verb
    (broader | narrower | causes | part_of | symbol_of | fulfills | contrasts |
    associated).
- `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'.
- `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.
- `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'.
- `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.
- `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.
- `search`: Full-text search (stemmed, ranked). Supports phrases in quotes, AND/OR/NOT,
    e.g. 'living water', 'faith AND works NOT law'. Optional book filter e.g. 'Psalms'.
    NOTE: porter stemming conflates related surface forms — 'desert' also matches
    'deserted' and 'deserts' (as merits) in prose layers; quote exact phrases or
    add AND-terms to disambiguate.
- `semantic_search`: Meaning-based search across the whole corpus — scripture AND prose works — using
    embeddings, optionally fused with keyword search (hybrid, recommended). Finds
    passages about a theme even with no shared words, e.g. 'divine self-emptying',
    'the soul's dark night'. kind optional: verse | window | paragraph.
- `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.
