Bible MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Bible MCP ServerGet John 3:16 from KJV"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Bible MCP Server
A Model Context Protocol server that exposes Bible content from bible-api.com for Large Language Models like Claude.
Features
Access Bible verses and chapters as resources
Tools for retrieving verses by reference and getting random verses
Support for multiple translations
Prompt templates for Bible study
True random verse generation from any book in the Bible
Testament filtering (OT/NT) for random verses
Comprehensive error handling
Related MCP server: biblebridge-mcp
Add to Claude config
"Bible MCP": {
"command": "uvx",
"args": [
"bible-mcp"
]
}
Installation
From PyPI (recommended)
The simplest way to install Bible MCP is via pip:
pip install bible-mcpFrom Source
Clone the repository and install dependencies:
git clone https://github.com/trevato/bible-mcp.git
cd bible-mcp
pip install -e .Requirements:
Python 3.10+
Dependencies are managed via
pyproject.toml
Usage
Running with MCP Development Tools
The fastest way to test the server is with the MCP Inspector:
mcp dev bible_server.pyThis will run the server and open a web interface for testing.
Installing in Claude Desktop
To use this server with Claude Desktop:
mcp install bible_server.pyAfter installation, you can access Bible content in your Claude conversations.
Direct Execution
You can also run the server directly:
python -m bible_serverAvailable Resources
Bible MCP provides the following resources:
Chapter Resource
bible://{translation}/{book}/{chapter}Example: bible://web/JHN/3 (John chapter 3 from the World English Bible)
Verse Resource
bible://{translation}/{book}/{chapter}/{verse}Example: bible://kjv/JHN/3/16 (John 3:16 from the King James Version)
Random Verse Resource
bible://random/{translation}Example: bible://random/web (Random verse from the World English Bible)
Available Tools
Get Verse by Reference
get_verse_by_reference(reference: str, translation: str = "web") -> strParameters:
reference: Bible reference (e.g., "John 3:16", "Matthew 5:1-10")translation: Translation ID (default: "web")
Example:
get_verse_by_reference("Psalm 23:1", "kjv")Get Random Verse
get_random_verse_tool(translation: str = "web", testament: Optional[str] = None) -> strParameters:
translation: Translation ID (default: "web")testament: Optional filter for "OT" (Old Testament) or "NT" (New Testament)
Example:
get_random_verse_tool(translation="web", testament="NT")List Available Translations
list_available_translations() -> strReturns a formatted list of all available Bible translations.
Prompts
Analyze Verse Prompt
analyze_verse_prompt(reference: str) -> strCreates a prompt for analyzing a specific Bible verse.
Example:
analyze_verse_prompt("John 3:16")Find Verses on Topic Prompt
find_verses_on_topic_prompt(topic: str) -> strCreates a prompt for finding verses on a specific topic.
Example:
find_verses_on_topic_prompt("love")Supported Translations
Bible MCP supports multiple translations through the bible-api.com service:
World English Bible (web) - Default
King James Version (kjv)
American Standard Version (asv)
Bible in Basic English (bbe)
And many more...
Run the list_available_translations tool to see all available translations.
Examples
Example: Getting John 3:16 from the Web UI
When running mcp dev bible_server.py, you can navigate to the Web UI and:
Select the "Resources" tab
Enter
bible://web/JHN/3/16in the URI fieldClick "Read Resource"
Example: Using Bible MCP in an LLM Tool
from mcp import ClientSession, StdioServerParameters
import asyncio
async def use_bible_mcp():
server_params = StdioServerParameters(
command="python",
args=["bible_server.py"],
)
async with ClientSession.from_stdio_server(server_params) as session:
# Initialize session
await session.initialize()
# Get a verse
content, _ = await session.read_resource("bible://web/JHN/3/16")
print(content)
# Use a tool
result = await session.call_tool(
"get_random_verse_tool",
{"testament": "NT"}
)
print(result.content[0].text)
if __name__ == "__main__":
asyncio.run(use_bible_mcp())Development
See CONTRIBUTING.md for details on how to contribute to this project.
Credits
This project uses the Bible API service provided by bible-api.com.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…
Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.
Provide detailed Pokémon data and information through a standardized MCP interface. Enable LLMs an…
YouTube transcripts, search, channels, playlists and bulk transcript jobs for AI agents. 14 tools.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables AI assistants to retrieve Bible passages from multiple translations (ESV, NIV, KJV, NASB, NKJV, NLT, AMP, MSG). Supports querying single or multiple passages and provides both MCP protocol integration and REST API endpoints.18-
- AlicenseNot gradedqualityNot gradedmaintenanceProvides structured access to Scripture through the BibleBridge API, enabling semantic search, contextual verse retrieval, and cross-reference analysis. It supports natural language reference normalization and comparative theological exploration across different passages.1-
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to look up Bible verses, search across translations, and compare different versions locally without API keys.-
- FlicenseNot gradedqualityCmaintenanceEnables Claude.ai to access and retrieve Bible verses, passages, chapters, and lists of books or translations from public domain versions like KJV, using the free bible-api.com.-