Bible MCP Server

Bible MCP Server

Exposes Bible content from bible-api.com for LLMs, enabling retrieval of verses, chapters, random verses, and Bible study prompts with support for multiple translations.

Category
Visit Server

README

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

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-mcp

From 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.py

This 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.py

After installation, you can access Bible content in your Claude conversations.

Direct Execution

You can also run the server directly:

python -m bible_server

Available 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") -> str

Parameters:

  • 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) -> str

Parameters:

  • 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() -> str

Returns a formatted list of all available Bible translations.

Prompts

Analyze Verse Prompt

analyze_verse_prompt(reference: str) -> str

Creates 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) -> str

Creates 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:

  1. Select the "Resources" tab
  2. Enter bible://web/JHN/3/16 in the URI field
  3. Click "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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured