A community-driven registry for the Claude Code ecosystem. Not affiliated with Anthropic.
Are you the author? Sign in to claim
Bible SDK and MCP server – give Claude, Cursor, and AI apps ground-truth Scripture context
Multi-language SDK for the LSBible API at read.lsbible.org.
Disclaimer: This is an unofficial, third-party SDK and is not affiliated with, endorsed by, or connected to LSBible or its creators. This project is an independent client library for educational and development purposes.
The Legacy Standard Bible (LSB) is a modern literal translation that prioritizes accuracy and consistency:
The LSB's literal approach makes it ideal for serious Bible study, and its structured HTML output is perfect for SDK development, preserving formatting like red-letter text for Jesus' words and italics for translator clarifications.
LSBible provides three powerful ways to access the Legacy Standard Bible:
Integrate Bible content directly into Claude Desktop, Claude Code, Cursor, or any MCP-compatible LLM application:
View MCP Server Installation Guide →
Perfect for building modern Bible applications with full type safety:
client.getVerse(BookName.JOHN, 3, 16)View TypeScript SDK Documentation →
Perfect for building Bible applications, study tools, or integrating Scripture into Python projects:
View Python SDK Documentation →
The easiest way to get started - no coding required! Just add LSBible to your MCP client config.
📚 Complete Installation Guide →
Supports 20+ MCP clients including Cursor, Claude Code, VS Code, Claude Desktop, Windsurf, and more. Both local (npx) and remote (https://lsbible.kdco.dev/mcp) options available.
Install and use programmatically with full type safety:
# Install SDK
npm install lsbible
import { LSBibleClient, BookName } from "lsbible";
const client = new LSBibleClient();
// Fetch a verse with type-safe parameters
const verse = await client.getVerse(BookName.JOHN, 3, 16);
console.log(verse.verses[0].plainText);
// Output: "For God so loved the world, that He gave His only Son..."
// Access rich formatting
for (const segment of verse.verses[0].segments) {
if (segment.isRedLetter) {
console.log(`Jesus said: "${segment.text}"`);
}
}
// Search with distribution analytics
const results = await client.search("love");
console.log(`Found ${results.matchCount} matches across the Bible`);
// Get an entire chapter
const chapter = await client.getChapter(BookName.PSALMS, 23);
console.log(`Psalm 23 has ${chapter.verseCount} verses`);
Install and use programmatically:
# Install SDK
uv pip install lsbible
from lsbible import LSBibleClient, BookName
with LSBibleClient() as client:
# Fetch a verse with type-safe parameters
passage = client.get_verse(BookName.JOHN, 3, 16)
print(passage.verses[0].plain_text)
# Output: "For God so loved the world, that He gave..."
# Access rich formatting
for segment in passage.verses[0].segments:
if segment.is_red_letter:
print(f'Jesus said: "{segment.text}"')
# Search with distribution analytics
results = client.search("love")
print(f"Found {results.match_count} matches across the Bible")
# See which sections discuss "love" most
if results.has_search_metadata:
for section, count in results.counts_by_section.items():
print(f"{section}: {count} matches")
Unlike traditional Bible APIs that parse strings like "John 3:16", LSBible uses explicit, validated parameters:
# ✅ GOOD - Type-safe with IDE autocomplete and validation
client.get_verse(BookName.JOHN, 3, 16)
# ❌ NOT SUPPORTED - String parsing (error-prone, no type safety)
client.get_verse("John 3:16")
Why?
All formatting from the LSB translation is preserved:
For text searches (not Bible references), get rich metadata showing:
Example: Searching for "love" shows 436 total matches, with 101 in Pauline Epistles and 95 in Wisdom/Poetry.
Status: Production ready Version: 0.3.0 Node.js: 18+
npm install lsbible
Key Stats:
Full TypeScript SDK Documentation → MCP Server Installation Guide →
Status: Production ready Version: 0.3.0 Python: 3.12+
uv pip install lsbible
Key Stats:
Full Python SDK Documentation →
We follow a community-driven approach for additional language SDKs. If you'd like to see LSBible in another language (Rust, Go, Java, C#, etc.):
All SDKs should follow these principles:
Open an Issue → | Read Contributing Guidelines →
lsbible/
├── README.md # This file - project overview
├── CONTRIBUTING.md # Contribution guidelines
├── LICENSE # MIT license
├── turbo.json # Turborepo configuration
├── package.json # Root package.json with workspaces
│
├── .specs/ # Technical specifications
│ ├── SPEC.md # SDK specification (all languages)
│ └── python-sdk-mcp-server.md # MCP server specification
│
└── packages/
├── typescript-sdk/ # ✅ TypeScript SDK (stable) + MCP Server
│ ├── src/ # SDK source code
│ │ ├── client.ts # API client
│ │ ├── models.ts # Zod schemas
│ │ ├── parser.ts # HTML parser
│ │ ├── validators.ts # Reference validation
│ │ ├── books.ts # Bible structure data
│ │ └── mcp/ # MCP server module
│ │ ├── server.ts # MCP server factory
│ │ ├── stdio.ts # STDIO entry point
│ │ ├── tools.ts # MCP tools
│ │ └── resources.ts # MCP resources
│ ├── tests/ # Test suite
│ ├── examples/ # Usage examples
│ ├── mcp/ # MCP server documentation
│ │ └── README.md # MCP installation guide
│ ├── README.md # TypeScript SDK docs
│ └── package.json # Package configuration
│
└── python-sdk/ # ✅ Python SDK (stable)
├── lsbible/ # SDK source code
│ ├── client.py # API client
│ ├── models.py # Pydantic data models
│ ├── parser.py # HTML parser
│ ├── validators.py # Reference validation
│ ├── books.py # Bible structure data
│ ├── cache.py # Response caching
│ └── exceptions.py # Custom exceptions
├── tests/ # Test suite
├── examples/ # Usage examples
├── README.md # Python SDK docs
└── pyproject.toml # Python project config
This monorepo uses Turborepo for build orchestration and Bun as the package manager.
# Clone repository
git clone https://github.com/kdcokenny/lsbible.git
cd lsbible
# Install monorepo dependencies
bun install
# Setup Python SDK for local development
cd packages/python-sdk
uv sync
# Build all packages
bun run build
# Run all tests
bun run test
# Run linters
bun run lint
# Run type checking
bun run type-check
# Run specific package commands
bun run --filter python-sdk test
bun run --filter python-sdk lint
cd packages/typescript-sdk
# Install dependencies
bun install
# Run tests
bun test
# Build the project
bun run build
# Type checking
bun run type-check
# Linting and formatting
bun run lint
bun run lint:fix
# Run MCP server locally
bun run dist/mcp/stdio.js
# Or use the built binary
npx lsbible-mcp
cd packages/python-sdk
# Run tests with coverage
uv run pytest
# Type checking (ty - Rust-based type checker)
uv run ty check lsbible
# Linting and formatting
uv run ruff check lsbible
uv run ruff format lsbible
We welcome contributions! Whether you want to:
Please read our Contributing Guidelines first.
All SDKs integrate with the LSBible API:
https://read.lsbible.org/_next/data/{buildId}/index.jsonq (verse reference or search text)MIT License - See LICENSE file for details.
This project is independently developed and is not affiliated with the creators of the Legacy Standard Bible or read.lsbible.org.
Install MCP Server → | TypeScript SDK → | Python SDK →
Made with ❤️ for Bible software developers
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Secure MCP server for MySQL database interaction, queries, and schema management
English-first Korean equity intelligence MCP — DART filings, foreign-holder 5%-rule flows, activist filings, KRX news. F