Bible MCP Server
Click on "Install 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: Bible MCP Server
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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Trevato/bible-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server