Bible by Midvash
Free, no-key Bible MCP server — 86 translations in 32 languages, from any MCP client.
Should I use this
Quality & Safety
Findings (1)
- LOWin get_strongs
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"bible": {
"url": "https://mcp.midvash.com/mcp/registry"
}
}
}Remote endpoints
https://mcp.midvash.com/mcp/registrystreamable-httpWhat it can do
Tool inventory
Tools (11)
🟢get_verse(version, book, chapter, verse, verse_end)
Fetches one exact Bible verse or a contiguous verse range from a specific version. Use this when the book, chapter, verse, and version are already known. For natural references such as "John 3:16-18", prefer get_passage.
Input Schema
{
"type": "object",
"properties": {
"version": {
"type": "string",
"description": "Bible version slug to read from, such as \"nvi\", \"kjv\", \"ara\", or \"rvr1960\". Must be enabled by the connection URL filters."
},
"book": {
"type": "string",
"description": "Bible book name, slug, or abbreviation. Accepts supported localized names such as \"John\", \"João\", \"Salmos\", or \"1 Sm\"."
},
"chapter": {
"type": "integer",
"minimum": 1,
"description": "Chapter number within the selected book. Must be 1 or greater."
},
"verse": {
"type": "integer",
"minimum": 1,
"description": "Starting verse number. Must exist in the selected chapter."
},
"verse_end": {
"type": "integer",
"minimum": 1,
"description": "Optional ending verse number for a range. Must be greater than or equal to verse and within the same chapter."
}
},
"required": [
"version",
"book",
"chapter",
"verse"
]
}Output Schema
{
"type": "object",
"properties": {
"version": {
"type": "string",
"description": "Version slug, such as \"nvi\"."
},
"version_name": {
"type": "string",
"description": "Human-readable version name."
},
"verses": {
"type": "array",
"items": {
"type": "object",
"properties": {
"book": {
"type": "string",
"description": "Book name in the language of the version."
},
"book_id": {
"type": "integer",
"description": "Canonical book number, 1 to 66."
},
"chapter": {
"type": "integer"
},
"verse": {
"type": "integer"
},
"text": {
"type": "string"
}
},
"required": [
"book",
"book_id",
"chapter",
"verse",
"text"
]
}
}
},
"required": [
"version",
"verses"
]
}🟢get_chapter(version, book, chapter)
Fetches a full Bible chapter from a specific version, formatted in Markdown with numbered verses. Use this when the user needs chapter-level context instead of an isolated verse.
Input Schema
{
"type": "object",
"properties": {
"version": {
"type": "string",
"description": "Bible version slug to read from, such as \"nvi\", \"kjv\", \"ara\", or \"rvr1960\". Must be enabled by the connection URL filters."
},
"book": {
"type": "string",
"description": "Bible book name, slug, or abbreviation. Accepts supported localized names such as \"John\", \"João\", \"Salmos\", or \"1 Sm\"."
},
"chapter": {
"type": "integer",
"minimum": 1,
"description": "Chapter number within the selected book. Must be 1 or greater."
}
},
"required": [
"version",
"book",
"chapter"
]
}Output Schema
{
"type": "object",
"properties": {
"version": {
"type": "string",
"description": "Version slug, such as \"nvi\"."
},
"version_name": {
"type": "string",
"description": "Human-readable version name."
},
"verses": {
"type": "array",
"items": {
"type": "object",
"properties": {
"book": {
"type": "string",
"description": "Book name in the language of the version."
},
"book_id": {
"type": "integer",
"description": "Canonical book number, 1 to 66."
},
"chapter": {
"type": "integer"
},
"verse": {
"type": "integer"
},
"text": {
"type": "string"
}
},
"required": [
"book",
"book_id",
"chapter",
"verse",
"text"
]
}
}
},
"required": [
"version",
"verses"
]
}🟢get_passage(reference, version)
Fetches Bible passages from natural-language references such as "John 3:16-18", "Psalm 23", "Romans 8:1-9:5" (crossing chapters) or "John 3:16; Romans 8:1" (several at once). This is the primary lookup tool when the user gives a citation instead of structured book/chapter/verse fields.
Input Schema
{
"type": "object",
"properties": {
"reference": {
"type": "string",
"description": "One or more free-form Bible references. Accepts localized book names, abbreviations, whole chapters (\"Psalm 23\"), verse ranges (\"John 3:16-18\"), chapter ranges (\"Genesis 1-3\"), ranges that cross chapters (\"Romans 8:1-9:5\"), and several references separated by semicolons or commas (\"John 3:16; Romans 8:1\"). At most 10 per call."
},
"version": {
"type": "string",
"description": "Optional Bible version slug. If omitted, uses the first version enabled by the connection URL, or \"nvi\" when no version filter exists."
}
},
"required": [
"reference"
]
}Output Schema
{
"type": "object",
"properties": {
"version": {
"type": "string",
"description": "Version slug, such as \"nvi\"."
},
"version_name": {
"type": "string",
"description": "Human-readable version name."
},
"verses": {
"type": "array",
"items": {
"type": "object",
"properties": {
"book": {
"type": "string",
"description": "Book name in the language of the version."
},
"book_id": {
"type": "integer",
"description": "Canonical book number, 1 to 66."
},
"chapter": {
"type": "integer"
},
"verse": {
"type": "integer"
},
"text": {
"type": "string"
}
},
"required": [
"book",
"book_id",
"chapter",
"verse",
"text"
]
}
}
},
"required": [
"version",
"verses"
]
}🟢search_bible(query, version, book, testament, limit)
Searches the Bible text for words or an exact phrase and returns matching verses ranked by relevance. Matching ignores letter case and accents; wrap the query in double quotes for an exact phrase. Use this for discovery questions like "find verses about love". For a known citation, use get_passage or get_verse.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Words to search for. Every word must appear in the verse, in any order. Wrap the whole query in double quotes for an exact phrase. Accents and letter case are ignored. This is keyword search, not semantic search."
},
"version": {
"type": "string",
"description": "Optional Bible version slug such as \"nvi\", \"kjv\", \"ara\", or \"rvr1960\". If omitted, uses the first version enabled by the connection URL, or \"nvi\"."
},
"book": {
"type": "string",
"description": "Optional book name, slug, or abbreviation in any supported book locale (ex.: \"John\", \"João\", \"Salmos\"). Required for versions in Hebrew, Greek, or Latin."
},
"testament": {
"type": "string",
"enum": [
"old",
"new"
],
"description": "Optional testament filter. Use \"old\" for Old Testament or \"new\" for New Testament. Ignored when book is provided."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Maximum number of matches to return. Default: 20; max: 50."
}
},
"required": [
"query"
]
}Output Schema
{
"type": "object",
"properties": {
"version": {
"type": "string",
"description": "Version slug, such as \"nvi\"."
},
"version_name": {
"type": "string",
"description": "Human-readable version name."
},
"query": {
"type": "string"
},
"strategy": {
"type": "string",
"enum": [
"ranked",
"ranked-cross-version",
"substring",
"scan"
],
"description": "How the results were produced: ranked on the requested version, ranked on another version of the same language, substring fallback, or a book-scoped scan."
},
"matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"book": {
"type": "string",
"description": "Book name in the language of the version."
},
"book_id": {
"type": "integer",
"description": "Canonical book number, 1 to 66."
},
"chapter": {
"type": "integer"
},
"verse": {
"type": "integer"
},
"text": {
"type": "string"
}
},
"required": [
"book",
"book_id",
"chapter",
"verse",
"text"
]
}
}
},
"required": [
"version",
"query",
"matches"
]
}🟢compare_passage(reference, versions)
Compares the same Bible passage across multiple Bible versions and returns a Markdown side-by-side style comparison. Use this for translation comparison, sermon preparation, or study questions. For a single version, use get_passage.
Input Schema
{
"type": "object",
"properties": {
"reference": {
"type": "string",
"description": "Free-form Bible reference to compare. Accepts supported localized book names, abbreviations, whole chapters, and verse ranges. Examples: \"John 3:16\", \"João 3:16-18\", \"Psalm 23\"."
},
"versions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional list of Bible version slugs to compare. If omitted, uses versions enabled by the connection URL, or a small default set. Maximum 8 versions."
}
},
"required": [
"reference"
]
}🟢list_versions(language)
Lists Bible versions available to the current MCP connection, automatically respecting URL filters such as ?v=nvi,kjv and ?lang=pt-br,en. Use this before lookup, search, or comparison when the user has not specified a version.
Input Schema
{
"type": "object",
"properties": {
"language": {
"type": "string",
"description": "Optional language filter for version metadata. Examples: \"pt-br\", \"pt\", \"en\", \"es\", \"he\", \"la\", \"fr\", \"it\", \"gr\". The value \"pt\" includes pt-br and pt-pt."
}
}
}🟢list_books(testament, language)
Lists the 66 canonical Bible books with localized names, slugs, abbreviations, testament grouping, and chapter counts. Use this when an agent needs valid book identifiers or localized display names before calling lookup tools.
Input Schema
{
"type": "object",
"properties": {
"testament": {
"type": "string",
"enum": [
"old",
"new"
],
"description": "Optional testament filter. Use \"old\" for Old Testament books or \"new\" for New Testament books."
},
"language": {
"type": "string",
"description": "Optional locale for book names, slugs, and abbreviations. Supported values: en, pt-br, es, fr, de, it, zh, ru, ko. Defaults to en."
}
}
}🟢get_cross_references(reference, version, limit, include_text)
Finds other Bible passages that relate to a given verse, ranked by how widely the link is attested. This answers "what else in Scripture speaks to this?" — the standard next step in study after reading a verse. Returns each related passage with its text, so no follow-up lookup is needed.
Input Schema
{
"type": "object",
"properties": {
"reference": {
"type": "string",
"description": "The verse to start from, such as \"John 3:16\" or \"Romanos 8:28\". Must point at a single verse; a whole chapter is too broad for cross-references."
},
"version": {
"type": "string",
"description": "Optional Bible version slug for the text of the related passages. Defaults to the connection version, or \"nvi\"."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"description": "Maximum number of related passages. Default: 10; max: 25."
},
"include_text": {
"type": "boolean",
"description": "Whether to include the text of each related passage. Default true. Set false for a compact list of references only."
}
},
"required": [
"reference"
]
}Output Schema
{
"type": "object",
"properties": {
"version": {
"type": "string",
"description": "Version slug, such as \"nvi\"."
},
"version_name": {
"type": "string",
"description": "Human-readable version name."
},
"source": {
"type": "object",
"properties": {
"book": {
"type": "string"
},
"book_id": {
"type": "integer"
},
"chapter": {
"type": "integer"
},
"verse": {
"type": "integer"
}
},
"required": [
"book",
"book_id",
"chapter",
"verse"
]
},
"passages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"book": {
"type": "string"
},
"book_id": {
"type": "integer"
},
"chapter": {
"type": "integer"
},
"verse_start": {
"type": "integer"
},
"verse_end": {
"type": "integer"
},
"votes": {
"type": "integer",
"description": "How many sources attest this link. Higher is stronger."
},
"text": {
"type": "string"
}
},
"required": [
"book",
"book_id",
"chapter",
"verse_start",
"verse_end",
"votes"
]
}
}
},
"required": [
"source",
"passages"
]
}🟢search_study(query, type, language, limit)
Searches Midvash's Bible study library: chapter commentaries, Bible characters, dictionary entries, and theology articles, in 9 languages. Use this for background and explanation — who a person was, what a term means, what a chapter is about. For the biblical text itself, use search_bible or get_passage. Results are summaries with a link to the full article.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Words to search for across titles and summaries. Every word must appear, in any order. Accents and letter case are ignored."
},
"type": {
"type": "string",
"enum": [
"commentary",
"character",
"dictionary",
"theology"
],
"description": "Optional filter. \"commentary\" for chapter commentaries, \"character\" for people in the Bible, \"dictionary\" for term definitions, \"theology\" for doctrinal articles. Omit to search all four."
},
"language": {
"type": "string",
"description": "Optional language for the study material: en, pt-br, es, fr, de, it, zh, ru, ko. Defaults to the connection language, or English."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"description": "Maximum number of results. Default: 10; max: 25."
}
},
"required": [
"query"
]
}🟢get_commentary(reference, language)
Fetches the Midvash commentary for the chapter a reference points to — what the chapter is about, its context and its main movements. Every one of the 1,189 Bible chapters has one, in 9 languages. Use this for "what is this chapter about" questions. For the text itself, use get_passage. Returns a summary with a link to the full commentary.
Input Schema
{
"type": "object",
"properties": {
"reference": {
"type": "string",
"description": "Any Bible reference inside the chapter you want commentary on. \"John 3\", \"João 3:16\" and \"Romans 8:1-11\" all resolve to that chapter."
},
"language": {
"type": "string",
"description": "Optional language for the commentary: en, pt-br, es, fr, de, it, zh, ru, ko. Defaults to the connection language, or English."
}
},
"required": [
"reference"
]
}🟢get_strongs(number, word, language, translation_language, limit)
Looks up a word in Strong's lexicon — 8,674 Hebrew and 5,523 Greek entries — by Strong's number ("H430", "G2316") or by the word itself, in the original script or transliterated ("elohim", "θεός"). Returns the lemma, transliteration, definition and senses, translated into the requested language. Use it when the question is what an original-language word means.
Input Schema
{
"type": "object",
"properties": {
"number": {
"type": "string",
"description": "Strong's identifier: \"H430\" for Hebrew, \"G2316\" for Greek. A bare number like \"430\" also works if `language` is given."
},
"word": {
"type": "string",
"description": "A word to look up instead of a number. Accepts the original script (\"אלהים\", \"θεός\") or a transliteration (\"elohim\", \"theos\"). Vowel points and accents are ignored."
},
"language": {
"type": "string",
"enum": [
"hebrew",
"greek"
],
"description": "Restricts the search, and is required when `number` is given without an H or G prefix."
},
"translation_language": {
"type": "string",
"description": "Language for the definitions: en, pt-br, es, fr, de, it, zh, ru, ko. Defaults to the connection language, or English."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 15,
"description": "Maximum entries when searching by word. Default: 5; max: 15."
}
}
}Output Schema
{
"type": "object",
"properties": {
"entries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Strong's identifier, such as \"H430\"."
},
"number": {
"type": "integer"
},
"language": {
"type": "string",
"enum": [
"hebrew",
"greek"
]
},
"lemma": {
"type": "string"
},
"transliteration": {
"type": [
"string",
"null"
]
},
"pronunciation": {
"type": [
"string",
"null"
]
},
"part_of_speech": {
"type": [
"string",
"null"
]
},
"derivation": {
"type": [
"string",
"null"
]
},
"definition": {
"type": [
"string",
"null"
]
},
"kjv_definition": {
"type": [
"string",
"null"
]
},
"outline": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"number",
"language",
"lemma"
]
}
}
},
"required": [
"entries"
]
}Community
Evidence