Traves-Theberge/sacred-scriptures-mcp
If you are the rightful owner of sacred-scriptures-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Sacred Scriptures MCP is a comprehensive Model Context Protocol server providing AI assistants with access to sacred scriptures from major world religions.
Sacred Scriptures MCP
A comprehensive Model Context Protocol (MCP) server that provides AI assistants with access to sacred scriptures from major world religions including Christianity, Islam, Judaism, Hinduism, Buddhism, Sikhism, and Taoism.
Features
- ๐ Advanced Search: Full-text search across multiple sacred scriptures with filtering by religion, book, chapter, language, and version
- ๐ Multi-Religion Support: Christianity (KJV Bible), Islam (Quran), Judaism (Tanakh), Hinduism (Bhagavad Gita), Buddhism (Dhammapada), and Taoism (Tao Te Ching)
- ๐ Multiple Languages: Support for original languages (Hebrew, Sanskrit, Chinese) with English translations
- ๐ Precise References: Retrieve specific verses by book, chapter, and verse number
- ๐ฒ Random Texts: Get random verses for inspiration or study
- โก High Performance: Fast in-memory search with relevance scoring
- ๐ง Production Ready: Comprehensive error handling, logging, and monitoring
Currently Available Sacred Scriptures
Christianity
- King James Version (KJV) - Most popular English Bible translation (31,102 verses)
Islam
- Quran (Sahih International) - Popular English translation (6,236 verses)
Judaism
- Tanakh - Complete Hebrew Bible (Torah, Nevi'im, Ketuvim) (23,200 verses)
Hinduism
- Bhagavad Gita - Sacred text with Sanskrit and English (700 verses across 18 chapters)
Buddhism
- Dhammapada - Collection of Buddhist sayings (423 verses)
Taoism
- Tao Te Ching - Fundamental text of Taoism by Laozi (81 chapters)
Planned Future Additions
Christianity
- World English Bible (WEB) - High-quality public domain Bible
- New International Version (NIV) - Modern English translation
- English Standard Version (ESV) - Literal translation
- New American Standard Bible (NASB) - Literal translation
Islam
- Quran (Original Arabic) - Original Arabic text with transliteration
- Sahih Bukhari - Authentic hadith collection
- Sahih Muslim - Authentic hadith collection
Judaism
- Torah (Hebrew) - Westminster Leningrad Codex with vowel points
- Mishnah - Oral Torah compilation
- Talmud - Rabbinic discussions of the Mishnah
Hinduism
- Rig Veda - Ancient Hindu sacred text
- Sama Veda - Vedic chants and melodies
- Yajur Veda - Sacrificial formulas
- Atharva Veda - Hymns and spells
- Upanishads - Philosophical texts
- Ramayana - Epic of Rama
- Mahabharata - Great epic including the Bhagavad Gita
Buddhism
- Tipitaka (Pali Canon) - Complete Pali Buddhist canon
- Lotus Sutra - Mahayana Buddhist text
- Heart Sutra - Core Mahayana teaching
- Diamond Sutra - Perfection of wisdom text
Sikhism
- Guru Granth Sahib - Central religious text of Sikhism
- Dasam Granth - Secondary Sikh scripture
Jainism
- Agamas - Canonical Jain texts
- Tattvartha Sutra - Jain philosophy
Zoroastrianism
- Avesta - Zoroastrian scriptures
- Gathas - Hymns of Zoroaster
Other Traditions
- Book of Mormon - Latter-day Saint scripture
- Doctrine and Covenants - LDS revelations
- Kitab-i-Aqdas - Bahรก'รญ most holy book
- Kitab-i-Iqan - Bahรก'รญ book of certitude
Installation
Prerequisites
- Node.js 18.0.0 or higher
- npm or yarn package manager
Quick Setup
- Clone the repository:
git clone https://github.com/your-username/sacred-scriptures-mcp.git
cd sacred-scriptures-mcp
- Run the setup script:
chmod +x setup.sh
./setup.sh
- Start the server:
npm start
Manual Installation
- Install dependencies:
npm install
- Build the project:
npm run build
- Configure environment:
cp config.example.env .env
-
Add your data files to the
data/
directory (see Data Files section) -
Start the server:
npm start
Data Files
The server expects JSON data files in the data/
directory. Currently included:
kjv_bible.json
- King James Version Bible (31,102 verses)quran_english.json
- Quran (English translation) (6,236 verses)tanakh.json
- Hebrew Bible/Tanakh (23,200 verses)bhagavad_gita_verses.json
- Bhagavad Gita verses (700 verses)bhagavad_gita_chapters.json
- Bhagavad Gita chapter informationbhagavad_gita_translations.json
- Bhagavad Gita translationsdhammapada.json
- Buddhist Dhammapada (423 verses)taoteching.json
- Tao Te Ching (81 chapters)
MCP Tools
The server provides the following tools for AI assistants:
1. search_religious_texts
Search through sacred scriptures with advanced filtering options.
Parameters:
query
(required): Search query textreligion
(optional): Filter by religion (Christianity, Islam, Judaism, etc.)book
(optional): Filter by book name (Genesis, Matthew, Quran, etc.)chapter
(optional): Filter by chapter numberlanguage
(optional): Filter by language (English, Arabic, Hebrew, etc.)version
(optional): Filter by version (KJV, NIV, ESV, etc.)limit
(optional): Maximum results to return (default: 50)offset
(optional): Results to skip for pagination (default: 0)exactMatch
(optional): Exact phrase matching (default: false)
Example:
{
"query": "love your neighbor",
"religion": "Christianity",
"book": "Matthew",
"limit": 10
}
2. get_text_by_reference
Get specific sacred scripture by book, chapter, and verse reference.
Parameters:
book
(required): Book name (e.g., Genesis, Matthew, Al-Fatiha)chapter
(required): Chapter numberverse
(optional): Verse number (returns all verses if omitted)religion
(optional): Filter by religion to disambiguate book names
Example:
{
"book": "John",
"chapter": 3,
"verse": 16,
"religion": "Christianity"
}
3. get_random_text
Get a random sacred scripture, optionally filtered by religion.
Parameters:
religion
(optional): Filter by religion
Example:
{
"religion": "Buddhism"
}
4. list_available_religions
Get a list of all available religions in the database.
No parameters required.
5. list_available_books
Get a list of all available books, optionally filtered by religion.
Parameters:
religion
(optional): Filter books by religion
Example:
{
"religion": "Islam"
}
6. get_server_status
Get information about the server status and loaded data sources.
No parameters required.
Configuration
The server can be configured using environment variables in the .env
file:
# Data Configuration
DATA_PATH=./data
# Server Configuration
MCP_SERVER_NAME=sacred-scriptures-mcp
MCP_SERVER_VERSION=1.0.0
LOG_LEVEL=info
# Performance Settings
MAX_SEARCH_RESULTS=100
SEARCH_TIMEOUT_MS=5000
CACHE_EXPIRY_HOURS=24
Development
Scripts
npm start
- Start the servernpm run dev
- Start in development modenpm run build
- Build TypeScript to JavaScriptnpm test
- Run tests (when available)
Project Structure
sacred-scriptures-mcp/
โโโ src/
โ โโโ index.ts # Main server entry point
โ โโโ services/
โ โ โโโ text-manager.ts # Text management and search
โ โโโ parsers/
โ โ โโโ base.ts # Base parser interface
โ โ โโโ json.ts # JSON data parser
โ โโโ sources/
โ โ โโโ index.ts # Data source configurations
โ โโโ types/
โ โโโ index.ts # TypeScript type definitions
โโโ data/ # Sacred scripture data files
โโโ config.example.env # Example configuration
โโโ package.json # Node.js dependencies
โโโ tsconfig.json # TypeScript configuration
โโโ setup.sh # Automated setup script
Docker Support
Using Docker
- Build the Docker image:
docker build -t sacred-scriptures-mcp .
- Run the container:
docker run -p 3000:3000 -v $(pwd)/data:/app/data sacred-scriptures-mcp
Using Docker Compose
docker-compose up -d
Production Deployment
Environment Setup
- Set production environment variables:
export NODE_ENV=production
export LOG_LEVEL=warn
export DATA_PATH=/app/data
- Build for production:
npm run build
- Start with process manager:
pm2 start dist/index.js --name sacred-scriptures-mcp
Health Checks
The server includes health check endpoints:
- Status: Check server status and loaded data sources
- Metrics: Get performance metrics and statistics
Monitoring
- Server logs are written to stderr for easy collection
- Graceful shutdown handling for SIGINT and SIGTERM
- Comprehensive error handling with detailed error messages
API Examples
Search for verses about love
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_religious_texts",
"arguments": {
"query": "love",
"religion": "Christianity",
"limit": 5
}
}
}'
Get a specific verse
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_text_by_reference",
"arguments": {
"book": "John",
"chapter": 3,
"verse": 16
}
}
}'
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Adding New Sacred Scriptures
- Add the data file to the
data/
directory - Update the
TEXT_SOURCES
configuration insrc/sources/index.ts
- Create appropriate parser if needed
- Test the integration
- Update documentation
License
This project is licensed under the MIT License - see the file for details.
Acknowledgments
- Sacred scripture data sources:
- Tao Te Ching
- Tanakh
- Various public domain sacred scripture collections
Support
For support, please open an issue on GitHub or contact the maintainers.
Changelog
Version 1.0.0
- Initial release
- Support for major world religions
- Advanced search capabilities
- MCP protocol implementation
- Production-ready deployment
Note: This server is designed to work with AI assistants that support the Model Context Protocol (MCP). It provides read-only access to sacred scriptures for educational and research purposes.